diff --git a/404.html b/404.html index e2af8fb72..fcab48e0a 100644 --- a/404.html +++ b/404.html @@ -20,11 +20,11 @@ - - + +
- + diff --git a/adoption/index.html b/adoption/index.html index 504734208..33dc72c29 100644 --- a/adoption/index.html +++ b/adoption/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/assets/css/0.styles.82f86bd4.css b/assets/css/0.styles.ef20a3e7.css similarity index 99% rename from assets/css/0.styles.82f86bd4.css rename to assets/css/0.styles.ef20a3e7.css index 1ce8a7205..4c5571306 100644 --- a/assets/css/0.styles.82f86bd4.css +++ b/assets/css/0.styles.ef20a3e7.css @@ -1 +1 @@ -code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#00d1ff}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:4.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:4.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:4.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#00d1ff}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-4.1rem;padding-top:5.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:4.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.container{width:100%}@media (min-width:360px){.container{max-width:360px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1480px){.container{max-width:1480px}}.space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.divide-transparent>:not(template)~:not(template){border-color:transparent}.divide-current>:not(template)~:not(template){border-color:currentColor}.divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.divide-solid>:not(template)~:not(template){border-style:solid}.divide-dashed>:not(template)~:not(template){border-style:dashed}.divide-dotted>:not(template)~:not(template){border-style:dotted}.divide-double>:not(template)~:not(template){border-style:double}.divide-none>:not(template)~:not(template){border-style:none}.divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.appearance-none{-webkit-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-current:hover{background-color:currentColor}.hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-current:focus{background-color:currentColor}.focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.bg-none{background-image:none}.bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.to-transparent{--gradient-to-color:transparent}.to-current{--gradient-to-color:currentColor}.to-black{--gradient-to-color:#000}.to-white{--gradient-to-color:#fff}.to-gray-100{--gradient-to-color:#f7fafc}.to-gray-200{--gradient-to-color:#edf2f7}.to-gray-300{--gradient-to-color:#e2e8f0}.to-gray-400{--gradient-to-color:#cbd5e0}.to-gray-500{--gradient-to-color:#a0aec0}.to-gray-600{--gradient-to-color:#718096}.to-gray-700{--gradient-to-color:#4a5568}.to-gray-800{--gradient-to-color:#2d3748}.to-gray-900{--gradient-to-color:#1a202c}.to-red-100{--gradient-to-color:#fff5f5}.to-red-200{--gradient-to-color:#fed7d7}.to-red-300{--gradient-to-color:#feb2b2}.to-red-400{--gradient-to-color:#fc8181}.to-red-500{--gradient-to-color:#f56565}.to-red-600{--gradient-to-color:#e53e3e}.to-red-700{--gradient-to-color:#c53030}.to-red-800{--gradient-to-color:#9b2c2c}.to-red-900{--gradient-to-color:#742a2a}.to-orange-100{--gradient-to-color:#fffaf0}.to-orange-200{--gradient-to-color:#feebc8}.to-orange-300{--gradient-to-color:#fbd38d}.to-orange-400{--gradient-to-color:#f6ad55}.to-orange-500{--gradient-to-color:#ed8936}.to-orange-600{--gradient-to-color:#dd6b20}.to-orange-700{--gradient-to-color:#c05621}.to-orange-800{--gradient-to-color:#9c4221}.to-orange-900{--gradient-to-color:#7b341e}.to-yellow-100{--gradient-to-color:ivory}.to-yellow-200{--gradient-to-color:#fefcbf}.to-yellow-300{--gradient-to-color:#faf089}.to-yellow-400{--gradient-to-color:#f6e05e}.to-yellow-500{--gradient-to-color:#ecc94b}.to-yellow-600{--gradient-to-color:#d69e2e}.to-yellow-700{--gradient-to-color:#b7791f}.to-yellow-800{--gradient-to-color:#975a16}.to-yellow-900{--gradient-to-color:#744210}.to-green-100{--gradient-to-color:#f0fff4}.to-green-200{--gradient-to-color:#c6f6d5}.to-green-300{--gradient-to-color:#9ae6b4}.to-green-400{--gradient-to-color:#68d391}.to-green-500{--gradient-to-color:#48bb78}.to-green-600{--gradient-to-color:#38a169}.to-green-700{--gradient-to-color:#2f855a}.to-green-800{--gradient-to-color:#276749}.to-green-900{--gradient-to-color:#22543d}.to-teal-100{--gradient-to-color:#e6fffa}.to-teal-200{--gradient-to-color:#b2f5ea}.to-teal-300{--gradient-to-color:#81e6d9}.to-teal-400{--gradient-to-color:#4fd1c5}.to-teal-500{--gradient-to-color:#38b2ac}.to-teal-600{--gradient-to-color:#319795}.to-teal-700{--gradient-to-color:#2c7a7b}.to-teal-800{--gradient-to-color:#285e61}.to-teal-900{--gradient-to-color:#234e52}.to-blue-100{--gradient-to-color:#ebf8ff}.to-blue-200{--gradient-to-color:#bee3f8}.to-blue-300{--gradient-to-color:#90cdf4}.to-blue-400{--gradient-to-color:#63b3ed}.to-blue-500{--gradient-to-color:#4299e1}.to-blue-600{--gradient-to-color:#3182ce}.to-blue-700{--gradient-to-color:#2b6cb0}.to-blue-800{--gradient-to-color:#2c5282}.to-blue-900{--gradient-to-color:#2a4365}.to-indigo-100{--gradient-to-color:#ebf4ff}.to-indigo-200{--gradient-to-color:#c3dafe}.to-indigo-300{--gradient-to-color:#a3bffa}.to-indigo-400{--gradient-to-color:#7f9cf5}.to-indigo-500{--gradient-to-color:#667eea}.to-indigo-600{--gradient-to-color:#5a67d8}.to-indigo-700{--gradient-to-color:#4c51bf}.to-indigo-800{--gradient-to-color:#434190}.to-indigo-900{--gradient-to-color:#3c366b}.to-purple-100{--gradient-to-color:#faf5ff}.to-purple-200{--gradient-to-color:#e9d8fd}.to-purple-300{--gradient-to-color:#d6bcfa}.to-purple-400{--gradient-to-color:#b794f4}.to-purple-500{--gradient-to-color:#9f7aea}.to-purple-600{--gradient-to-color:#805ad5}.to-purple-700{--gradient-to-color:#6b46c1}.to-purple-800{--gradient-to-color:#553c9a}.to-purple-900{--gradient-to-color:#44337a}.to-pink-100{--gradient-to-color:#fff5f7}.to-pink-200{--gradient-to-color:#fed7e2}.to-pink-300{--gradient-to-color:#fbb6ce}.to-pink-400{--gradient-to-color:#f687b3}.to-pink-500{--gradient-to-color:#ed64a6}.to-pink-600{--gradient-to-color:#d53f8c}.to-pink-700{--gradient-to-color:#b83280}.to-pink-800{--gradient-to-color:#97266d}.to-pink-900{--gradient-to-color:#702459}.to-primary{--gradient-to-color:#00d1ff}.to-secondary{--gradient-to-color:#e077ff}.to-greenish-blue{--gradient-to-color:#adffed}.to-blue-gray{--gradient-to-color:#cfe1e6}.hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.hover\:to-transparent:hover{--gradient-to-color:transparent}.hover\:to-current:hover{--gradient-to-color:currentColor}.hover\:to-black:hover{--gradient-to-color:#000}.hover\:to-white:hover{--gradient-to-color:#fff}.hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.hover\:to-gray-600:hover{--gradient-to-color:#718096}.hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.hover\:to-red-400:hover{--gradient-to-color:#fc8181}.hover\:to-red-500:hover{--gradient-to-color:#f56565}.hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.hover\:to-red-700:hover{--gradient-to-color:#c53030}.hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.hover\:to-red-900:hover{--gradient-to-color:#742a2a}.hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.hover\:to-orange-700:hover{--gradient-to-color:#c05621}.hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.hover\:to-yellow-100:hover{--gradient-to-color:ivory}.hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.hover\:to-yellow-900:hover{--gradient-to-color:#744210}.hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.hover\:to-green-400:hover{--gradient-to-color:#68d391}.hover\:to-green-500:hover{--gradient-to-color:#48bb78}.hover\:to-green-600:hover{--gradient-to-color:#38a169}.hover\:to-green-700:hover{--gradient-to-color:#2f855a}.hover\:to-green-800:hover{--gradient-to-color:#276749}.hover\:to-green-900:hover{--gradient-to-color:#22543d}.hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.hover\:to-teal-600:hover{--gradient-to-color:#319795}.hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.hover\:to-teal-800:hover{--gradient-to-color:#285e61}.hover\:to-teal-900:hover{--gradient-to-color:#234e52}.hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.hover\:to-indigo-800:hover{--gradient-to-color:#434190}.hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.hover\:to-purple-900:hover{--gradient-to-color:#44337a}.hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.hover\:to-pink-700:hover{--gradient-to-color:#b83280}.hover\:to-pink-800:hover{--gradient-to-color:#97266d}.hover\:to-pink-900:hover{--gradient-to-color:#702459}.hover\:to-primary:hover{--gradient-to-color:#00d1ff}.hover\:to-secondary:hover{--gradient-to-color:#e077ff}.hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.focus\:to-transparent:focus{--gradient-to-color:transparent}.focus\:to-current:focus{--gradient-to-color:currentColor}.focus\:to-black:focus{--gradient-to-color:#000}.focus\:to-white:focus{--gradient-to-color:#fff}.focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.focus\:to-gray-600:focus{--gradient-to-color:#718096}.focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.focus\:to-red-400:focus{--gradient-to-color:#fc8181}.focus\:to-red-500:focus{--gradient-to-color:#f56565}.focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.focus\:to-red-700:focus{--gradient-to-color:#c53030}.focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.focus\:to-red-900:focus{--gradient-to-color:#742a2a}.focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.focus\:to-orange-700:focus{--gradient-to-color:#c05621}.focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.focus\:to-yellow-100:focus{--gradient-to-color:ivory}.focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.focus\:to-yellow-900:focus{--gradient-to-color:#744210}.focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.focus\:to-green-400:focus{--gradient-to-color:#68d391}.focus\:to-green-500:focus{--gradient-to-color:#48bb78}.focus\:to-green-600:focus{--gradient-to-color:#38a169}.focus\:to-green-700:focus{--gradient-to-color:#2f855a}.focus\:to-green-800:focus{--gradient-to-color:#276749}.focus\:to-green-900:focus{--gradient-to-color:#22543d}.focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.focus\:to-teal-600:focus{--gradient-to-color:#319795}.focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.focus\:to-teal-800:focus{--gradient-to-color:#285e61}.focus\:to-teal-900:focus{--gradient-to-color:#234e52}.focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.focus\:to-indigo-800:focus{--gradient-to-color:#434190}.focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.focus\:to-purple-900:focus{--gradient-to-color:#44337a}.focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.focus\:to-pink-700:focus{--gradient-to-color:#b83280}.focus\:to-pink-800:focus{--gradient-to-color:#97266d}.focus\:to-pink-900:focus{--gradient-to-color:#702459}.focus\:to-primary:focus{--gradient-to-color:#00d1ff}.focus\:to-secondary:focus{--gradient-to-color:#e077ff}.focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.bg-opacity-0{--bg-opacity:0}.bg-opacity-25{--bg-opacity:0.25}.bg-opacity-50{--bg-opacity:0.5}.bg-opacity-75{--bg-opacity:0.75}.bg-opacity-100{--bg-opacity:1}.hover\:bg-opacity-0:hover{--bg-opacity:0}.hover\:bg-opacity-25:hover{--bg-opacity:0.25}.hover\:bg-opacity-50:hover{--bg-opacity:0.5}.hover\:bg-opacity-75:hover{--bg-opacity:0.75}.hover\:bg-opacity-100:hover{--bg-opacity:1}.focus\:bg-opacity-0:focus{--bg-opacity:0}.focus\:bg-opacity-25:focus{--bg-opacity:0.25}.focus\:bg-opacity-50:focus{--bg-opacity:0.5}.focus\:bg-opacity-75:focus{--bg-opacity:0.75}.focus\:bg-opacity-100:focus{--bg-opacity:1}.bg-bottom{background-position:bottom}.bg-center{background-position:50%}.bg-left{background-position:0}.bg-left-bottom{background-position:0 100%}.bg-left-top{background-position:0 0}.bg-right{background-position:100%}.bg-right-bottom{background-position:100% 100%}.bg-right-top{background-position:100% 0}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-current:hover{border-color:currentColor}.hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-current:focus{border-color:currentColor}.focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.border-opacity-0{--border-opacity:0}.border-opacity-25{--border-opacity:0.25}.border-opacity-50{--border-opacity:0.5}.border-opacity-75{--border-opacity:0.75}.border-opacity-100{--border-opacity:1}.hover\:border-opacity-0:hover{--border-opacity:0}.hover\:border-opacity-25:hover{--border-opacity:0.25}.hover\:border-opacity-50:hover{--border-opacity:0.5}.hover\:border-opacity-75:hover{--border-opacity:0.75}.hover\:border-opacity-100:hover{--border-opacity:1}.focus\:border-opacity-0:focus{--border-opacity:0}.focus\:border-opacity-25:focus{--border-opacity:0.25}.focus\:border-opacity-50:focus{--border-opacity:0.5}.focus\:border-opacity-75:focus{--border-opacity:0.75}.focus\:border-opacity-100:focus{--border-opacity:1}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem}.rounded-r-sm,.rounded-t-sm{border-top-right-radius:.125rem}.rounded-b-sm,.rounded-r-sm{border-bottom-right-radius:.125rem}.rounded-b-sm,.rounded-l-sm{border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem}.rounded-r,.rounded-t{border-top-right-radius:.25rem}.rounded-b,.rounded-r{border-bottom-right-radius:.25rem}.rounded-b,.rounded-l{border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem}.rounded-r-md,.rounded-t-md{border-top-right-radius:.375rem}.rounded-b-md,.rounded-r-md{border-bottom-right-radius:.375rem}.rounded-b-md,.rounded-l-md{border-bottom-left-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem}.rounded-r-xl,.rounded-t-xl{border-top-right-radius:.75rem}.rounded-b-xl,.rounded-r-xl{border-bottom-right-radius:.75rem}.rounded-b-xl,.rounded-l-xl{border-bottom-left-radius:.75rem}.rounded-l-xl{border-top-left-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-r-2xl{border-top-right-radius:1rem}.rounded-b-2xl,.rounded-r-2xl{border-bottom-right-radius:1rem}.rounded-b-2xl,.rounded-l-2xl{border-bottom-left-radius:1rem}.rounded-l-2xl{border-top-left-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem}.rounded-r-3xl,.rounded-t-3xl{border-top-right-radius:1.5rem}.rounded-b-3xl,.rounded-r-3xl{border-bottom-right-radius:1.5rem}.rounded-b-3xl,.rounded-l-3xl{border-bottom-left-radius:1.5rem}.rounded-l-3xl{border-top-left-radius:1.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px}.rounded-b-full,.rounded-r-full{border-bottom-right-radius:9999px}.rounded-b-full,.rounded-l-full{border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-xl{border-top-left-radius:.75rem}.rounded-tr-xl{border-top-right-radius:.75rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-bl-xl{border-bottom-left-radius:.75rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.rounded-tr-3xl{border-top-right-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-no-wrap{flex-wrap:nowrap}.place-items-auto{place-items:auto}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-items-auto{justify-items:auto}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.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}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-hairline{font-weight:100}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\:font-hairline:hover{font-weight:100}.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-normal:hover{font-weight:400}.hover\:font-medium:hover{font-weight:500}.hover\:font-semibold:hover{font-weight:600}.hover\:font-bold:hover{font-weight:700}.hover\:font-extrabold:hover{font-weight:800}.hover\:font-black:hover{font-weight:900}.focus\:font-hairline:focus{font-weight:100}.focus\:font-thin:focus{font-weight:200}.focus\:font-light:focus{font-weight:300}.focus\:font-normal:focus{font-weight:400}.focus\:font-medium:focus{font-weight:500}.focus\:font-semibold:focus{font-weight:600}.focus\:font-bold:focus{font-weight:700}.focus\:font-extrabold:focus{font-weight:800}.focus\:font-black:focus{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-48{height:12rem}.h-56{height:14rem}.h-64{height:16rem}.h-auto{height:auto}.h-px{height:1px}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-32{margin:8rem}.m-40{margin:10rem}.m-48{margin:12rem}.m-56{margin:14rem}.m-64{margin:16rem}.m-auto{margin:auto}.m-px{margin:1px}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-8{margin:-2rem}.-m-10{margin:-2.5rem}.-m-12{margin:-3rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-32{margin:-8rem}.-m-40{margin:-10rem}.-m-48{margin:-12rem}.-m-56{margin:-14rem}.-m-64{margin:-16rem}.-m-px{margin:-1px}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-12{margin-left:3rem;margin-right:3rem}.my-16{margin-top:4rem;margin-bottom:4rem}.mx-16{margin-left:4rem;margin-right:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mx-20{margin-left:5rem;margin-right:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.mx-24{margin-left:6rem;margin-right:6rem}.my-32{margin-top:8rem;margin-bottom:8rem}.mx-32{margin-left:8rem;margin-right:8rem}.my-40{margin-top:10rem;margin-bottom:10rem}.mx-40{margin-left:10rem;margin-right:10rem}.my-48{margin-top:12rem;margin-bottom:12rem}.mx-48{margin-left:12rem;margin-right:12rem}.my-56{margin-top:14rem;margin-bottom:14rem}.mx-56{margin-left:14rem;margin-right:14rem}.my-64{margin-top:16rem;margin-bottom:16rem}.mx-64{margin-left:16rem;margin-right:16rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mr-12{margin-right:3rem}.mb-12{margin-bottom:3rem}.ml-12{margin-left:3rem}.mt-16{margin-top:4rem}.mr-16{margin-right:4rem}.mb-16{margin-bottom:4rem}.ml-16{margin-left:4rem}.mt-20{margin-top:5rem}.mr-20{margin-right:5rem}.mb-20{margin-bottom:5rem}.ml-20{margin-left:5rem}.mt-24{margin-top:6rem}.mr-24{margin-right:6rem}.mb-24{margin-bottom:6rem}.ml-24{margin-left:6rem}.mt-32{margin-top:8rem}.mr-32{margin-right:8rem}.mb-32{margin-bottom:8rem}.ml-32{margin-left:8rem}.mt-40{margin-top:10rem}.mr-40{margin-right:10rem}.mb-40{margin-bottom:10rem}.ml-40{margin-left:10rem}.mt-48{margin-top:12rem}.mr-48{margin-right:12rem}.mb-48{margin-bottom:12rem}.ml-48{margin-left:12rem}.mt-56{margin-top:14rem}.mr-56{margin-right:14rem}.mb-56{margin-bottom:14rem}.ml-56{margin-left:14rem}.mt-64{margin-top:16rem}.mr-64{margin-right:16rem}.mb-64{margin-bottom:16rem}.ml-64{margin-left:16rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-1rem}.-mt-5{margin-top:-1.25rem}.-mr-5{margin-right:-1.25rem}.-mb-5{margin-bottom:-1.25rem}.-ml-5{margin-left:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mr-6{margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.-ml-6{margin-left:-1.5rem}.-mt-8{margin-top:-2rem}.-mr-8{margin-right:-2rem}.-mb-8{margin-bottom:-2rem}.-ml-8{margin-left:-2rem}.-mt-10{margin-top:-2.5rem}.-mr-10{margin-right:-2.5rem}.-mb-10{margin-bottom:-2.5rem}.-ml-10{margin-left:-2.5rem}.-mt-12{margin-top:-3rem}.-mr-12{margin-right:-3rem}.-mb-12{margin-bottom:-3rem}.-ml-12{margin-left:-3rem}.-mt-16{margin-top:-4rem}.-mr-16{margin-right:-4rem}.-mb-16{margin-bottom:-4rem}.-ml-16{margin-left:-4rem}.-mt-20{margin-top:-5rem}.-mr-20{margin-right:-5rem}.-mb-20{margin-bottom:-5rem}.-ml-20{margin-left:-5rem}.-mt-24{margin-top:-6rem}.-mr-24{margin-right:-6rem}.-mb-24{margin-bottom:-6rem}.-ml-24{margin-left:-6rem}.-mt-32{margin-top:-8rem}.-mr-32{margin-right:-8rem}.-mb-32{margin-bottom:-8rem}.-ml-32{margin-left:-8rem}.-mt-40{margin-top:-10rem}.-mr-40{margin-right:-10rem}.-mb-40{margin-bottom:-10rem}.-ml-40{margin-left:-10rem}.-mt-48{margin-top:-12rem}.-mr-48{margin-right:-12rem}.-mb-48{margin-bottom:-12rem}.-ml-48{margin-left:-12rem}.-mt-56{margin-top:-14rem}.-mr-56{margin-right:-14rem}.-mb-56{margin-bottom:-14rem}.-ml-56{margin-left:-14rem}.-mt-64{margin-top:-16rem}.-mr-64{margin-right:-16rem}.-mb-64{margin-bottom:-16rem}.-ml-64{margin-left:-16rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-screen-xs{max-width:360px}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-xxl{max-width:1480px}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-left{-o-object-position:left;object-position:left}.object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.object-left-top{-o-object-position:left top;object-position:left top}.object-right{-o-object-position:right;object-position:right}.object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.object-right-top{-o-object-position:right top;object-position:right top}.object-top{-o-object-position:top;object-position:top}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.hover\:opacity-0:hover{opacity:0}.hover\:opacity-25:hover{opacity:.25}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-100:hover{opacity:1}.focus\:opacity-0:focus{opacity:0}.focus\:opacity-25:focus{opacity:.25}.focus\:opacity-50:focus{opacity:.5}.focus\:opacity-75:focus{opacity:.75}.focus\:opacity-100:focus{opacity:1}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-white{outline:2px dotted #fff;outline-offset:2px}.outline-black{outline:2px dotted #000;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-32{padding:8rem}.p-40{padding:10rem}.p-48{padding:12rem}.p-56{padding:14rem}.p-64{padding:16rem}.p-px{padding:1px}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-20{padding-left:5rem;padding-right:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-24{padding-left:6rem;padding-right:6rem}.py-32{padding-top:8rem;padding-bottom:8rem}.px-32{padding-left:8rem;padding-right:8rem}.py-40{padding-top:10rem;padding-bottom:10rem}.px-40{padding-left:10rem;padding-right:10rem}.py-48{padding-top:12rem;padding-bottom:12rem}.px-48{padding-left:12rem;padding-right:12rem}.py-56{padding-top:14rem;padding-bottom:14rem}.px-56{padding-left:14rem;padding-right:14rem}.py-64{padding-top:16rem;padding-bottom:16rem}.px-64{padding-left:16rem;padding-right:16rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pt-12{padding-top:3rem}.pr-12{padding-right:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.pt-16{padding-top:4rem}.pr-16{padding-right:4rem}.pb-16{padding-bottom:4rem}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pr-20{padding-right:5rem}.pb-20{padding-bottom:5rem}.pl-20{padding-left:5rem}.pt-24{padding-top:6rem}.pr-24{padding-right:6rem}.pb-24{padding-bottom:6rem}.pl-24{padding-left:6rem}.pt-32{padding-top:8rem}.pr-32{padding-right:8rem}.pb-32{padding-bottom:8rem}.pl-32{padding-left:8rem}.pt-40{padding-top:10rem}.pr-40{padding-right:10rem}.pb-40{padding-bottom:10rem}.pl-40{padding-left:10rem}.pt-48{padding-top:12rem}.pr-48{padding-right:12rem}.pb-48{padding-bottom:12rem}.pl-48{padding-left:12rem}.pt-56{padding-top:14rem}.pr-56{padding-right:14rem}.pb-56{padding-bottom:14rem}.pl-56{padding-left:14rem}.pt-64{padding-top:16rem}.pr-64{padding-right:16rem}.pb-64{padding-bottom:16rem}.pl-64{padding-left:16rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.placeholder-transparent::placeholder{color:transparent}.placeholder-current::placeholder{color:currentColor}.placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.focus\:placeholder-transparent:focus::placeholder{color:transparent}.focus\:placeholder-current:focus::placeholder{color:currentColor}.focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.placeholder-opacity-0::placeholder{--placeholder-opacity:0}.placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.placeholder-opacity-100::placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-y-0{top:0;bottom:0}.inset-x-0{right:0;left:0}.inset-y-auto{top:auto;bottom:auto}.inset-x-auto{right:auto;left:auto}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.shadow-none{box-shadow:none}.hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.hover\:shadow-none:hover{box-shadow:none}.focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.focus\:shadow-none:focus{box-shadow:none}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-transparent{color:transparent}.text-current{color:currentColor}.text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.hover\:text-transparent:hover{color:transparent}.hover\:text-current:hover{color:currentColor}.hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.focus\:text-transparent:focus{color:transparent}.focus\:text-current:focus{color:currentColor}.focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.text-opacity-0{--text-opacity:0}.text-opacity-25{--text-opacity:0.25}.text-opacity-50{--text-opacity:0.5}.text-opacity-75{--text-opacity:0.75}.text-opacity-100{--text-opacity:1}.hover\:text-opacity-0:hover{--text-opacity:0}.hover\:text-opacity-25:hover{--text-opacity:0.25}.hover\:text-opacity-50:hover{--text-opacity:0.5}.hover\:text-opacity-75:hover{--text-opacity:0.75}.hover\:text-opacity-100:hover{--text-opacity:1}.focus\:text-opacity-0:focus{--text-opacity:0}.focus\:text-opacity-25:focus{--text-opacity:0.25}.focus\:text-opacity-50:focus{--text-opacity:0.5}.focus\:text-opacity-75:focus{--text-opacity:0.75}.focus\:text-opacity-100:focus{--text-opacity:1}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.focus\:underline:focus{text-decoration:underline}.focus\:line-through:focus{text-decoration:line-through}.focus\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.diagonal-fractions,.lining-nums,.oldstyle-nums,.ordinal,.proportional-nums,.slashed-zero,.stacked-fractions,.tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.normal-nums{font-variant-numeric:normal}.ordinal{--font-variant-numeric-ordinal:ordinal}.slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.lining-nums{--font-variant-numeric-figure:lining-nums}.oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.proportional-nums{--font-variant-numeric-spacing:proportional-nums}.tabular-nums{--font-variant-numeric-spacing:tabular-nums}.diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.break-words{word-wrap:break-word;overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-auto{width:auto}.w-px{width:1px}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.gap-0{grid-gap:0;gap:0}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-5{grid-gap:1.25rem;gap:1.25rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-10{grid-gap:2.5rem;gap:2.5rem}.gap-12{grid-gap:3rem;gap:3rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-20{grid-gap:5rem;gap:5rem}.gap-24{grid-gap:6rem;gap:6rem}.gap-32{grid-gap:8rem;gap:8rem}.gap-40{grid-gap:10rem;gap:10rem}.gap-48{grid-gap:12rem;gap:12rem}.gap-56{grid-gap:14rem;gap:14rem}.gap-64{grid-gap:16rem;gap:16rem}.gap-px{grid-gap:1px;gap:1px}.col-gap-0{grid-column-gap:0;column-gap:0}.col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.col-gap-4{grid-column-gap:1rem;column-gap:1rem}.col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.col-gap-8{grid-column-gap:2rem;column-gap:2rem}.col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.col-gap-12{grid-column-gap:3rem;column-gap:3rem}.col-gap-16{grid-column-gap:4rem;column-gap:4rem}.col-gap-20{grid-column-gap:5rem;column-gap:5rem}.col-gap-24{grid-column-gap:6rem;column-gap:6rem}.col-gap-32{grid-column-gap:8rem;column-gap:8rem}.col-gap-40{grid-column-gap:10rem;column-gap:10rem}.col-gap-48{grid-column-gap:12rem;column-gap:12rem}.col-gap-56{grid-column-gap:14rem;column-gap:14rem}.col-gap-64{grid-column-gap:16rem;column-gap:16rem}.col-gap-px{grid-column-gap:1px;column-gap:1px}.gap-x-0{grid-column-gap:0;column-gap:0}.gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.gap-x-4{grid-column-gap:1rem;column-gap:1rem}.gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{grid-column-gap:2rem;column-gap:2rem}.gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{grid-column-gap:3rem;column-gap:3rem}.gap-x-16{grid-column-gap:4rem;column-gap:4rem}.gap-x-20{grid-column-gap:5rem;column-gap:5rem}.gap-x-24{grid-column-gap:6rem;column-gap:6rem}.gap-x-32{grid-column-gap:8rem;column-gap:8rem}.gap-x-40{grid-column-gap:10rem;column-gap:10rem}.gap-x-48{grid-column-gap:12rem;column-gap:12rem}.gap-x-56{grid-column-gap:14rem;column-gap:14rem}.gap-x-64{grid-column-gap:16rem;column-gap:16rem}.gap-x-px{grid-column-gap:1px;column-gap:1px}.row-gap-0{grid-row-gap:0;row-gap:0}.row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.row-gap-4{grid-row-gap:1rem;row-gap:1rem}.row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.row-gap-8{grid-row-gap:2rem;row-gap:2rem}.row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.row-gap-12{grid-row-gap:3rem;row-gap:3rem}.row-gap-16{grid-row-gap:4rem;row-gap:4rem}.row-gap-20{grid-row-gap:5rem;row-gap:5rem}.row-gap-24{grid-row-gap:6rem;row-gap:6rem}.row-gap-32{grid-row-gap:8rem;row-gap:8rem}.row-gap-40{grid-row-gap:10rem;row-gap:10rem}.row-gap-48{grid-row-gap:12rem;row-gap:12rem}.row-gap-56{grid-row-gap:14rem;row-gap:14rem}.row-gap-64{grid-row-gap:16rem;row-gap:16rem}.row-gap-px{grid-row-gap:1px;row-gap:1px}.gap-y-0{grid-row-gap:0;row-gap:0}.gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.gap-y-4{grid-row-gap:1rem;row-gap:1rem}.gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.gap-y-8{grid-row-gap:2rem;row-gap:2rem}.gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.gap-y-12{grid-row-gap:3rem;row-gap:3rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.gap-y-20{grid-row-gap:5rem;row-gap:5rem}.gap-y-24{grid-row-gap:6rem;row-gap:6rem}.gap-y-32{grid-row-gap:8rem;row-gap:8rem}.gap-y-40{grid-row-gap:10rem;row-gap:10rem}.gap-y-48{grid-row-gap:12rem;row-gap:12rem}.gap-y-56{grid-row-gap:14rem;row-gap:14rem}.gap-y-64{grid-row-gap:16rem;row-gap:16rem}.gap-y-px{grid-row-gap:1px;row-gap:1px}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-max{grid-auto-rows:max-content}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.transform-none{transform:none}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.scale-0{--transform-scale-x:0;--transform-scale-y:0}.scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.scale-x-0{--transform-scale-x:0}.scale-x-50{--transform-scale-x:.5}.scale-x-75{--transform-scale-x:.75}.scale-x-90{--transform-scale-x:.9}.scale-x-95{--transform-scale-x:.95}.scale-x-100{--transform-scale-x:1}.scale-x-105{--transform-scale-x:1.05}.scale-x-110{--transform-scale-x:1.1}.scale-x-125{--transform-scale-x:1.25}.scale-x-150{--transform-scale-x:1.5}.scale-y-0{--transform-scale-y:0}.scale-y-50{--transform-scale-y:.5}.scale-y-75{--transform-scale-y:.75}.scale-y-90{--transform-scale-y:.9}.scale-y-95{--transform-scale-y:.95}.scale-y-100{--transform-scale-y:1}.scale-y-105{--transform-scale-y:1.05}.scale-y-110{--transform-scale-y:1.1}.scale-y-125{--transform-scale-y:1.25}.scale-y-150{--transform-scale-y:1.5}.hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.hover\:scale-x-0:hover{--transform-scale-x:0}.hover\:scale-x-50:hover{--transform-scale-x:.5}.hover\:scale-x-75:hover{--transform-scale-x:.75}.hover\:scale-x-90:hover{--transform-scale-x:.9}.hover\:scale-x-95:hover{--transform-scale-x:.95}.hover\:scale-x-100:hover{--transform-scale-x:1}.hover\:scale-x-105:hover{--transform-scale-x:1.05}.hover\:scale-x-110:hover{--transform-scale-x:1.1}.hover\:scale-x-125:hover{--transform-scale-x:1.25}.hover\:scale-x-150:hover{--transform-scale-x:1.5}.hover\:scale-y-0:hover{--transform-scale-y:0}.hover\:scale-y-50:hover{--transform-scale-y:.5}.hover\:scale-y-75:hover{--transform-scale-y:.75}.hover\:scale-y-90:hover{--transform-scale-y:.9}.hover\:scale-y-95:hover{--transform-scale-y:.95}.hover\:scale-y-100:hover{--transform-scale-y:1}.hover\:scale-y-105:hover{--transform-scale-y:1.05}.hover\:scale-y-110:hover{--transform-scale-y:1.1}.hover\:scale-y-125:hover{--transform-scale-y:1.25}.hover\:scale-y-150:hover{--transform-scale-y:1.5}.focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.focus\:scale-x-0:focus{--transform-scale-x:0}.focus\:scale-x-50:focus{--transform-scale-x:.5}.focus\:scale-x-75:focus{--transform-scale-x:.75}.focus\:scale-x-90:focus{--transform-scale-x:.9}.focus\:scale-x-95:focus{--transform-scale-x:.95}.focus\:scale-x-100:focus{--transform-scale-x:1}.focus\:scale-x-105:focus{--transform-scale-x:1.05}.focus\:scale-x-110:focus{--transform-scale-x:1.1}.focus\:scale-x-125:focus{--transform-scale-x:1.25}.focus\:scale-x-150:focus{--transform-scale-x:1.5}.focus\:scale-y-0:focus{--transform-scale-y:0}.focus\:scale-y-50:focus{--transform-scale-y:.5}.focus\:scale-y-75:focus{--transform-scale-y:.75}.focus\:scale-y-90:focus{--transform-scale-y:.9}.focus\:scale-y-95:focus{--transform-scale-y:.95}.focus\:scale-y-100:focus{--transform-scale-y:1}.focus\:scale-y-105:focus{--transform-scale-y:1.05}.focus\:scale-y-110:focus{--transform-scale-y:1.1}.focus\:scale-y-125:focus{--transform-scale-y:1.25}.focus\:scale-y-150:focus{--transform-scale-y:1.5}.rotate-0{--transform-rotate:0}.rotate-1{--transform-rotate:1deg}.rotate-2{--transform-rotate:2deg}.rotate-3{--transform-rotate:3deg}.rotate-6{--transform-rotate:6deg}.rotate-12{--transform-rotate:12deg}.rotate-45{--transform-rotate:45deg}.rotate-90{--transform-rotate:90deg}.rotate-180{--transform-rotate:180deg}.-rotate-180{--transform-rotate:-180deg}.-rotate-90{--transform-rotate:-90deg}.-rotate-45{--transform-rotate:-45deg}.-rotate-12{--transform-rotate:-12deg}.-rotate-6{--transform-rotate:-6deg}.-rotate-3{--transform-rotate:-3deg}.-rotate-2{--transform-rotate:-2deg}.-rotate-1{--transform-rotate:-1deg}.hover\:rotate-0:hover{--transform-rotate:0}.hover\:rotate-1:hover{--transform-rotate:1deg}.hover\:rotate-2:hover{--transform-rotate:2deg}.hover\:rotate-3:hover{--transform-rotate:3deg}.hover\:rotate-6:hover{--transform-rotate:6deg}.hover\:rotate-12:hover{--transform-rotate:12deg}.hover\:rotate-45:hover{--transform-rotate:45deg}.hover\:rotate-90:hover{--transform-rotate:90deg}.hover\:rotate-180:hover{--transform-rotate:180deg}.hover\:-rotate-180:hover{--transform-rotate:-180deg}.hover\:-rotate-90:hover{--transform-rotate:-90deg}.hover\:-rotate-45:hover{--transform-rotate:-45deg}.hover\:-rotate-12:hover{--transform-rotate:-12deg}.hover\:-rotate-6:hover{--transform-rotate:-6deg}.hover\:-rotate-3:hover{--transform-rotate:-3deg}.hover\:-rotate-2:hover{--transform-rotate:-2deg}.hover\:-rotate-1:hover{--transform-rotate:-1deg}.focus\:rotate-0:focus{--transform-rotate:0}.focus\:rotate-1:focus{--transform-rotate:1deg}.focus\:rotate-2:focus{--transform-rotate:2deg}.focus\:rotate-3:focus{--transform-rotate:3deg}.focus\:rotate-6:focus{--transform-rotate:6deg}.focus\:rotate-12:focus{--transform-rotate:12deg}.focus\:rotate-45:focus{--transform-rotate:45deg}.focus\:rotate-90:focus{--transform-rotate:90deg}.focus\:rotate-180:focus{--transform-rotate:180deg}.focus\:-rotate-180:focus{--transform-rotate:-180deg}.focus\:-rotate-90:focus{--transform-rotate:-90deg}.focus\:-rotate-45:focus{--transform-rotate:-45deg}.focus\:-rotate-12:focus{--transform-rotate:-12deg}.focus\:-rotate-6:focus{--transform-rotate:-6deg}.focus\:-rotate-3:focus{--transform-rotate:-3deg}.focus\:-rotate-2:focus{--transform-rotate:-2deg}.focus\:-rotate-1:focus{--transform-rotate:-1deg}.translate-x-0{--transform-translate-x:0}.translate-x-1{--transform-translate-x:0.25rem}.translate-x-2{--transform-translate-x:0.5rem}.translate-x-3{--transform-translate-x:0.75rem}.translate-x-4{--transform-translate-x:1rem}.translate-x-5{--transform-translate-x:1.25rem}.translate-x-6{--transform-translate-x:1.5rem}.translate-x-8{--transform-translate-x:2rem}.translate-x-10{--transform-translate-x:2.5rem}.translate-x-12{--transform-translate-x:3rem}.translate-x-16{--transform-translate-x:4rem}.translate-x-20{--transform-translate-x:5rem}.translate-x-24{--transform-translate-x:6rem}.translate-x-32{--transform-translate-x:8rem}.translate-x-40{--transform-translate-x:10rem}.translate-x-48{--transform-translate-x:12rem}.translate-x-56{--transform-translate-x:14rem}.translate-x-64{--transform-translate-x:16rem}.translate-x-px{--transform-translate-x:1px}.-translate-x-1{--transform-translate-x:-0.25rem}.-translate-x-2{--transform-translate-x:-0.5rem}.-translate-x-3{--transform-translate-x:-0.75rem}.-translate-x-4{--transform-translate-x:-1rem}.-translate-x-5{--transform-translate-x:-1.25rem}.-translate-x-6{--transform-translate-x:-1.5rem}.-translate-x-8{--transform-translate-x:-2rem}.-translate-x-10{--transform-translate-x:-2.5rem}.-translate-x-12{--transform-translate-x:-3rem}.-translate-x-16{--transform-translate-x:-4rem}.-translate-x-20{--transform-translate-x:-5rem}.-translate-x-24{--transform-translate-x:-6rem}.-translate-x-32{--transform-translate-x:-8rem}.-translate-x-40{--transform-translate-x:-10rem}.-translate-x-48{--transform-translate-x:-12rem}.-translate-x-56{--transform-translate-x:-14rem}.-translate-x-64{--transform-translate-x:-16rem}.-translate-x-px{--transform-translate-x:-1px}.-translate-x-full{--transform-translate-x:-100%}.-translate-x-1\/2{--transform-translate-x:-50%}.translate-x-1\/2{--transform-translate-x:50%}.translate-x-full{--transform-translate-x:100%}.translate-y-0{--transform-translate-y:0}.translate-y-1{--transform-translate-y:0.25rem}.translate-y-2{--transform-translate-y:0.5rem}.translate-y-3{--transform-translate-y:0.75rem}.translate-y-4{--transform-translate-y:1rem}.translate-y-5{--transform-translate-y:1.25rem}.translate-y-6{--transform-translate-y:1.5rem}.translate-y-8{--transform-translate-y:2rem}.translate-y-10{--transform-translate-y:2.5rem}.translate-y-12{--transform-translate-y:3rem}.translate-y-16{--transform-translate-y:4rem}.translate-y-20{--transform-translate-y:5rem}.translate-y-24{--transform-translate-y:6rem}.translate-y-32{--transform-translate-y:8rem}.translate-y-40{--transform-translate-y:10rem}.translate-y-48{--transform-translate-y:12rem}.translate-y-56{--transform-translate-y:14rem}.translate-y-64{--transform-translate-y:16rem}.translate-y-px{--transform-translate-y:1px}.-translate-y-1{--transform-translate-y:-0.25rem}.-translate-y-2{--transform-translate-y:-0.5rem}.-translate-y-3{--transform-translate-y:-0.75rem}.-translate-y-4{--transform-translate-y:-1rem}.-translate-y-5{--transform-translate-y:-1.25rem}.-translate-y-6{--transform-translate-y:-1.5rem}.-translate-y-8{--transform-translate-y:-2rem}.-translate-y-10{--transform-translate-y:-2.5rem}.-translate-y-12{--transform-translate-y:-3rem}.-translate-y-16{--transform-translate-y:-4rem}.-translate-y-20{--transform-translate-y:-5rem}.-translate-y-24{--transform-translate-y:-6rem}.-translate-y-32{--transform-translate-y:-8rem}.-translate-y-40{--transform-translate-y:-10rem}.-translate-y-48{--transform-translate-y:-12rem}.-translate-y-56{--transform-translate-y:-14rem}.-translate-y-64{--transform-translate-y:-16rem}.-translate-y-px{--transform-translate-y:-1px}.-translate-y-full{--transform-translate-y:-100%}.-translate-y-1\/2{--transform-translate-y:-50%}.translate-y-1\/2{--transform-translate-y:50%}.translate-y-full{--transform-translate-y:100%}.hover\:translate-x-0:hover{--transform-translate-x:0}.hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.hover\:translate-x-4:hover{--transform-translate-x:1rem}.hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.hover\:translate-x-8:hover{--transform-translate-x:2rem}.hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.hover\:translate-x-12:hover{--transform-translate-x:3rem}.hover\:translate-x-16:hover{--transform-translate-x:4rem}.hover\:translate-x-20:hover{--transform-translate-x:5rem}.hover\:translate-x-24:hover{--transform-translate-x:6rem}.hover\:translate-x-32:hover{--transform-translate-x:8rem}.hover\:translate-x-40:hover{--transform-translate-x:10rem}.hover\:translate-x-48:hover{--transform-translate-x:12rem}.hover\:translate-x-56:hover{--transform-translate-x:14rem}.hover\:translate-x-64:hover{--transform-translate-x:16rem}.hover\:translate-x-px:hover{--transform-translate-x:1px}.hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.hover\:-translate-x-px:hover{--transform-translate-x:-1px}.hover\:-translate-x-full:hover{--transform-translate-x:-100%}.hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.hover\:translate-x-full:hover{--transform-translate-x:100%}.hover\:translate-y-0:hover{--transform-translate-y:0}.hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.hover\:translate-y-4:hover{--transform-translate-y:1rem}.hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.hover\:translate-y-8:hover{--transform-translate-y:2rem}.hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.hover\:translate-y-12:hover{--transform-translate-y:3rem}.hover\:translate-y-16:hover{--transform-translate-y:4rem}.hover\:translate-y-20:hover{--transform-translate-y:5rem}.hover\:translate-y-24:hover{--transform-translate-y:6rem}.hover\:translate-y-32:hover{--transform-translate-y:8rem}.hover\:translate-y-40:hover{--transform-translate-y:10rem}.hover\:translate-y-48:hover{--transform-translate-y:12rem}.hover\:translate-y-56:hover{--transform-translate-y:14rem}.hover\:translate-y-64:hover{--transform-translate-y:16rem}.hover\:translate-y-px:hover{--transform-translate-y:1px}.hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.hover\:-translate-y-px:hover{--transform-translate-y:-1px}.hover\:-translate-y-full:hover{--transform-translate-y:-100%}.hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.hover\:translate-y-full:hover{--transform-translate-y:100%}.focus\:translate-x-0:focus{--transform-translate-x:0}.focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.focus\:translate-x-4:focus{--transform-translate-x:1rem}.focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.focus\:translate-x-8:focus{--transform-translate-x:2rem}.focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.focus\:translate-x-12:focus{--transform-translate-x:3rem}.focus\:translate-x-16:focus{--transform-translate-x:4rem}.focus\:translate-x-20:focus{--transform-translate-x:5rem}.focus\:translate-x-24:focus{--transform-translate-x:6rem}.focus\:translate-x-32:focus{--transform-translate-x:8rem}.focus\:translate-x-40:focus{--transform-translate-x:10rem}.focus\:translate-x-48:focus{--transform-translate-x:12rem}.focus\:translate-x-56:focus{--transform-translate-x:14rem}.focus\:translate-x-64:focus{--transform-translate-x:16rem}.focus\:translate-x-px:focus{--transform-translate-x:1px}.focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.focus\:-translate-x-px:focus{--transform-translate-x:-1px}.focus\:-translate-x-full:focus{--transform-translate-x:-100%}.focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.focus\:translate-x-full:focus{--transform-translate-x:100%}.focus\:translate-y-0:focus{--transform-translate-y:0}.focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.focus\:translate-y-4:focus{--transform-translate-y:1rem}.focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.focus\:translate-y-8:focus{--transform-translate-y:2rem}.focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.focus\:translate-y-12:focus{--transform-translate-y:3rem}.focus\:translate-y-16:focus{--transform-translate-y:4rem}.focus\:translate-y-20:focus{--transform-translate-y:5rem}.focus\:translate-y-24:focus{--transform-translate-y:6rem}.focus\:translate-y-32:focus{--transform-translate-y:8rem}.focus\:translate-y-40:focus{--transform-translate-y:10rem}.focus\:translate-y-48:focus{--transform-translate-y:12rem}.focus\:translate-y-56:focus{--transform-translate-y:14rem}.focus\:translate-y-64:focus{--transform-translate-y:16rem}.focus\:translate-y-px:focus{--transform-translate-y:1px}.focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.focus\:-translate-y-px:focus{--transform-translate-y:-1px}.focus\:-translate-y-full:focus{--transform-translate-y:-100%}.focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.focus\:translate-y-full:focus{--transform-translate-y:100%}.skew-x-0{--transform-skew-x:0}.skew-x-1{--transform-skew-x:1deg}.skew-x-2{--transform-skew-x:2deg}.skew-x-3{--transform-skew-x:3deg}.skew-x-6{--transform-skew-x:6deg}.skew-x-12{--transform-skew-x:12deg}.-skew-x-12{--transform-skew-x:-12deg}.-skew-x-6{--transform-skew-x:-6deg}.-skew-x-3{--transform-skew-x:-3deg}.-skew-x-2{--transform-skew-x:-2deg}.-skew-x-1{--transform-skew-x:-1deg}.skew-y-0{--transform-skew-y:0}.skew-y-1{--transform-skew-y:1deg}.skew-y-2{--transform-skew-y:2deg}.skew-y-3{--transform-skew-y:3deg}.skew-y-6{--transform-skew-y:6deg}.skew-y-12{--transform-skew-y:12deg}.-skew-y-12{--transform-skew-y:-12deg}.-skew-y-6{--transform-skew-y:-6deg}.-skew-y-3{--transform-skew-y:-3deg}.-skew-y-2{--transform-skew-y:-2deg}.-skew-y-1{--transform-skew-y:-1deg}.hover\:skew-x-0:hover{--transform-skew-x:0}.hover\:skew-x-1:hover{--transform-skew-x:1deg}.hover\:skew-x-2:hover{--transform-skew-x:2deg}.hover\:skew-x-3:hover{--transform-skew-x:3deg}.hover\:skew-x-6:hover{--transform-skew-x:6deg}.hover\:skew-x-12:hover{--transform-skew-x:12deg}.hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.hover\:skew-y-0:hover{--transform-skew-y:0}.hover\:skew-y-1:hover{--transform-skew-y:1deg}.hover\:skew-y-2:hover{--transform-skew-y:2deg}.hover\:skew-y-3:hover{--transform-skew-y:3deg}.hover\:skew-y-6:hover{--transform-skew-y:6deg}.hover\:skew-y-12:hover{--transform-skew-y:12deg}.hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.focus\:skew-x-0:focus{--transform-skew-x:0}.focus\:skew-x-1:focus{--transform-skew-x:1deg}.focus\:skew-x-2:focus{--transform-skew-x:2deg}.focus\:skew-x-3:focus{--transform-skew-x:3deg}.focus\:skew-x-6:focus{--transform-skew-x:6deg}.focus\:skew-x-12:focus{--transform-skew-x:12deg}.focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.focus\:skew-y-0:focus{--transform-skew-y:0}.focus\:skew-y-1:focus{--transform-skew-y:1deg}.focus\:skew-y-2:focus{--transform-skew-y:2deg}.focus\:skew-y-3:focus{--transform-skew-y:3deg}.focus\:skew-y-6:focus{--transform-skew-y:6deg}.focus\:skew-y-12:focus{--transform-skew-y:12deg}.focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.transition-none{transition-property:none}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-colors{transition-property:background-color,border-color,color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-shadow{transition-property:box-shadow}.transition-transform{transition-property:transform}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-1000{transition-duration:1s}.delay-75{transition-delay:75ms}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.delay-1000{transition-delay:1s}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-none{animation:none}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}body{font-family:HK Grotesk,sans-serif;max-width:1920px;margin:0 auto;color:#000}.navbar{border-bottom:1px solid #f8f8f8;color:#000}.navbar .site-name{display:none}.dropdown-wrapper .dropdown-title{pointer-events:none}@media (max-width:720px){.dropdown-wrapper .dropdown-title{pointer-events:auto;outline:none}}.dropdown-wrapper span{color:#000}.theme-default-content:not(.custom){max-width:992px!important}img.logo{padding-left:10px}h1,h2,h3,p>span{font-weight:700;color:#000}.custom-block.tip{background-color:#f3f5f7}.bg-circle-right{position:relative}.bg-circle-right:before{content:"";position:absolute;top:10%;left:60%;transform:translate(-20%);width:30rem;height:30rem;background-color:#00d1ff;border-radius:50%;filter:blur(8.4375rem);-webkit-filter:blur(8.4375rem);mix-blend-mode:darken}.bg-circle-left{position:relative}.bg-circle-left:before{content:"";position:absolute;top:20%;left:40%;transform:translate(-80%);width:30rem;height:30rem;background-color:#e077ff;border-radius:50%;filter:blur(8.4375rem);-webkit-filter:blur(8.4375rem);mix-blend-mode:darken}@media (min-width:360px){.xs\:container{width:100%;max-width:360px}@media (min-width:640px){.xs\:container{max-width:640px}}@media (min-width:768px){.xs\:container{max-width:768px}}@media (min-width:1024px){.xs\:container{max-width:1024px}}@media (min-width:1280px){.xs\:container{max-width:1280px}}@media (min-width:1480px){.xs\:container{max-width:1480px}}.xs\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xs\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xs\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xs\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xs\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xs\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xs\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xs\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xs\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xs\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xs\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xs\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xs\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xs\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xs\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xs\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xs\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xs\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xs\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xs\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xs\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xs\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xs\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xs\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xs\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xs\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xs\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xs\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xs\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xs\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xs\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xs\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xs\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xs\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xs\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xs\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xs\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xs\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xs\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xs\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xs\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xs\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xs\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xs\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xs\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xs\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xs\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xs\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xs\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xs\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xs\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xs\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xs\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xs\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xs\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xs\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xs\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xs\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xs\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xs\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xs\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xs\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xs\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xs\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xs\:divide-current>:not(template)~:not(template){border-color:currentColor}.xs\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xs\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xs\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xs\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xs\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xs\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xs\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xs\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xs\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xs\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xs\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xs\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xs\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xs\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xs\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xs\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xs\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xs\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xs\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xs\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xs\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xs\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xs\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xs\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xs\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xs\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xs\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xs\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xs\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xs\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xs\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xs\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xs\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xs\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xs\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xs\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xs\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xs\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xs\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xs\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xs\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xs\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xs\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xs\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xs\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xs\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xs\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xs\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xs\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xs\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xs\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xs\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xs\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xs\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xs\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xs\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xs\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xs\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xs\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xs\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xs\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xs\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xs\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xs\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xs\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xs\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xs\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xs\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xs\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xs\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xs\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xs\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xs\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xs\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xs\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xs\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xs\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xs\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xs\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xs\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xs\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xs\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xs\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xs\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xs\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xs\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xs\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xs\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xs\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xs\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xs\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xs\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xs\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xs\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xs\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xs\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xs\:divide-solid>:not(template)~:not(template){border-style:solid}.xs\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xs\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xs\:divide-double>:not(template)~:not(template){border-style:double}.xs\:divide-none>:not(template)~:not(template){border-style:none}.xs\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xs\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xs\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xs\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xs\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xs\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xs\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xs\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xs\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xs\:appearance-none{-webkit-appearance:none;appearance:none}.xs\:bg-fixed{background-attachment:fixed}.xs\:bg-local{background-attachment:local}.xs\:bg-scroll{background-attachment:scroll}.xs\:bg-clip-border{background-clip:border-box}.xs\:bg-clip-padding{background-clip:padding-box}.xs\:bg-clip-content{background-clip:content-box}.xs\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xs\:bg-transparent{background-color:transparent}.xs\:bg-current{background-color:currentColor}.xs\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:hover\:bg-transparent:hover{background-color:transparent}.xs\:hover\:bg-current:hover{background-color:currentColor}.xs\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:focus\:bg-transparent:focus{background-color:transparent}.xs\:focus\:bg-current:focus{background-color:currentColor}.xs\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:bg-none{background-image:none}.xs\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xs\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xs\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xs\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xs\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:to-transparent{--gradient-to-color:transparent}.xs\:to-current{--gradient-to-color:currentColor}.xs\:to-black{--gradient-to-color:#000}.xs\:to-white{--gradient-to-color:#fff}.xs\:to-gray-100{--gradient-to-color:#f7fafc}.xs\:to-gray-200{--gradient-to-color:#edf2f7}.xs\:to-gray-300{--gradient-to-color:#e2e8f0}.xs\:to-gray-400{--gradient-to-color:#cbd5e0}.xs\:to-gray-500{--gradient-to-color:#a0aec0}.xs\:to-gray-600{--gradient-to-color:#718096}.xs\:to-gray-700{--gradient-to-color:#4a5568}.xs\:to-gray-800{--gradient-to-color:#2d3748}.xs\:to-gray-900{--gradient-to-color:#1a202c}.xs\:to-red-100{--gradient-to-color:#fff5f5}.xs\:to-red-200{--gradient-to-color:#fed7d7}.xs\:to-red-300{--gradient-to-color:#feb2b2}.xs\:to-red-400{--gradient-to-color:#fc8181}.xs\:to-red-500{--gradient-to-color:#f56565}.xs\:to-red-600{--gradient-to-color:#e53e3e}.xs\:to-red-700{--gradient-to-color:#c53030}.xs\:to-red-800{--gradient-to-color:#9b2c2c}.xs\:to-red-900{--gradient-to-color:#742a2a}.xs\:to-orange-100{--gradient-to-color:#fffaf0}.xs\:to-orange-200{--gradient-to-color:#feebc8}.xs\:to-orange-300{--gradient-to-color:#fbd38d}.xs\:to-orange-400{--gradient-to-color:#f6ad55}.xs\:to-orange-500{--gradient-to-color:#ed8936}.xs\:to-orange-600{--gradient-to-color:#dd6b20}.xs\:to-orange-700{--gradient-to-color:#c05621}.xs\:to-orange-800{--gradient-to-color:#9c4221}.xs\:to-orange-900{--gradient-to-color:#7b341e}.xs\:to-yellow-100{--gradient-to-color:ivory}.xs\:to-yellow-200{--gradient-to-color:#fefcbf}.xs\:to-yellow-300{--gradient-to-color:#faf089}.xs\:to-yellow-400{--gradient-to-color:#f6e05e}.xs\:to-yellow-500{--gradient-to-color:#ecc94b}.xs\:to-yellow-600{--gradient-to-color:#d69e2e}.xs\:to-yellow-700{--gradient-to-color:#b7791f}.xs\:to-yellow-800{--gradient-to-color:#975a16}.xs\:to-yellow-900{--gradient-to-color:#744210}.xs\:to-green-100{--gradient-to-color:#f0fff4}.xs\:to-green-200{--gradient-to-color:#c6f6d5}.xs\:to-green-300{--gradient-to-color:#9ae6b4}.xs\:to-green-400{--gradient-to-color:#68d391}.xs\:to-green-500{--gradient-to-color:#48bb78}.xs\:to-green-600{--gradient-to-color:#38a169}.xs\:to-green-700{--gradient-to-color:#2f855a}.xs\:to-green-800{--gradient-to-color:#276749}.xs\:to-green-900{--gradient-to-color:#22543d}.xs\:to-teal-100{--gradient-to-color:#e6fffa}.xs\:to-teal-200{--gradient-to-color:#b2f5ea}.xs\:to-teal-300{--gradient-to-color:#81e6d9}.xs\:to-teal-400{--gradient-to-color:#4fd1c5}.xs\:to-teal-500{--gradient-to-color:#38b2ac}.xs\:to-teal-600{--gradient-to-color:#319795}.xs\:to-teal-700{--gradient-to-color:#2c7a7b}.xs\:to-teal-800{--gradient-to-color:#285e61}.xs\:to-teal-900{--gradient-to-color:#234e52}.xs\:to-blue-100{--gradient-to-color:#ebf8ff}.xs\:to-blue-200{--gradient-to-color:#bee3f8}.xs\:to-blue-300{--gradient-to-color:#90cdf4}.xs\:to-blue-400{--gradient-to-color:#63b3ed}.xs\:to-blue-500{--gradient-to-color:#4299e1}.xs\:to-blue-600{--gradient-to-color:#3182ce}.xs\:to-blue-700{--gradient-to-color:#2b6cb0}.xs\:to-blue-800{--gradient-to-color:#2c5282}.xs\:to-blue-900{--gradient-to-color:#2a4365}.xs\:to-indigo-100{--gradient-to-color:#ebf4ff}.xs\:to-indigo-200{--gradient-to-color:#c3dafe}.xs\:to-indigo-300{--gradient-to-color:#a3bffa}.xs\:to-indigo-400{--gradient-to-color:#7f9cf5}.xs\:to-indigo-500{--gradient-to-color:#667eea}.xs\:to-indigo-600{--gradient-to-color:#5a67d8}.xs\:to-indigo-700{--gradient-to-color:#4c51bf}.xs\:to-indigo-800{--gradient-to-color:#434190}.xs\:to-indigo-900{--gradient-to-color:#3c366b}.xs\:to-purple-100{--gradient-to-color:#faf5ff}.xs\:to-purple-200{--gradient-to-color:#e9d8fd}.xs\:to-purple-300{--gradient-to-color:#d6bcfa}.xs\:to-purple-400{--gradient-to-color:#b794f4}.xs\:to-purple-500{--gradient-to-color:#9f7aea}.xs\:to-purple-600{--gradient-to-color:#805ad5}.xs\:to-purple-700{--gradient-to-color:#6b46c1}.xs\:to-purple-800{--gradient-to-color:#553c9a}.xs\:to-purple-900{--gradient-to-color:#44337a}.xs\:to-pink-100{--gradient-to-color:#fff5f7}.xs\:to-pink-200{--gradient-to-color:#fed7e2}.xs\:to-pink-300{--gradient-to-color:#fbb6ce}.xs\:to-pink-400{--gradient-to-color:#f687b3}.xs\:to-pink-500{--gradient-to-color:#ed64a6}.xs\:to-pink-600{--gradient-to-color:#d53f8c}.xs\:to-pink-700{--gradient-to-color:#b83280}.xs\:to-pink-800{--gradient-to-color:#97266d}.xs\:to-pink-900{--gradient-to-color:#702459}.xs\:to-primary{--gradient-to-color:#00d1ff}.xs\:to-secondary{--gradient-to-color:#e077ff}.xs\:to-greenish-blue{--gradient-to-color:#adffed}.xs\:to-blue-gray{--gradient-to-color:#cfe1e6}.xs\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xs\:hover\:to-current:hover{--gradient-to-color:currentColor}.xs\:hover\:to-black:hover{--gradient-to-color:#000}.xs\:hover\:to-white:hover{--gradient-to-color:#fff}.xs\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xs\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xs\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xs\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xs\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xs\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xs\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xs\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xs\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xs\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xs\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xs\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xs\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xs\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xs\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xs\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xs\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xs\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xs\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xs\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xs\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xs\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xs\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xs\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xs\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xs\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xs\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xs\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xs\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xs\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xs\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xs\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xs\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xs\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xs\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xs\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xs\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xs\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xs\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xs\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xs\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xs\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xs\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xs\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xs\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xs\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xs\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xs\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xs\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xs\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xs\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xs\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xs\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xs\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xs\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xs\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xs\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xs\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xs\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xs\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xs\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xs\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xs\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xs\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xs\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xs\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xs\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xs\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xs\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xs\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xs\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xs\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xs\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xs\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xs\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xs\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xs\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xs\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xs\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xs\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xs\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xs\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xs\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xs\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xs\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xs\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xs\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xs\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xs\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xs\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xs\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xs\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xs\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xs\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xs\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xs\:focus\:to-current:focus{--gradient-to-color:currentColor}.xs\:focus\:to-black:focus{--gradient-to-color:#000}.xs\:focus\:to-white:focus{--gradient-to-color:#fff}.xs\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xs\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xs\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xs\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xs\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xs\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xs\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xs\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xs\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xs\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xs\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xs\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xs\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xs\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xs\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xs\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xs\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xs\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xs\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xs\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xs\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xs\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xs\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xs\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xs\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xs\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xs\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xs\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xs\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xs\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xs\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xs\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xs\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xs\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xs\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xs\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xs\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xs\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xs\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xs\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xs\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xs\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xs\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xs\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xs\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xs\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xs\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xs\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xs\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xs\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xs\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xs\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xs\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xs\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xs\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xs\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xs\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xs\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xs\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xs\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xs\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xs\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xs\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xs\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xs\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xs\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xs\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xs\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xs\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xs\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xs\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xs\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xs\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xs\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xs\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xs\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xs\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xs\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xs\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xs\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xs\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xs\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xs\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xs\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xs\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xs\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xs\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xs\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xs\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xs\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xs\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xs\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xs\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xs\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xs\:bg-opacity-0{--bg-opacity:0}.xs\:bg-opacity-25{--bg-opacity:0.25}.xs\:bg-opacity-50{--bg-opacity:0.5}.xs\:bg-opacity-75{--bg-opacity:0.75}.xs\:bg-opacity-100{--bg-opacity:1}.xs\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xs\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xs\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xs\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xs\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xs\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xs\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xs\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xs\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xs\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xs\:bg-bottom{background-position:bottom}.xs\:bg-center{background-position:50%}.xs\:bg-left{background-position:0}.xs\:bg-left-bottom{background-position:0 100%}.xs\:bg-left-top{background-position:0 0}.xs\:bg-right{background-position:100%}.xs\:bg-right-bottom{background-position:100% 100%}.xs\:bg-right-top{background-position:100% 0}.xs\:bg-top{background-position:top}.xs\:bg-repeat{background-repeat:repeat}.xs\:bg-no-repeat{background-repeat:no-repeat}.xs\:bg-repeat-x{background-repeat:repeat-x}.xs\:bg-repeat-y{background-repeat:repeat-y}.xs\:bg-repeat-round{background-repeat:round}.xs\:bg-repeat-space{background-repeat:space}.xs\:bg-auto{background-size:auto}.xs\:bg-cover{background-size:cover}.xs\:bg-contain{background-size:contain}.xs\:border-collapse{border-collapse:collapse}.xs\:border-separate{border-collapse:separate}.xs\:border-transparent{border-color:transparent}.xs\:border-current{border-color:currentColor}.xs\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:hover\:border-transparent:hover{border-color:transparent}.xs\:hover\:border-current:hover{border-color:currentColor}.xs\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:focus\:border-transparent:focus{border-color:transparent}.xs\:focus\:border-current:focus{border-color:currentColor}.xs\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:border-opacity-0{--border-opacity:0}.xs\:border-opacity-25{--border-opacity:0.25}.xs\:border-opacity-50{--border-opacity:0.5}.xs\:border-opacity-75{--border-opacity:0.75}.xs\:border-opacity-100{--border-opacity:1}.xs\:hover\:border-opacity-0:hover{--border-opacity:0}.xs\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xs\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xs\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xs\:hover\:border-opacity-100:hover{--border-opacity:1}.xs\:focus\:border-opacity-0:focus{--border-opacity:0}.xs\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xs\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xs\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xs\:focus\:border-opacity-100:focus{--border-opacity:1}.xs\:rounded-none{border-radius:0}.xs\:rounded-sm{border-radius:.125rem}.xs\:rounded{border-radius:.25rem}.xs\:rounded-md{border-radius:.375rem}.xs\:rounded-lg{border-radius:.5rem}.xs\:rounded-xl{border-radius:.75rem}.xs\:rounded-2xl{border-radius:1rem}.xs\:rounded-3xl{border-radius:1.5rem}.xs\:rounded-full{border-radius:9999px}.xs\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xs\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xs\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xs\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xs\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xs\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xs\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xs\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xs\:rounded-t{border-top-left-radius:.25rem}.xs\:rounded-r,.xs\:rounded-t{border-top-right-radius:.25rem}.xs\:rounded-b,.xs\:rounded-r{border-bottom-right-radius:.25rem}.xs\:rounded-b,.xs\:rounded-l{border-bottom-left-radius:.25rem}.xs\:rounded-l{border-top-left-radius:.25rem}.xs\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xs\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xs\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xs\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xs\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xs\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xs\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xs\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xs\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xs\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xs\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xs\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xs\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xs\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xs\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xs\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xs\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xs\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xs\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xs\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xs\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xs\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xs\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xs\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xs\:rounded-tl-none{border-top-left-radius:0}.xs\:rounded-tr-none{border-top-right-radius:0}.xs\:rounded-br-none{border-bottom-right-radius:0}.xs\:rounded-bl-none{border-bottom-left-radius:0}.xs\:rounded-tl-sm{border-top-left-radius:.125rem}.xs\:rounded-tr-sm{border-top-right-radius:.125rem}.xs\:rounded-br-sm{border-bottom-right-radius:.125rem}.xs\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xs\:rounded-tl{border-top-left-radius:.25rem}.xs\:rounded-tr{border-top-right-radius:.25rem}.xs\:rounded-br{border-bottom-right-radius:.25rem}.xs\:rounded-bl{border-bottom-left-radius:.25rem}.xs\:rounded-tl-md{border-top-left-radius:.375rem}.xs\:rounded-tr-md{border-top-right-radius:.375rem}.xs\:rounded-br-md{border-bottom-right-radius:.375rem}.xs\:rounded-bl-md{border-bottom-left-radius:.375rem}.xs\:rounded-tl-lg{border-top-left-radius:.5rem}.xs\:rounded-tr-lg{border-top-right-radius:.5rem}.xs\:rounded-br-lg{border-bottom-right-radius:.5rem}.xs\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xs\:rounded-tl-xl{border-top-left-radius:.75rem}.xs\:rounded-tr-xl{border-top-right-radius:.75rem}.xs\:rounded-br-xl{border-bottom-right-radius:.75rem}.xs\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xs\:rounded-tl-2xl{border-top-left-radius:1rem}.xs\:rounded-tr-2xl{border-top-right-radius:1rem}.xs\:rounded-br-2xl{border-bottom-right-radius:1rem}.xs\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xs\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xs\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xs\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xs\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xs\:rounded-tl-full{border-top-left-radius:9999px}.xs\:rounded-tr-full{border-top-right-radius:9999px}.xs\:rounded-br-full{border-bottom-right-radius:9999px}.xs\:rounded-bl-full{border-bottom-left-radius:9999px}.xs\:border-solid{border-style:solid}.xs\:border-dashed{border-style:dashed}.xs\:border-dotted{border-style:dotted}.xs\:border-double{border-style:double}.xs\:border-none{border-style:none}.xs\:border-0{border-width:0}.xs\:border-2{border-width:2px}.xs\:border-4{border-width:4px}.xs\:border-8{border-width:8px}.xs\:border{border-width:1px}.xs\:border-t-0{border-top-width:0}.xs\:border-r-0{border-right-width:0}.xs\:border-b-0{border-bottom-width:0}.xs\:border-l-0{border-left-width:0}.xs\:border-t-2{border-top-width:2px}.xs\:border-r-2{border-right-width:2px}.xs\:border-b-2{border-bottom-width:2px}.xs\:border-l-2{border-left-width:2px}.xs\:border-t-4{border-top-width:4px}.xs\:border-r-4{border-right-width:4px}.xs\:border-b-4{border-bottom-width:4px}.xs\:border-l-4{border-left-width:4px}.xs\:border-t-8{border-top-width:8px}.xs\:border-r-8{border-right-width:8px}.xs\:border-b-8{border-bottom-width:8px}.xs\:border-l-8{border-left-width:8px}.xs\:border-t{border-top-width:1px}.xs\:border-r{border-right-width:1px}.xs\:border-b{border-bottom-width:1px}.xs\:border-l{border-left-width:1px}.xs\:box-border{box-sizing:border-box}.xs\:box-content{box-sizing:content-box}.xs\:cursor-auto{cursor:auto}.xs\:cursor-default{cursor:default}.xs\:cursor-pointer{cursor:pointer}.xs\:cursor-wait{cursor:wait}.xs\:cursor-text{cursor:text}.xs\:cursor-move{cursor:move}.xs\:cursor-not-allowed{cursor:not-allowed}.xs\:block{display:block}.xs\:inline-block{display:inline-block}.xs\:inline{display:inline}.xs\:flex{display:flex}.xs\:inline-flex{display:inline-flex}.xs\:table{display:table}.xs\:table-caption{display:table-caption}.xs\:table-cell{display:table-cell}.xs\:table-column{display:table-column}.xs\:table-column-group{display:table-column-group}.xs\:table-footer-group{display:table-footer-group}.xs\:table-header-group{display:table-header-group}.xs\:table-row-group{display:table-row-group}.xs\:table-row{display:table-row}.xs\:flow-root{display:flow-root}.xs\:grid{display:grid}.xs\:inline-grid{display:inline-grid}.xs\:contents{display:contents}.xs\:hidden{display:none}.xs\:flex-row{flex-direction:row}.xs\:flex-row-reverse{flex-direction:row-reverse}.xs\:flex-col{flex-direction:column}.xs\:flex-col-reverse{flex-direction:column-reverse}.xs\:flex-wrap{flex-wrap:wrap}.xs\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xs\:flex-no-wrap{flex-wrap:nowrap}.xs\:place-items-auto{place-items:auto}.xs\:place-items-start{place-items:start}.xs\:place-items-end{place-items:end}.xs\:place-items-center{place-items:center}.xs\:place-items-stretch{place-items:stretch}.xs\:place-content-center{place-content:center}.xs\:place-content-start{place-content:start}.xs\:place-content-end{place-content:end}.xs\:place-content-between{place-content:space-between}.xs\:place-content-around{place-content:space-around}.xs\:place-content-evenly{place-content:space-evenly}.xs\:place-content-stretch{place-content:stretch}.xs\:place-self-auto{place-self:auto}.xs\:place-self-start{place-self:start}.xs\:place-self-end{place-self:end}.xs\:place-self-center{place-self:center}.xs\:place-self-stretch{place-self:stretch}.xs\:items-start{align-items:flex-start}.xs\:items-end{align-items:flex-end}.xs\:items-center{align-items:center}.xs\:items-baseline{align-items:baseline}.xs\:items-stretch{align-items:stretch}.xs\:content-center{align-content:center}.xs\:content-start{align-content:flex-start}.xs\:content-end{align-content:flex-end}.xs\:content-between{align-content:space-between}.xs\:content-around{align-content:space-around}.xs\:content-evenly{align-content:space-evenly}.xs\:self-auto{align-self:auto}.xs\:self-start{align-self:flex-start}.xs\:self-end{align-self:flex-end}.xs\:self-center{align-self:center}.xs\:self-stretch{align-self:stretch}.xs\:justify-items-auto{justify-items:auto}.xs\:justify-items-start{justify-items:start}.xs\:justify-items-end{justify-items:end}.xs\:justify-items-center{justify-items:center}.xs\:justify-items-stretch{justify-items:stretch}.xs\:justify-start{justify-content:flex-start}.xs\:justify-end{justify-content:flex-end}.xs\:justify-center{justify-content:center}.xs\:justify-between{justify-content:space-between}.xs\:justify-around{justify-content:space-around}.xs\:justify-evenly{justify-content:space-evenly}.xs\:justify-self-auto{justify-self:auto}.xs\:justify-self-start{justify-self:start}.xs\:justify-self-end{justify-self:end}.xs\:justify-self-center{justify-self:center}.xs\:justify-self-stretch{justify-self:stretch}.xs\:flex-1{flex:1 1 0%}.xs\:flex-auto{flex:1 1 auto}.xs\:flex-initial{flex:0 1 auto}.xs\:flex-none{flex:none}.xs\:flex-grow-0{flex-grow:0}.xs\:flex-grow{flex-grow:1}.xs\:flex-shrink-0{flex-shrink:0}.xs\:flex-shrink{flex-shrink:1}.xs\:order-1{order:1}.xs\:order-2{order:2}.xs\:order-3{order:3}.xs\:order-4{order:4}.xs\:order-5{order:5}.xs\:order-6{order:6}.xs\:order-7{order:7}.xs\:order-8{order:8}.xs\:order-9{order:9}.xs\:order-10{order:10}.xs\:order-11{order:11}.xs\:order-12{order:12}.xs\:order-first{order:-9999}.xs\:order-last{order:9999}.xs\:order-none{order:0}.xs\:float-right{float:right}.xs\:float-left{float:left}.xs\:float-none{float:none}.xs\:clearfix:after{content:"";display:table;clear:both}.xs\:clear-left{clear:left}.xs\:clear-right{clear:right}.xs\:clear-both{clear:both}.xs\:clear-none{clear:none}.xs\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xs\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xs\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xs\:font-hairline{font-weight:100}.xs\:font-thin{font-weight:200}.xs\:font-light{font-weight:300}.xs\:font-normal{font-weight:400}.xs\:font-medium{font-weight:500}.xs\:font-semibold{font-weight:600}.xs\:font-bold{font-weight:700}.xs\:font-extrabold{font-weight:800}.xs\:font-black{font-weight:900}.xs\:hover\:font-hairline:hover{font-weight:100}.xs\:hover\:font-thin:hover{font-weight:200}.xs\:hover\:font-light:hover{font-weight:300}.xs\:hover\:font-normal:hover{font-weight:400}.xs\:hover\:font-medium:hover{font-weight:500}.xs\:hover\:font-semibold:hover{font-weight:600}.xs\:hover\:font-bold:hover{font-weight:700}.xs\:hover\:font-extrabold:hover{font-weight:800}.xs\:hover\:font-black:hover{font-weight:900}.xs\:focus\:font-hairline:focus{font-weight:100}.xs\:focus\:font-thin:focus{font-weight:200}.xs\:focus\:font-light:focus{font-weight:300}.xs\:focus\:font-normal:focus{font-weight:400}.xs\:focus\:font-medium:focus{font-weight:500}.xs\:focus\:font-semibold:focus{font-weight:600}.xs\:focus\:font-bold:focus{font-weight:700}.xs\:focus\:font-extrabold:focus{font-weight:800}.xs\:focus\:font-black:focus{font-weight:900}.xs\:h-0{height:0}.xs\:h-1{height:.25rem}.xs\:h-2{height:.5rem}.xs\:h-3{height:.75rem}.xs\:h-4{height:1rem}.xs\:h-5{height:1.25rem}.xs\:h-6{height:1.5rem}.xs\:h-8{height:2rem}.xs\:h-10{height:2.5rem}.xs\:h-12{height:3rem}.xs\:h-16{height:4rem}.xs\:h-20{height:5rem}.xs\:h-24{height:6rem}.xs\:h-32{height:8rem}.xs\:h-40{height:10rem}.xs\:h-48{height:12rem}.xs\:h-56{height:14rem}.xs\:h-64{height:16rem}.xs\:h-auto{height:auto}.xs\:h-px{height:1px}.xs\:h-full{height:100%}.xs\:h-screen{height:100vh}.xs\:text-xs{font-size:.75rem}.xs\:text-sm{font-size:.875rem}.xs\:text-base{font-size:1rem}.xs\:text-lg{font-size:1.125rem}.xs\:text-xl{font-size:1.25rem}.xs\:text-2xl{font-size:1.5rem}.xs\:text-3xl{font-size:1.875rem}.xs\:text-4xl{font-size:2.25rem}.xs\:text-5xl{font-size:3rem}.xs\:text-6xl{font-size:4rem}.xs\:leading-3{line-height:.75rem}.xs\:leading-4{line-height:1rem}.xs\:leading-5{line-height:1.25rem}.xs\:leading-6{line-height:1.5rem}.xs\:leading-7{line-height:1.75rem}.xs\:leading-8{line-height:2rem}.xs\:leading-9{line-height:2.25rem}.xs\:leading-10{line-height:2.5rem}.xs\:leading-none{line-height:1}.xs\:leading-tight{line-height:1.25}.xs\:leading-snug{line-height:1.375}.xs\:leading-normal{line-height:1.5}.xs\:leading-relaxed{line-height:1.625}.xs\:leading-loose{line-height:2}.xs\:list-inside{list-style-position:inside}.xs\:list-outside{list-style-position:outside}.xs\:list-none{list-style-type:none}.xs\:list-disc{list-style-type:disc}.xs\:list-decimal{list-style-type:decimal}.xs\:m-0{margin:0}.xs\:m-1{margin:.25rem}.xs\:m-2{margin:.5rem}.xs\:m-3{margin:.75rem}.xs\:m-4{margin:1rem}.xs\:m-5{margin:1.25rem}.xs\:m-6{margin:1.5rem}.xs\:m-8{margin:2rem}.xs\:m-10{margin:2.5rem}.xs\:m-12{margin:3rem}.xs\:m-16{margin:4rem}.xs\:m-20{margin:5rem}.xs\:m-24{margin:6rem}.xs\:m-32{margin:8rem}.xs\:m-40{margin:10rem}.xs\:m-48{margin:12rem}.xs\:m-56{margin:14rem}.xs\:m-64{margin:16rem}.xs\:m-auto{margin:auto}.xs\:m-px{margin:1px}.xs\:-m-1{margin:-.25rem}.xs\:-m-2{margin:-.5rem}.xs\:-m-3{margin:-.75rem}.xs\:-m-4{margin:-1rem}.xs\:-m-5{margin:-1.25rem}.xs\:-m-6{margin:-1.5rem}.xs\:-m-8{margin:-2rem}.xs\:-m-10{margin:-2.5rem}.xs\:-m-12{margin:-3rem}.xs\:-m-16{margin:-4rem}.xs\:-m-20{margin:-5rem}.xs\:-m-24{margin:-6rem}.xs\:-m-32{margin:-8rem}.xs\:-m-40{margin:-10rem}.xs\:-m-48{margin:-12rem}.xs\:-m-56{margin:-14rem}.xs\:-m-64{margin:-16rem}.xs\:-m-px{margin:-1px}.xs\:my-0{margin-top:0;margin-bottom:0}.xs\:mx-0{margin-left:0;margin-right:0}.xs\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xs\:mx-1{margin-left:.25rem;margin-right:.25rem}.xs\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xs\:mx-2{margin-left:.5rem;margin-right:.5rem}.xs\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xs\:mx-3{margin-left:.75rem;margin-right:.75rem}.xs\:my-4{margin-top:1rem;margin-bottom:1rem}.xs\:mx-4{margin-left:1rem;margin-right:1rem}.xs\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xs\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xs\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xs\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xs\:my-8{margin-top:2rem;margin-bottom:2rem}.xs\:mx-8{margin-left:2rem;margin-right:2rem}.xs\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xs\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xs\:my-12{margin-top:3rem;margin-bottom:3rem}.xs\:mx-12{margin-left:3rem;margin-right:3rem}.xs\:my-16{margin-top:4rem;margin-bottom:4rem}.xs\:mx-16{margin-left:4rem;margin-right:4rem}.xs\:my-20{margin-top:5rem;margin-bottom:5rem}.xs\:mx-20{margin-left:5rem;margin-right:5rem}.xs\:my-24{margin-top:6rem;margin-bottom:6rem}.xs\:mx-24{margin-left:6rem;margin-right:6rem}.xs\:my-32{margin-top:8rem;margin-bottom:8rem}.xs\:mx-32{margin-left:8rem;margin-right:8rem}.xs\:my-40{margin-top:10rem;margin-bottom:10rem}.xs\:mx-40{margin-left:10rem;margin-right:10rem}.xs\:my-48{margin-top:12rem;margin-bottom:12rem}.xs\:mx-48{margin-left:12rem;margin-right:12rem}.xs\:my-56{margin-top:14rem;margin-bottom:14rem}.xs\:mx-56{margin-left:14rem;margin-right:14rem}.xs\:my-64{margin-top:16rem;margin-bottom:16rem}.xs\:mx-64{margin-left:16rem;margin-right:16rem}.xs\:my-auto{margin-top:auto;margin-bottom:auto}.xs\:mx-auto{margin-left:auto;margin-right:auto}.xs\:my-px{margin-top:1px;margin-bottom:1px}.xs\:mx-px{margin-left:1px;margin-right:1px}.xs\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xs\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xs\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xs\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xs\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xs\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xs\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xs\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xs\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xs\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xs\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xs\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xs\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xs\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xs\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xs\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xs\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xs\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xs\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xs\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xs\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xs\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xs\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xs\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xs\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xs\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xs\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xs\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xs\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xs\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xs\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xs\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xs\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xs\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xs\:-my-px{margin-top:-1px;margin-bottom:-1px}.xs\:-mx-px{margin-left:-1px;margin-right:-1px}.xs\:mt-0{margin-top:0}.xs\:mr-0{margin-right:0}.xs\:mb-0{margin-bottom:0}.xs\:ml-0{margin-left:0}.xs\:mt-1{margin-top:.25rem}.xs\:mr-1{margin-right:.25rem}.xs\:mb-1{margin-bottom:.25rem}.xs\:ml-1{margin-left:.25rem}.xs\:mt-2{margin-top:.5rem}.xs\:mr-2{margin-right:.5rem}.xs\:mb-2{margin-bottom:.5rem}.xs\:ml-2{margin-left:.5rem}.xs\:mt-3{margin-top:.75rem}.xs\:mr-3{margin-right:.75rem}.xs\:mb-3{margin-bottom:.75rem}.xs\:ml-3{margin-left:.75rem}.xs\:mt-4{margin-top:1rem}.xs\:mr-4{margin-right:1rem}.xs\:mb-4{margin-bottom:1rem}.xs\:ml-4{margin-left:1rem}.xs\:mt-5{margin-top:1.25rem}.xs\:mr-5{margin-right:1.25rem}.xs\:mb-5{margin-bottom:1.25rem}.xs\:ml-5{margin-left:1.25rem}.xs\:mt-6{margin-top:1.5rem}.xs\:mr-6{margin-right:1.5rem}.xs\:mb-6{margin-bottom:1.5rem}.xs\:ml-6{margin-left:1.5rem}.xs\:mt-8{margin-top:2rem}.xs\:mr-8{margin-right:2rem}.xs\:mb-8{margin-bottom:2rem}.xs\:ml-8{margin-left:2rem}.xs\:mt-10{margin-top:2.5rem}.xs\:mr-10{margin-right:2.5rem}.xs\:mb-10{margin-bottom:2.5rem}.xs\:ml-10{margin-left:2.5rem}.xs\:mt-12{margin-top:3rem}.xs\:mr-12{margin-right:3rem}.xs\:mb-12{margin-bottom:3rem}.xs\:ml-12{margin-left:3rem}.xs\:mt-16{margin-top:4rem}.xs\:mr-16{margin-right:4rem}.xs\:mb-16{margin-bottom:4rem}.xs\:ml-16{margin-left:4rem}.xs\:mt-20{margin-top:5rem}.xs\:mr-20{margin-right:5rem}.xs\:mb-20{margin-bottom:5rem}.xs\:ml-20{margin-left:5rem}.xs\:mt-24{margin-top:6rem}.xs\:mr-24{margin-right:6rem}.xs\:mb-24{margin-bottom:6rem}.xs\:ml-24{margin-left:6rem}.xs\:mt-32{margin-top:8rem}.xs\:mr-32{margin-right:8rem}.xs\:mb-32{margin-bottom:8rem}.xs\:ml-32{margin-left:8rem}.xs\:mt-40{margin-top:10rem}.xs\:mr-40{margin-right:10rem}.xs\:mb-40{margin-bottom:10rem}.xs\:ml-40{margin-left:10rem}.xs\:mt-48{margin-top:12rem}.xs\:mr-48{margin-right:12rem}.xs\:mb-48{margin-bottom:12rem}.xs\:ml-48{margin-left:12rem}.xs\:mt-56{margin-top:14rem}.xs\:mr-56{margin-right:14rem}.xs\:mb-56{margin-bottom:14rem}.xs\:ml-56{margin-left:14rem}.xs\:mt-64{margin-top:16rem}.xs\:mr-64{margin-right:16rem}.xs\:mb-64{margin-bottom:16rem}.xs\:ml-64{margin-left:16rem}.xs\:mt-auto{margin-top:auto}.xs\:mr-auto{margin-right:auto}.xs\:mb-auto{margin-bottom:auto}.xs\:ml-auto{margin-left:auto}.xs\:mt-px{margin-top:1px}.xs\:mr-px{margin-right:1px}.xs\:mb-px{margin-bottom:1px}.xs\:ml-px{margin-left:1px}.xs\:-mt-1{margin-top:-.25rem}.xs\:-mr-1{margin-right:-.25rem}.xs\:-mb-1{margin-bottom:-.25rem}.xs\:-ml-1{margin-left:-.25rem}.xs\:-mt-2{margin-top:-.5rem}.xs\:-mr-2{margin-right:-.5rem}.xs\:-mb-2{margin-bottom:-.5rem}.xs\:-ml-2{margin-left:-.5rem}.xs\:-mt-3{margin-top:-.75rem}.xs\:-mr-3{margin-right:-.75rem}.xs\:-mb-3{margin-bottom:-.75rem}.xs\:-ml-3{margin-left:-.75rem}.xs\:-mt-4{margin-top:-1rem}.xs\:-mr-4{margin-right:-1rem}.xs\:-mb-4{margin-bottom:-1rem}.xs\:-ml-4{margin-left:-1rem}.xs\:-mt-5{margin-top:-1.25rem}.xs\:-mr-5{margin-right:-1.25rem}.xs\:-mb-5{margin-bottom:-1.25rem}.xs\:-ml-5{margin-left:-1.25rem}.xs\:-mt-6{margin-top:-1.5rem}.xs\:-mr-6{margin-right:-1.5rem}.xs\:-mb-6{margin-bottom:-1.5rem}.xs\:-ml-6{margin-left:-1.5rem}.xs\:-mt-8{margin-top:-2rem}.xs\:-mr-8{margin-right:-2rem}.xs\:-mb-8{margin-bottom:-2rem}.xs\:-ml-8{margin-left:-2rem}.xs\:-mt-10{margin-top:-2.5rem}.xs\:-mr-10{margin-right:-2.5rem}.xs\:-mb-10{margin-bottom:-2.5rem}.xs\:-ml-10{margin-left:-2.5rem}.xs\:-mt-12{margin-top:-3rem}.xs\:-mr-12{margin-right:-3rem}.xs\:-mb-12{margin-bottom:-3rem}.xs\:-ml-12{margin-left:-3rem}.xs\:-mt-16{margin-top:-4rem}.xs\:-mr-16{margin-right:-4rem}.xs\:-mb-16{margin-bottom:-4rem}.xs\:-ml-16{margin-left:-4rem}.xs\:-mt-20{margin-top:-5rem}.xs\:-mr-20{margin-right:-5rem}.xs\:-mb-20{margin-bottom:-5rem}.xs\:-ml-20{margin-left:-5rem}.xs\:-mt-24{margin-top:-6rem}.xs\:-mr-24{margin-right:-6rem}.xs\:-mb-24{margin-bottom:-6rem}.xs\:-ml-24{margin-left:-6rem}.xs\:-mt-32{margin-top:-8rem}.xs\:-mr-32{margin-right:-8rem}.xs\:-mb-32{margin-bottom:-8rem}.xs\:-ml-32{margin-left:-8rem}.xs\:-mt-40{margin-top:-10rem}.xs\:-mr-40{margin-right:-10rem}.xs\:-mb-40{margin-bottom:-10rem}.xs\:-ml-40{margin-left:-10rem}.xs\:-mt-48{margin-top:-12rem}.xs\:-mr-48{margin-right:-12rem}.xs\:-mb-48{margin-bottom:-12rem}.xs\:-ml-48{margin-left:-12rem}.xs\:-mt-56{margin-top:-14rem}.xs\:-mr-56{margin-right:-14rem}.xs\:-mb-56{margin-bottom:-14rem}.xs\:-ml-56{margin-left:-14rem}.xs\:-mt-64{margin-top:-16rem}.xs\:-mr-64{margin-right:-16rem}.xs\:-mb-64{margin-bottom:-16rem}.xs\:-ml-64{margin-left:-16rem}.xs\:-mt-px{margin-top:-1px}.xs\:-mr-px{margin-right:-1px}.xs\:-mb-px{margin-bottom:-1px}.xs\:-ml-px{margin-left:-1px}.xs\:max-h-full{max-height:100%}.xs\:max-h-screen{max-height:100vh}.xs\:max-w-none{max-width:none}.xs\:max-w-xs{max-width:20rem}.xs\:max-w-sm{max-width:24rem}.xs\:max-w-md{max-width:28rem}.xs\:max-w-lg{max-width:32rem}.xs\:max-w-xl{max-width:36rem}.xs\:max-w-2xl{max-width:42rem}.xs\:max-w-3xl{max-width:48rem}.xs\:max-w-4xl{max-width:56rem}.xs\:max-w-5xl{max-width:64rem}.xs\:max-w-6xl{max-width:72rem}.xs\:max-w-full{max-width:100%}.xs\:max-w-screen-xs{max-width:360px}.xs\:max-w-screen-sm{max-width:640px}.xs\:max-w-screen-md{max-width:768px}.xs\:max-w-screen-lg{max-width:1024px}.xs\:max-w-screen-xl{max-width:1280px}.xs\:max-w-screen-xxl{max-width:1480px}.xs\:min-h-0{min-height:0}.xs\:min-h-full{min-height:100%}.xs\:min-h-screen{min-height:100vh}.xs\:min-w-0{min-width:0}.xs\:min-w-full{min-width:100%}.xs\:object-contain{-o-object-fit:contain;object-fit:contain}.xs\:object-cover{-o-object-fit:cover;object-fit:cover}.xs\:object-fill{-o-object-fit:fill;object-fit:fill}.xs\:object-none{-o-object-fit:none;object-fit:none}.xs\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xs\:object-bottom{-o-object-position:bottom;object-position:bottom}.xs\:object-center{-o-object-position:center;object-position:center}.xs\:object-left{-o-object-position:left;object-position:left}.xs\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xs\:object-left-top{-o-object-position:left top;object-position:left top}.xs\:object-right{-o-object-position:right;object-position:right}.xs\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xs\:object-right-top{-o-object-position:right top;object-position:right top}.xs\:object-top{-o-object-position:top;object-position:top}.xs\:opacity-0{opacity:0}.xs\:opacity-25{opacity:.25}.xs\:opacity-50{opacity:.5}.xs\:opacity-75{opacity:.75}.xs\:opacity-100{opacity:1}.xs\:hover\:opacity-0:hover{opacity:0}.xs\:hover\:opacity-25:hover{opacity:.25}.xs\:hover\:opacity-50:hover{opacity:.5}.xs\:hover\:opacity-75:hover{opacity:.75}.xs\:hover\:opacity-100:hover{opacity:1}.xs\:focus\:opacity-0:focus{opacity:0}.xs\:focus\:opacity-25:focus{opacity:.25}.xs\:focus\:opacity-50:focus{opacity:.5}.xs\:focus\:opacity-75:focus{opacity:.75}.xs\:focus\:opacity-100:focus{opacity:1}.xs\:outline-none{outline:2px solid transparent;outline-offset:2px}.xs\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xs\:outline-black{outline:2px dotted #000;outline-offset:2px}.xs\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xs\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xs\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xs\:overflow-auto{overflow:auto}.xs\:overflow-hidden{overflow:hidden}.xs\:overflow-visible{overflow:visible}.xs\:overflow-scroll{overflow:scroll}.xs\:overflow-x-auto{overflow-x:auto}.xs\:overflow-y-auto{overflow-y:auto}.xs\:overflow-x-hidden{overflow-x:hidden}.xs\:overflow-y-hidden{overflow-y:hidden}.xs\:overflow-x-visible{overflow-x:visible}.xs\:overflow-y-visible{overflow-y:visible}.xs\:overflow-x-scroll{overflow-x:scroll}.xs\:overflow-y-scroll{overflow-y:scroll}.xs\:scrolling-touch{-webkit-overflow-scrolling:touch}.xs\:scrolling-auto{-webkit-overflow-scrolling:auto}.xs\:overscroll-auto{overscroll-behavior:auto}.xs\:overscroll-contain{overscroll-behavior:contain}.xs\:overscroll-none{overscroll-behavior:none}.xs\:overscroll-y-auto{overscroll-behavior-y:auto}.xs\:overscroll-y-contain{overscroll-behavior-y:contain}.xs\:overscroll-y-none{overscroll-behavior-y:none}.xs\:overscroll-x-auto{overscroll-behavior-x:auto}.xs\:overscroll-x-contain{overscroll-behavior-x:contain}.xs\:overscroll-x-none{overscroll-behavior-x:none}.xs\:p-0{padding:0}.xs\:p-1{padding:.25rem}.xs\:p-2{padding:.5rem}.xs\:p-3{padding:.75rem}.xs\:p-4{padding:1rem}.xs\:p-5{padding:1.25rem}.xs\:p-6{padding:1.5rem}.xs\:p-8{padding:2rem}.xs\:p-10{padding:2.5rem}.xs\:p-12{padding:3rem}.xs\:p-16{padding:4rem}.xs\:p-20{padding:5rem}.xs\:p-24{padding:6rem}.xs\:p-32{padding:8rem}.xs\:p-40{padding:10rem}.xs\:p-48{padding:12rem}.xs\:p-56{padding:14rem}.xs\:p-64{padding:16rem}.xs\:p-px{padding:1px}.xs\:py-0{padding-top:0;padding-bottom:0}.xs\:px-0{padding-left:0;padding-right:0}.xs\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xs\:px-1{padding-left:.25rem;padding-right:.25rem}.xs\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xs\:px-2{padding-left:.5rem;padding-right:.5rem}.xs\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xs\:px-3{padding-left:.75rem;padding-right:.75rem}.xs\:py-4{padding-top:1rem;padding-bottom:1rem}.xs\:px-4{padding-left:1rem;padding-right:1rem}.xs\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xs\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xs\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xs\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xs\:py-8{padding-top:2rem;padding-bottom:2rem}.xs\:px-8{padding-left:2rem;padding-right:2rem}.xs\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xs\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xs\:py-12{padding-top:3rem;padding-bottom:3rem}.xs\:px-12{padding-left:3rem;padding-right:3rem}.xs\:py-16{padding-top:4rem;padding-bottom:4rem}.xs\:px-16{padding-left:4rem;padding-right:4rem}.xs\:py-20{padding-top:5rem;padding-bottom:5rem}.xs\:px-20{padding-left:5rem;padding-right:5rem}.xs\:py-24{padding-top:6rem;padding-bottom:6rem}.xs\:px-24{padding-left:6rem;padding-right:6rem}.xs\:py-32{padding-top:8rem;padding-bottom:8rem}.xs\:px-32{padding-left:8rem;padding-right:8rem}.xs\:py-40{padding-top:10rem;padding-bottom:10rem}.xs\:px-40{padding-left:10rem;padding-right:10rem}.xs\:py-48{padding-top:12rem;padding-bottom:12rem}.xs\:px-48{padding-left:12rem;padding-right:12rem}.xs\:py-56{padding-top:14rem;padding-bottom:14rem}.xs\:px-56{padding-left:14rem;padding-right:14rem}.xs\:py-64{padding-top:16rem;padding-bottom:16rem}.xs\:px-64{padding-left:16rem;padding-right:16rem}.xs\:py-px{padding-top:1px;padding-bottom:1px}.xs\:px-px{padding-left:1px;padding-right:1px}.xs\:pt-0{padding-top:0}.xs\:pr-0{padding-right:0}.xs\:pb-0{padding-bottom:0}.xs\:pl-0{padding-left:0}.xs\:pt-1{padding-top:.25rem}.xs\:pr-1{padding-right:.25rem}.xs\:pb-1{padding-bottom:.25rem}.xs\:pl-1{padding-left:.25rem}.xs\:pt-2{padding-top:.5rem}.xs\:pr-2{padding-right:.5rem}.xs\:pb-2{padding-bottom:.5rem}.xs\:pl-2{padding-left:.5rem}.xs\:pt-3{padding-top:.75rem}.xs\:pr-3{padding-right:.75rem}.xs\:pb-3{padding-bottom:.75rem}.xs\:pl-3{padding-left:.75rem}.xs\:pt-4{padding-top:1rem}.xs\:pr-4{padding-right:1rem}.xs\:pb-4{padding-bottom:1rem}.xs\:pl-4{padding-left:1rem}.xs\:pt-5{padding-top:1.25rem}.xs\:pr-5{padding-right:1.25rem}.xs\:pb-5{padding-bottom:1.25rem}.xs\:pl-5{padding-left:1.25rem}.xs\:pt-6{padding-top:1.5rem}.xs\:pr-6{padding-right:1.5rem}.xs\:pb-6{padding-bottom:1.5rem}.xs\:pl-6{padding-left:1.5rem}.xs\:pt-8{padding-top:2rem}.xs\:pr-8{padding-right:2rem}.xs\:pb-8{padding-bottom:2rem}.xs\:pl-8{padding-left:2rem}.xs\:pt-10{padding-top:2.5rem}.xs\:pr-10{padding-right:2.5rem}.xs\:pb-10{padding-bottom:2.5rem}.xs\:pl-10{padding-left:2.5rem}.xs\:pt-12{padding-top:3rem}.xs\:pr-12{padding-right:3rem}.xs\:pb-12{padding-bottom:3rem}.xs\:pl-12{padding-left:3rem}.xs\:pt-16{padding-top:4rem}.xs\:pr-16{padding-right:4rem}.xs\:pb-16{padding-bottom:4rem}.xs\:pl-16{padding-left:4rem}.xs\:pt-20{padding-top:5rem}.xs\:pr-20{padding-right:5rem}.xs\:pb-20{padding-bottom:5rem}.xs\:pl-20{padding-left:5rem}.xs\:pt-24{padding-top:6rem}.xs\:pr-24{padding-right:6rem}.xs\:pb-24{padding-bottom:6rem}.xs\:pl-24{padding-left:6rem}.xs\:pt-32{padding-top:8rem}.xs\:pr-32{padding-right:8rem}.xs\:pb-32{padding-bottom:8rem}.xs\:pl-32{padding-left:8rem}.xs\:pt-40{padding-top:10rem}.xs\:pr-40{padding-right:10rem}.xs\:pb-40{padding-bottom:10rem}.xs\:pl-40{padding-left:10rem}.xs\:pt-48{padding-top:12rem}.xs\:pr-48{padding-right:12rem}.xs\:pb-48{padding-bottom:12rem}.xs\:pl-48{padding-left:12rem}.xs\:pt-56{padding-top:14rem}.xs\:pr-56{padding-right:14rem}.xs\:pb-56{padding-bottom:14rem}.xs\:pl-56{padding-left:14rem}.xs\:pt-64{padding-top:16rem}.xs\:pr-64{padding-right:16rem}.xs\:pb-64{padding-bottom:16rem}.xs\:pl-64{padding-left:16rem}.xs\:pt-px{padding-top:1px}.xs\:pr-px{padding-right:1px}.xs\:pb-px{padding-bottom:1px}.xs\:pl-px{padding-left:1px}.xs\:placeholder-transparent::placeholder{color:transparent}.xs\:placeholder-current::placeholder{color:currentColor}.xs\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xs\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xs\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xs\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xs\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xs\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xs\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xs\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xs\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xs\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xs\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xs\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xs\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xs\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xs\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xs\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xs\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xs\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xs\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xs\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xs\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xs\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xs\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xs\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xs\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xs\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xs\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xs\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xs\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xs\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xs\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xs\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xs\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xs\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xs\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xs\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xs\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xs\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xs\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xs\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xs\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xs\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xs\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xs\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xs\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xs\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xs\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xs\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xs\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xs\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xs\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xs\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xs\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xs\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xs\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xs\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xs\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xs\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xs\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xs\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xs\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xs\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xs\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xs\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xs\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xs\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xs\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xs\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xs\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xs\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xs\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xs\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xs\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xs\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xs\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xs\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xs\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xs\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xs\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xs\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xs\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xs\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xs\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xs\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xs\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xs\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xs\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xs\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xs\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xs\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xs\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xs\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xs\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xs\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xs\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xs\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xs\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xs\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xs\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xs\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xs\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xs\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xs\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xs\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xs\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xs\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xs\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xs\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xs\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xs\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xs\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xs\:pointer-events-none{pointer-events:none}.xs\:pointer-events-auto{pointer-events:auto}.xs\:static{position:static}.xs\:fixed{position:fixed}.xs\:absolute{position:absolute}.xs\:relative{position:relative}.xs\:sticky{position:sticky}.xs\:inset-0{top:0;right:0;bottom:0;left:0}.xs\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xs\:inset-y-0{top:0;bottom:0}.xs\:inset-x-0{right:0;left:0}.xs\:inset-y-auto{top:auto;bottom:auto}.xs\:inset-x-auto{right:auto;left:auto}.xs\:top-0{top:0}.xs\:right-0{right:0}.xs\:bottom-0{bottom:0}.xs\:left-0{left:0}.xs\:top-auto{top:auto}.xs\:right-auto{right:auto}.xs\:bottom-auto{bottom:auto}.xs\:left-auto{left:auto}.xs\:resize-none{resize:none}.xs\:resize-y{resize:vertical}.xs\:resize-x{resize:horizontal}.xs\:resize{resize:both}.xs\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:shadow-none{box-shadow:none}.xs\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:hover\:shadow-none:hover{box-shadow:none}.xs\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:focus\:shadow-none:focus{box-shadow:none}.xs\:fill-current{fill:currentColor}.xs\:stroke-current{stroke:currentColor}.xs\:stroke-0{stroke-width:0}.xs\:stroke-1{stroke-width:1}.xs\:stroke-2{stroke-width:2}.xs\:table-auto{table-layout:auto}.xs\:table-fixed{table-layout:fixed}.xs\:text-left{text-align:left}.xs\:text-center{text-align:center}.xs\:text-right{text-align:right}.xs\:text-justify{text-align:justify}.xs\:text-transparent{color:transparent}.xs\:text-current{color:currentColor}.xs\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:hover\:text-transparent:hover{color:transparent}.xs\:hover\:text-current:hover{color:currentColor}.xs\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:focus\:text-transparent:focus{color:transparent}.xs\:focus\:text-current:focus{color:currentColor}.xs\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:text-opacity-0{--text-opacity:0}.xs\:text-opacity-25{--text-opacity:0.25}.xs\:text-opacity-50{--text-opacity:0.5}.xs\:text-opacity-75{--text-opacity:0.75}.xs\:text-opacity-100{--text-opacity:1}.xs\:hover\:text-opacity-0:hover{--text-opacity:0}.xs\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xs\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xs\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xs\:hover\:text-opacity-100:hover{--text-opacity:1}.xs\:focus\:text-opacity-0:focus{--text-opacity:0}.xs\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xs\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xs\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xs\:focus\:text-opacity-100:focus{--text-opacity:1}.xs\:italic{font-style:italic}.xs\:not-italic{font-style:normal}.xs\:uppercase{text-transform:uppercase}.xs\:lowercase{text-transform:lowercase}.xs\:capitalize{text-transform:capitalize}.xs\:normal-case{text-transform:none}.xs\:underline{text-decoration:underline}.xs\:line-through{text-decoration:line-through}.xs\:no-underline{text-decoration:none}.xs\:hover\:underline:hover{text-decoration:underline}.xs\:hover\:line-through:hover{text-decoration:line-through}.xs\:hover\:no-underline:hover{text-decoration:none}.xs\:focus\:underline:focus{text-decoration:underline}.xs\:focus\:line-through:focus{text-decoration:line-through}.xs\:focus\:no-underline:focus{text-decoration:none}.xs\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xs\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xs\:diagonal-fractions,.xs\:lining-nums,.xs\:oldstyle-nums,.xs\:ordinal,.xs\:proportional-nums,.xs\:slashed-zero,.xs\:stacked-fractions,.xs\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xs\:normal-nums{font-variant-numeric:normal}.xs\:ordinal{--font-variant-numeric-ordinal:ordinal}.xs\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xs\:lining-nums{--font-variant-numeric-figure:lining-nums}.xs\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xs\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xs\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xs\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xs\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xs\:tracking-tighter{letter-spacing:-.05em}.xs\:tracking-tight{letter-spacing:-.025em}.xs\:tracking-normal{letter-spacing:0}.xs\:tracking-wide{letter-spacing:.025em}.xs\:tracking-wider{letter-spacing:.05em}.xs\:tracking-widest{letter-spacing:.1em}.xs\:select-none{-webkit-user-select:none;user-select:none}.xs\:select-text{-webkit-user-select:text;user-select:text}.xs\:select-all{-webkit-user-select:all;user-select:all}.xs\:select-auto{-webkit-user-select:auto;user-select:auto}.xs\:align-baseline{vertical-align:baseline}.xs\:align-top{vertical-align:top}.xs\:align-middle{vertical-align:middle}.xs\:align-bottom{vertical-align:bottom}.xs\:align-text-top{vertical-align:text-top}.xs\:align-text-bottom{vertical-align:text-bottom}.xs\:visible{visibility:visible}.xs\:invisible{visibility:hidden}.xs\:whitespace-normal{white-space:normal}.xs\:whitespace-no-wrap{white-space:nowrap}.xs\:whitespace-pre{white-space:pre}.xs\:whitespace-pre-line{white-space:pre-line}.xs\:whitespace-pre-wrap{white-space:pre-wrap}.xs\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xs\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xs\:break-all{word-break:break-all}.xs\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs\:w-0{width:0}.xs\:w-1{width:.25rem}.xs\:w-2{width:.5rem}.xs\:w-3{width:.75rem}.xs\:w-4{width:1rem}.xs\:w-5{width:1.25rem}.xs\:w-6{width:1.5rem}.xs\:w-8{width:2rem}.xs\:w-10{width:2.5rem}.xs\:w-12{width:3rem}.xs\:w-16{width:4rem}.xs\:w-20{width:5rem}.xs\:w-24{width:6rem}.xs\:w-32{width:8rem}.xs\:w-40{width:10rem}.xs\:w-48{width:12rem}.xs\:w-56{width:14rem}.xs\:w-64{width:16rem}.xs\:w-auto{width:auto}.xs\:w-px{width:1px}.xs\:w-1\/2{width:50%}.xs\:w-1\/3{width:33.333333%}.xs\:w-2\/3{width:66.666667%}.xs\:w-1\/4{width:25%}.xs\:w-2\/4{width:50%}.xs\:w-3\/4{width:75%}.xs\:w-1\/5{width:20%}.xs\:w-2\/5{width:40%}.xs\:w-3\/5{width:60%}.xs\:w-4\/5{width:80%}.xs\:w-1\/6{width:16.666667%}.xs\:w-2\/6{width:33.333333%}.xs\:w-3\/6{width:50%}.xs\:w-4\/6{width:66.666667%}.xs\:w-5\/6{width:83.333333%}.xs\:w-1\/12{width:8.333333%}.xs\:w-2\/12{width:16.666667%}.xs\:w-3\/12{width:25%}.xs\:w-4\/12{width:33.333333%}.xs\:w-5\/12{width:41.666667%}.xs\:w-6\/12{width:50%}.xs\:w-7\/12{width:58.333333%}.xs\:w-8\/12{width:66.666667%}.xs\:w-9\/12{width:75%}.xs\:w-10\/12{width:83.333333%}.xs\:w-11\/12{width:91.666667%}.xs\:w-full{width:100%}.xs\:w-screen{width:100vw}.xs\:z-0{z-index:0}.xs\:z-10{z-index:10}.xs\:z-20{z-index:20}.xs\:z-30{z-index:30}.xs\:z-40{z-index:40}.xs\:z-50{z-index:50}.xs\:z-auto{z-index:auto}.xs\:gap-0{grid-gap:0;gap:0}.xs\:gap-1{grid-gap:.25rem;gap:.25rem}.xs\:gap-2{grid-gap:.5rem;gap:.5rem}.xs\:gap-3{grid-gap:.75rem;gap:.75rem}.xs\:gap-4{grid-gap:1rem;gap:1rem}.xs\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xs\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xs\:gap-8{grid-gap:2rem;gap:2rem}.xs\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xs\:gap-12{grid-gap:3rem;gap:3rem}.xs\:gap-16{grid-gap:4rem;gap:4rem}.xs\:gap-20{grid-gap:5rem;gap:5rem}.xs\:gap-24{grid-gap:6rem;gap:6rem}.xs\:gap-32{grid-gap:8rem;gap:8rem}.xs\:gap-40{grid-gap:10rem;gap:10rem}.xs\:gap-48{grid-gap:12rem;gap:12rem}.xs\:gap-56{grid-gap:14rem;gap:14rem}.xs\:gap-64{grid-gap:16rem;gap:16rem}.xs\:gap-px{grid-gap:1px;gap:1px}.xs\:col-gap-0{grid-column-gap:0;column-gap:0}.xs\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xs\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xs\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xs\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xs\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xs\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xs\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xs\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xs\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xs\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xs\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xs\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xs\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xs\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xs\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xs\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xs\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xs\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xs\:gap-x-0{grid-column-gap:0;column-gap:0}.xs\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xs\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xs\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xs\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xs\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xs\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xs\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xs\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xs\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xs\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xs\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xs\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xs\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xs\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xs\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xs\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xs\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xs\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xs\:row-gap-0{grid-row-gap:0;row-gap:0}.xs\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xs\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xs\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xs\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xs\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xs\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xs\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xs\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xs\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xs\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xs\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xs\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xs\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xs\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xs\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xs\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xs\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xs\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xs\:gap-y-0{grid-row-gap:0;row-gap:0}.xs\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xs\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xs\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xs\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xs\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xs\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xs\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xs\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xs\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xs\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xs\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xs\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xs\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xs\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xs\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xs\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xs\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xs\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xs\:grid-flow-row{grid-auto-flow:row}.xs\:grid-flow-col{grid-auto-flow:column}.xs\:grid-flow-row-dense{grid-auto-flow:row dense}.xs\:grid-flow-col-dense{grid-auto-flow:column dense}.xs\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xs\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xs\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xs\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xs\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xs\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xs\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xs\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xs\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xs\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xs\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xs\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xs\:grid-cols-none{grid-template-columns:none}.xs\:auto-cols-auto{grid-auto-columns:auto}.xs\:auto-cols-min{grid-auto-columns:min-content}.xs\:auto-cols-max{grid-auto-columns:max-content}.xs\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xs\:col-auto{grid-column:auto}.xs\:col-span-1{grid-column:span 1/span 1}.xs\:col-span-2{grid-column:span 2/span 2}.xs\:col-span-3{grid-column:span 3/span 3}.xs\:col-span-4{grid-column:span 4/span 4}.xs\:col-span-5{grid-column:span 5/span 5}.xs\:col-span-6{grid-column:span 6/span 6}.xs\:col-span-7{grid-column:span 7/span 7}.xs\:col-span-8{grid-column:span 8/span 8}.xs\:col-span-9{grid-column:span 9/span 9}.xs\:col-span-10{grid-column:span 10/span 10}.xs\:col-span-11{grid-column:span 11/span 11}.xs\:col-span-12{grid-column:span 12/span 12}.xs\:col-span-full{grid-column:1/-1}.xs\:col-start-1{grid-column-start:1}.xs\:col-start-2{grid-column-start:2}.xs\:col-start-3{grid-column-start:3}.xs\:col-start-4{grid-column-start:4}.xs\:col-start-5{grid-column-start:5}.xs\:col-start-6{grid-column-start:6}.xs\:col-start-7{grid-column-start:7}.xs\:col-start-8{grid-column-start:8}.xs\:col-start-9{grid-column-start:9}.xs\:col-start-10{grid-column-start:10}.xs\:col-start-11{grid-column-start:11}.xs\:col-start-12{grid-column-start:12}.xs\:col-start-13{grid-column-start:13}.xs\:col-start-auto{grid-column-start:auto}.xs\:col-end-1{grid-column-end:1}.xs\:col-end-2{grid-column-end:2}.xs\:col-end-3{grid-column-end:3}.xs\:col-end-4{grid-column-end:4}.xs\:col-end-5{grid-column-end:5}.xs\:col-end-6{grid-column-end:6}.xs\:col-end-7{grid-column-end:7}.xs\:col-end-8{grid-column-end:8}.xs\:col-end-9{grid-column-end:9}.xs\:col-end-10{grid-column-end:10}.xs\:col-end-11{grid-column-end:11}.xs\:col-end-12{grid-column-end:12}.xs\:col-end-13{grid-column-end:13}.xs\:col-end-auto{grid-column-end:auto}.xs\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xs\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xs\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xs\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xs\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xs\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xs\:grid-rows-none{grid-template-rows:none}.xs\:auto-rows-auto{grid-auto-rows:auto}.xs\:auto-rows-min{grid-auto-rows:min-content}.xs\:auto-rows-max{grid-auto-rows:max-content}.xs\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xs\:row-auto{grid-row:auto}.xs\:row-span-1{grid-row:span 1/span 1}.xs\:row-span-2{grid-row:span 2/span 2}.xs\:row-span-3{grid-row:span 3/span 3}.xs\:row-span-4{grid-row:span 4/span 4}.xs\:row-span-5{grid-row:span 5/span 5}.xs\:row-span-6{grid-row:span 6/span 6}.xs\:row-span-full{grid-row:1/-1}.xs\:row-start-1{grid-row-start:1}.xs\:row-start-2{grid-row-start:2}.xs\:row-start-3{grid-row-start:3}.xs\:row-start-4{grid-row-start:4}.xs\:row-start-5{grid-row-start:5}.xs\:row-start-6{grid-row-start:6}.xs\:row-start-7{grid-row-start:7}.xs\:row-start-auto{grid-row-start:auto}.xs\:row-end-1{grid-row-end:1}.xs\:row-end-2{grid-row-end:2}.xs\:row-end-3{grid-row-end:3}.xs\:row-end-4{grid-row-end:4}.xs\:row-end-5{grid-row-end:5}.xs\:row-end-6{grid-row-end:6}.xs\:row-end-7{grid-row-end:7}.xs\:row-end-auto{grid-row-end:auto}.xs\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xs\:transform-none{transform:none}.xs\:origin-center{transform-origin:center}.xs\:origin-top{transform-origin:top}.xs\:origin-top-right{transform-origin:top right}.xs\:origin-right{transform-origin:right}.xs\:origin-bottom-right{transform-origin:bottom right}.xs\:origin-bottom{transform-origin:bottom}.xs\:origin-bottom-left{transform-origin:bottom left}.xs\:origin-left{transform-origin:left}.xs\:origin-top-left{transform-origin:top left}.xs\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xs\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xs\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:scale-x-0{--transform-scale-x:0}.xs\:scale-x-50{--transform-scale-x:.5}.xs\:scale-x-75{--transform-scale-x:.75}.xs\:scale-x-90{--transform-scale-x:.9}.xs\:scale-x-95{--transform-scale-x:.95}.xs\:scale-x-100{--transform-scale-x:1}.xs\:scale-x-105{--transform-scale-x:1.05}.xs\:scale-x-110{--transform-scale-x:1.1}.xs\:scale-x-125{--transform-scale-x:1.25}.xs\:scale-x-150{--transform-scale-x:1.5}.xs\:scale-y-0{--transform-scale-y:0}.xs\:scale-y-50{--transform-scale-y:.5}.xs\:scale-y-75{--transform-scale-y:.75}.xs\:scale-y-90{--transform-scale-y:.9}.xs\:scale-y-95{--transform-scale-y:.95}.xs\:scale-y-100{--transform-scale-y:1}.xs\:scale-y-105{--transform-scale-y:1.05}.xs\:scale-y-110{--transform-scale-y:1.1}.xs\:scale-y-125{--transform-scale-y:1.25}.xs\:scale-y-150{--transform-scale-y:1.5}.xs\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xs\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xs\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:hover\:scale-x-0:hover{--transform-scale-x:0}.xs\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xs\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xs\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xs\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xs\:hover\:scale-x-100:hover{--transform-scale-x:1}.xs\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xs\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xs\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xs\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xs\:hover\:scale-y-0:hover{--transform-scale-y:0}.xs\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xs\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xs\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xs\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xs\:hover\:scale-y-100:hover{--transform-scale-y:1}.xs\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xs\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xs\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xs\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xs\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xs\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xs\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:focus\:scale-x-0:focus{--transform-scale-x:0}.xs\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xs\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xs\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xs\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xs\:focus\:scale-x-100:focus{--transform-scale-x:1}.xs\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xs\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xs\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xs\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xs\:focus\:scale-y-0:focus{--transform-scale-y:0}.xs\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xs\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xs\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xs\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xs\:focus\:scale-y-100:focus{--transform-scale-y:1}.xs\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xs\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xs\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xs\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xs\:rotate-0{--transform-rotate:0}.xs\:rotate-1{--transform-rotate:1deg}.xs\:rotate-2{--transform-rotate:2deg}.xs\:rotate-3{--transform-rotate:3deg}.xs\:rotate-6{--transform-rotate:6deg}.xs\:rotate-12{--transform-rotate:12deg}.xs\:rotate-45{--transform-rotate:45deg}.xs\:rotate-90{--transform-rotate:90deg}.xs\:rotate-180{--transform-rotate:180deg}.xs\:-rotate-180{--transform-rotate:-180deg}.xs\:-rotate-90{--transform-rotate:-90deg}.xs\:-rotate-45{--transform-rotate:-45deg}.xs\:-rotate-12{--transform-rotate:-12deg}.xs\:-rotate-6{--transform-rotate:-6deg}.xs\:-rotate-3{--transform-rotate:-3deg}.xs\:-rotate-2{--transform-rotate:-2deg}.xs\:-rotate-1{--transform-rotate:-1deg}.xs\:hover\:rotate-0:hover{--transform-rotate:0}.xs\:hover\:rotate-1:hover{--transform-rotate:1deg}.xs\:hover\:rotate-2:hover{--transform-rotate:2deg}.xs\:hover\:rotate-3:hover{--transform-rotate:3deg}.xs\:hover\:rotate-6:hover{--transform-rotate:6deg}.xs\:hover\:rotate-12:hover{--transform-rotate:12deg}.xs\:hover\:rotate-45:hover{--transform-rotate:45deg}.xs\:hover\:rotate-90:hover{--transform-rotate:90deg}.xs\:hover\:rotate-180:hover{--transform-rotate:180deg}.xs\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xs\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xs\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xs\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xs\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xs\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xs\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xs\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xs\:focus\:rotate-0:focus{--transform-rotate:0}.xs\:focus\:rotate-1:focus{--transform-rotate:1deg}.xs\:focus\:rotate-2:focus{--transform-rotate:2deg}.xs\:focus\:rotate-3:focus{--transform-rotate:3deg}.xs\:focus\:rotate-6:focus{--transform-rotate:6deg}.xs\:focus\:rotate-12:focus{--transform-rotate:12deg}.xs\:focus\:rotate-45:focus{--transform-rotate:45deg}.xs\:focus\:rotate-90:focus{--transform-rotate:90deg}.xs\:focus\:rotate-180:focus{--transform-rotate:180deg}.xs\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xs\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xs\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xs\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xs\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xs\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xs\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xs\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xs\:translate-x-0{--transform-translate-x:0}.xs\:translate-x-1{--transform-translate-x:0.25rem}.xs\:translate-x-2{--transform-translate-x:0.5rem}.xs\:translate-x-3{--transform-translate-x:0.75rem}.xs\:translate-x-4{--transform-translate-x:1rem}.xs\:translate-x-5{--transform-translate-x:1.25rem}.xs\:translate-x-6{--transform-translate-x:1.5rem}.xs\:translate-x-8{--transform-translate-x:2rem}.xs\:translate-x-10{--transform-translate-x:2.5rem}.xs\:translate-x-12{--transform-translate-x:3rem}.xs\:translate-x-16{--transform-translate-x:4rem}.xs\:translate-x-20{--transform-translate-x:5rem}.xs\:translate-x-24{--transform-translate-x:6rem}.xs\:translate-x-32{--transform-translate-x:8rem}.xs\:translate-x-40{--transform-translate-x:10rem}.xs\:translate-x-48{--transform-translate-x:12rem}.xs\:translate-x-56{--transform-translate-x:14rem}.xs\:translate-x-64{--transform-translate-x:16rem}.xs\:translate-x-px{--transform-translate-x:1px}.xs\:-translate-x-1{--transform-translate-x:-0.25rem}.xs\:-translate-x-2{--transform-translate-x:-0.5rem}.xs\:-translate-x-3{--transform-translate-x:-0.75rem}.xs\:-translate-x-4{--transform-translate-x:-1rem}.xs\:-translate-x-5{--transform-translate-x:-1.25rem}.xs\:-translate-x-6{--transform-translate-x:-1.5rem}.xs\:-translate-x-8{--transform-translate-x:-2rem}.xs\:-translate-x-10{--transform-translate-x:-2.5rem}.xs\:-translate-x-12{--transform-translate-x:-3rem}.xs\:-translate-x-16{--transform-translate-x:-4rem}.xs\:-translate-x-20{--transform-translate-x:-5rem}.xs\:-translate-x-24{--transform-translate-x:-6rem}.xs\:-translate-x-32{--transform-translate-x:-8rem}.xs\:-translate-x-40{--transform-translate-x:-10rem}.xs\:-translate-x-48{--transform-translate-x:-12rem}.xs\:-translate-x-56{--transform-translate-x:-14rem}.xs\:-translate-x-64{--transform-translate-x:-16rem}.xs\:-translate-x-px{--transform-translate-x:-1px}.xs\:-translate-x-full{--transform-translate-x:-100%}.xs\:-translate-x-1\/2{--transform-translate-x:-50%}.xs\:translate-x-1\/2{--transform-translate-x:50%}.xs\:translate-x-full{--transform-translate-x:100%}.xs\:translate-y-0{--transform-translate-y:0}.xs\:translate-y-1{--transform-translate-y:0.25rem}.xs\:translate-y-2{--transform-translate-y:0.5rem}.xs\:translate-y-3{--transform-translate-y:0.75rem}.xs\:translate-y-4{--transform-translate-y:1rem}.xs\:translate-y-5{--transform-translate-y:1.25rem}.xs\:translate-y-6{--transform-translate-y:1.5rem}.xs\:translate-y-8{--transform-translate-y:2rem}.xs\:translate-y-10{--transform-translate-y:2.5rem}.xs\:translate-y-12{--transform-translate-y:3rem}.xs\:translate-y-16{--transform-translate-y:4rem}.xs\:translate-y-20{--transform-translate-y:5rem}.xs\:translate-y-24{--transform-translate-y:6rem}.xs\:translate-y-32{--transform-translate-y:8rem}.xs\:translate-y-40{--transform-translate-y:10rem}.xs\:translate-y-48{--transform-translate-y:12rem}.xs\:translate-y-56{--transform-translate-y:14rem}.xs\:translate-y-64{--transform-translate-y:16rem}.xs\:translate-y-px{--transform-translate-y:1px}.xs\:-translate-y-1{--transform-translate-y:-0.25rem}.xs\:-translate-y-2{--transform-translate-y:-0.5rem}.xs\:-translate-y-3{--transform-translate-y:-0.75rem}.xs\:-translate-y-4{--transform-translate-y:-1rem}.xs\:-translate-y-5{--transform-translate-y:-1.25rem}.xs\:-translate-y-6{--transform-translate-y:-1.5rem}.xs\:-translate-y-8{--transform-translate-y:-2rem}.xs\:-translate-y-10{--transform-translate-y:-2.5rem}.xs\:-translate-y-12{--transform-translate-y:-3rem}.xs\:-translate-y-16{--transform-translate-y:-4rem}.xs\:-translate-y-20{--transform-translate-y:-5rem}.xs\:-translate-y-24{--transform-translate-y:-6rem}.xs\:-translate-y-32{--transform-translate-y:-8rem}.xs\:-translate-y-40{--transform-translate-y:-10rem}.xs\:-translate-y-48{--transform-translate-y:-12rem}.xs\:-translate-y-56{--transform-translate-y:-14rem}.xs\:-translate-y-64{--transform-translate-y:-16rem}.xs\:-translate-y-px{--transform-translate-y:-1px}.xs\:-translate-y-full{--transform-translate-y:-100%}.xs\:-translate-y-1\/2{--transform-translate-y:-50%}.xs\:translate-y-1\/2{--transform-translate-y:50%}.xs\:translate-y-full{--transform-translate-y:100%}.xs\:hover\:translate-x-0:hover{--transform-translate-x:0}.xs\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xs\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xs\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xs\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xs\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xs\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xs\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xs\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xs\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xs\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xs\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xs\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xs\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xs\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xs\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xs\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xs\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xs\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xs\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xs\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xs\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xs\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xs\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xs\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xs\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xs\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xs\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xs\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xs\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xs\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xs\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xs\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xs\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xs\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xs\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xs\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xs\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xs\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xs\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xs\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xs\:hover\:translate-y-0:hover{--transform-translate-y:0}.xs\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xs\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xs\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xs\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xs\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xs\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xs\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xs\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xs\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xs\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xs\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xs\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xs\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xs\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xs\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xs\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xs\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xs\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xs\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xs\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xs\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xs\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xs\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xs\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xs\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xs\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xs\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xs\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xs\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xs\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xs\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xs\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xs\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xs\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xs\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xs\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xs\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xs\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xs\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xs\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xs\:focus\:translate-x-0:focus{--transform-translate-x:0}.xs\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xs\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xs\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xs\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xs\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xs\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xs\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xs\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xs\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xs\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xs\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xs\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xs\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xs\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xs\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xs\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xs\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xs\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xs\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xs\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xs\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xs\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xs\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xs\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xs\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xs\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xs\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xs\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xs\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xs\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xs\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xs\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xs\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xs\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xs\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xs\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xs\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xs\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xs\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xs\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xs\:focus\:translate-y-0:focus{--transform-translate-y:0}.xs\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xs\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xs\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xs\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xs\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xs\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xs\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xs\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xs\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xs\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xs\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xs\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xs\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xs\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xs\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xs\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xs\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xs\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xs\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xs\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xs\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xs\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xs\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xs\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xs\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xs\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xs\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xs\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xs\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xs\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xs\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xs\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xs\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xs\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xs\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xs\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xs\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xs\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xs\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xs\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xs\:skew-x-0{--transform-skew-x:0}.xs\:skew-x-1{--transform-skew-x:1deg}.xs\:skew-x-2{--transform-skew-x:2deg}.xs\:skew-x-3{--transform-skew-x:3deg}.xs\:skew-x-6{--transform-skew-x:6deg}.xs\:skew-x-12{--transform-skew-x:12deg}.xs\:-skew-x-12{--transform-skew-x:-12deg}.xs\:-skew-x-6{--transform-skew-x:-6deg}.xs\:-skew-x-3{--transform-skew-x:-3deg}.xs\:-skew-x-2{--transform-skew-x:-2deg}.xs\:-skew-x-1{--transform-skew-x:-1deg}.xs\:skew-y-0{--transform-skew-y:0}.xs\:skew-y-1{--transform-skew-y:1deg}.xs\:skew-y-2{--transform-skew-y:2deg}.xs\:skew-y-3{--transform-skew-y:3deg}.xs\:skew-y-6{--transform-skew-y:6deg}.xs\:skew-y-12{--transform-skew-y:12deg}.xs\:-skew-y-12{--transform-skew-y:-12deg}.xs\:-skew-y-6{--transform-skew-y:-6deg}.xs\:-skew-y-3{--transform-skew-y:-3deg}.xs\:-skew-y-2{--transform-skew-y:-2deg}.xs\:-skew-y-1{--transform-skew-y:-1deg}.xs\:hover\:skew-x-0:hover{--transform-skew-x:0}.xs\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xs\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xs\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xs\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xs\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xs\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xs\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xs\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xs\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xs\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xs\:hover\:skew-y-0:hover{--transform-skew-y:0}.xs\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xs\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xs\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xs\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xs\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xs\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xs\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xs\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xs\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xs\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xs\:focus\:skew-x-0:focus{--transform-skew-x:0}.xs\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xs\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xs\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xs\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xs\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xs\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xs\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xs\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xs\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xs\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xs\:focus\:skew-y-0:focus{--transform-skew-y:0}.xs\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xs\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xs\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xs\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xs\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xs\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xs\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xs\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xs\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xs\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xs\:transition-none{transition-property:none}.xs\:transition-all{transition-property:all}.xs\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xs\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xs\:transition-opacity{transition-property:opacity}.xs\:transition-shadow{transition-property:box-shadow}.xs\:transition-transform{transition-property:transform}.xs\:ease-linear{transition-timing-function:linear}.xs\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xs\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xs\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xs\:duration-75{transition-duration:75ms}.xs\:duration-100{transition-duration:.1s}.xs\:duration-150{transition-duration:.15s}.xs\:duration-200{transition-duration:.2s}.xs\:duration-300{transition-duration:.3s}.xs\:duration-500{transition-duration:.5s}.xs\:duration-700{transition-duration:.7s}.xs\:duration-1000{transition-duration:1s}.xs\:delay-75{transition-delay:75ms}.xs\:delay-100{transition-delay:.1s}.xs\:delay-150{transition-delay:.15s}.xs\:delay-200{transition-delay:.2s}.xs\:delay-300{transition-delay:.3s}.xs\:delay-500{transition-delay:.5s}.xs\:delay-700{transition-delay:.7s}.xs\:delay-1000{transition-delay:1s}.xs\:animate-none{animation:none}.xs\:animate-spin{animation:spin 1s linear infinite}.xs\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xs\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xs\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:640px){.sm\:container{width:100%}@media (min-width:360px){.sm\:container{max-width:360px}}@media (min-width:640px){.sm\:container{max-width:640px}}@media (min-width:768px){.sm\:container{max-width:768px}}@media (min-width:1024px){.sm\:container{max-width:1024px}}@media (min-width:1280px){.sm\:container{max-width:1280px}}@media (min-width:1480px){.sm\:container{max-width:1480px}}.sm\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.sm\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.sm\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.sm\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.sm\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.sm\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.sm\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.sm\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.sm\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.sm\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.sm\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.sm\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.sm\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.sm\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.sm\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.sm\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.sm\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.sm\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.sm\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.sm\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.sm\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.sm\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.sm\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.sm\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.sm\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.sm\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.sm\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.sm\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.sm\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.sm\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.sm\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.sm\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.sm\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.sm\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.sm\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.sm\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.sm\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.sm\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.sm\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.sm\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.sm\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.sm\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.sm\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.sm\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.sm\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.sm\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.sm\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.sm\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.sm\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.sm\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.sm\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.sm\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.sm\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.sm\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.sm\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.sm\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.sm\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.sm\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.sm\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.sm\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.sm\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.sm\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.sm\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.sm\:divide-transparent>:not(template)~:not(template){border-color:transparent}.sm\:divide-current>:not(template)~:not(template){border-color:currentColor}.sm\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.sm\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.sm\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.sm\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.sm\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.sm\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.sm\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.sm\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.sm\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.sm\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.sm\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.sm\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.sm\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.sm\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.sm\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.sm\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.sm\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.sm\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.sm\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.sm\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.sm\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.sm\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.sm\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.sm\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.sm\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.sm\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.sm\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.sm\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.sm\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.sm\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.sm\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.sm\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.sm\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.sm\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.sm\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.sm\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.sm\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.sm\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.sm\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.sm\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.sm\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.sm\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.sm\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.sm\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.sm\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.sm\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.sm\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.sm\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.sm\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.sm\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.sm\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.sm\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.sm\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.sm\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.sm\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.sm\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.sm\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.sm\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.sm\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.sm\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.sm\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.sm\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.sm\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.sm\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.sm\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.sm\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.sm\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.sm\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.sm\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.sm\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.sm\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.sm\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.sm\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.sm\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.sm\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.sm\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.sm\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.sm\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.sm\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.sm\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.sm\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.sm\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.sm\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.sm\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.sm\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.sm\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.sm\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.sm\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.sm\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.sm\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.sm\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.sm\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.sm\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.sm\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.sm\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.sm\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.sm\:divide-solid>:not(template)~:not(template){border-style:solid}.sm\:divide-dashed>:not(template)~:not(template){border-style:dashed}.sm\:divide-dotted>:not(template)~:not(template){border-style:dotted}.sm\:divide-double>:not(template)~:not(template){border-style:double}.sm\:divide-none>:not(template)~:not(template){border-style:none}.sm\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.sm\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.sm\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.sm\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.sm\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.sm\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:appearance-none{-webkit-appearance:none;appearance:none}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-clip-border{background-clip:border-box}.sm\:bg-clip-padding{background-clip:padding-box}.sm\:bg-clip-content{background-clip:content-box}.sm\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.sm\:bg-transparent{background-color:transparent}.sm\:bg-current{background-color:currentColor}.sm\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-current:hover{background-color:currentColor}.sm\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:focus\:bg-transparent:focus{background-color:transparent}.sm\:focus\:bg-current:focus{background-color:currentColor}.sm\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:bg-none{background-image:none}.sm\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.sm\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.sm\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.sm\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.sm\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:to-transparent{--gradient-to-color:transparent}.sm\:to-current{--gradient-to-color:currentColor}.sm\:to-black{--gradient-to-color:#000}.sm\:to-white{--gradient-to-color:#fff}.sm\:to-gray-100{--gradient-to-color:#f7fafc}.sm\:to-gray-200{--gradient-to-color:#edf2f7}.sm\:to-gray-300{--gradient-to-color:#e2e8f0}.sm\:to-gray-400{--gradient-to-color:#cbd5e0}.sm\:to-gray-500{--gradient-to-color:#a0aec0}.sm\:to-gray-600{--gradient-to-color:#718096}.sm\:to-gray-700{--gradient-to-color:#4a5568}.sm\:to-gray-800{--gradient-to-color:#2d3748}.sm\:to-gray-900{--gradient-to-color:#1a202c}.sm\:to-red-100{--gradient-to-color:#fff5f5}.sm\:to-red-200{--gradient-to-color:#fed7d7}.sm\:to-red-300{--gradient-to-color:#feb2b2}.sm\:to-red-400{--gradient-to-color:#fc8181}.sm\:to-red-500{--gradient-to-color:#f56565}.sm\:to-red-600{--gradient-to-color:#e53e3e}.sm\:to-red-700{--gradient-to-color:#c53030}.sm\:to-red-800{--gradient-to-color:#9b2c2c}.sm\:to-red-900{--gradient-to-color:#742a2a}.sm\:to-orange-100{--gradient-to-color:#fffaf0}.sm\:to-orange-200{--gradient-to-color:#feebc8}.sm\:to-orange-300{--gradient-to-color:#fbd38d}.sm\:to-orange-400{--gradient-to-color:#f6ad55}.sm\:to-orange-500{--gradient-to-color:#ed8936}.sm\:to-orange-600{--gradient-to-color:#dd6b20}.sm\:to-orange-700{--gradient-to-color:#c05621}.sm\:to-orange-800{--gradient-to-color:#9c4221}.sm\:to-orange-900{--gradient-to-color:#7b341e}.sm\:to-yellow-100{--gradient-to-color:ivory}.sm\:to-yellow-200{--gradient-to-color:#fefcbf}.sm\:to-yellow-300{--gradient-to-color:#faf089}.sm\:to-yellow-400{--gradient-to-color:#f6e05e}.sm\:to-yellow-500{--gradient-to-color:#ecc94b}.sm\:to-yellow-600{--gradient-to-color:#d69e2e}.sm\:to-yellow-700{--gradient-to-color:#b7791f}.sm\:to-yellow-800{--gradient-to-color:#975a16}.sm\:to-yellow-900{--gradient-to-color:#744210}.sm\:to-green-100{--gradient-to-color:#f0fff4}.sm\:to-green-200{--gradient-to-color:#c6f6d5}.sm\:to-green-300{--gradient-to-color:#9ae6b4}.sm\:to-green-400{--gradient-to-color:#68d391}.sm\:to-green-500{--gradient-to-color:#48bb78}.sm\:to-green-600{--gradient-to-color:#38a169}.sm\:to-green-700{--gradient-to-color:#2f855a}.sm\:to-green-800{--gradient-to-color:#276749}.sm\:to-green-900{--gradient-to-color:#22543d}.sm\:to-teal-100{--gradient-to-color:#e6fffa}.sm\:to-teal-200{--gradient-to-color:#b2f5ea}.sm\:to-teal-300{--gradient-to-color:#81e6d9}.sm\:to-teal-400{--gradient-to-color:#4fd1c5}.sm\:to-teal-500{--gradient-to-color:#38b2ac}.sm\:to-teal-600{--gradient-to-color:#319795}.sm\:to-teal-700{--gradient-to-color:#2c7a7b}.sm\:to-teal-800{--gradient-to-color:#285e61}.sm\:to-teal-900{--gradient-to-color:#234e52}.sm\:to-blue-100{--gradient-to-color:#ebf8ff}.sm\:to-blue-200{--gradient-to-color:#bee3f8}.sm\:to-blue-300{--gradient-to-color:#90cdf4}.sm\:to-blue-400{--gradient-to-color:#63b3ed}.sm\:to-blue-500{--gradient-to-color:#4299e1}.sm\:to-blue-600{--gradient-to-color:#3182ce}.sm\:to-blue-700{--gradient-to-color:#2b6cb0}.sm\:to-blue-800{--gradient-to-color:#2c5282}.sm\:to-blue-900{--gradient-to-color:#2a4365}.sm\:to-indigo-100{--gradient-to-color:#ebf4ff}.sm\:to-indigo-200{--gradient-to-color:#c3dafe}.sm\:to-indigo-300{--gradient-to-color:#a3bffa}.sm\:to-indigo-400{--gradient-to-color:#7f9cf5}.sm\:to-indigo-500{--gradient-to-color:#667eea}.sm\:to-indigo-600{--gradient-to-color:#5a67d8}.sm\:to-indigo-700{--gradient-to-color:#4c51bf}.sm\:to-indigo-800{--gradient-to-color:#434190}.sm\:to-indigo-900{--gradient-to-color:#3c366b}.sm\:to-purple-100{--gradient-to-color:#faf5ff}.sm\:to-purple-200{--gradient-to-color:#e9d8fd}.sm\:to-purple-300{--gradient-to-color:#d6bcfa}.sm\:to-purple-400{--gradient-to-color:#b794f4}.sm\:to-purple-500{--gradient-to-color:#9f7aea}.sm\:to-purple-600{--gradient-to-color:#805ad5}.sm\:to-purple-700{--gradient-to-color:#6b46c1}.sm\:to-purple-800{--gradient-to-color:#553c9a}.sm\:to-purple-900{--gradient-to-color:#44337a}.sm\:to-pink-100{--gradient-to-color:#fff5f7}.sm\:to-pink-200{--gradient-to-color:#fed7e2}.sm\:to-pink-300{--gradient-to-color:#fbb6ce}.sm\:to-pink-400{--gradient-to-color:#f687b3}.sm\:to-pink-500{--gradient-to-color:#ed64a6}.sm\:to-pink-600{--gradient-to-color:#d53f8c}.sm\:to-pink-700{--gradient-to-color:#b83280}.sm\:to-pink-800{--gradient-to-color:#97266d}.sm\:to-pink-900{--gradient-to-color:#702459}.sm\:to-primary{--gradient-to-color:#00d1ff}.sm\:to-secondary{--gradient-to-color:#e077ff}.sm\:to-greenish-blue{--gradient-to-color:#adffed}.sm\:to-blue-gray{--gradient-to-color:#cfe1e6}.sm\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:hover\:to-transparent:hover{--gradient-to-color:transparent}.sm\:hover\:to-current:hover{--gradient-to-color:currentColor}.sm\:hover\:to-black:hover{--gradient-to-color:#000}.sm\:hover\:to-white:hover{--gradient-to-color:#fff}.sm\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.sm\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.sm\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.sm\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.sm\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.sm\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.sm\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.sm\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.sm\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.sm\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.sm\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.sm\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.sm\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.sm\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.sm\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.sm\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.sm\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.sm\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.sm\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.sm\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.sm\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.sm\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.sm\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.sm\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.sm\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.sm\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.sm\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.sm\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.sm\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.sm\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.sm\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.sm\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.sm\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.sm\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.sm\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.sm\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.sm\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.sm\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.sm\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.sm\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.sm\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.sm\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.sm\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.sm\:hover\:to-green-800:hover{--gradient-to-color:#276749}.sm\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.sm\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.sm\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.sm\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.sm\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.sm\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.sm\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.sm\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.sm\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.sm\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.sm\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.sm\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.sm\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.sm\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.sm\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.sm\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.sm\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.sm\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.sm\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.sm\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.sm\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.sm\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.sm\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.sm\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.sm\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.sm\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.sm\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.sm\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.sm\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.sm\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.sm\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.sm\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.sm\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.sm\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.sm\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.sm\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.sm\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.sm\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.sm\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.sm\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.sm\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.sm\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.sm\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.sm\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.sm\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.sm\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.sm\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.sm\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.sm\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.sm\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.sm\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:focus\:to-transparent:focus{--gradient-to-color:transparent}.sm\:focus\:to-current:focus{--gradient-to-color:currentColor}.sm\:focus\:to-black:focus{--gradient-to-color:#000}.sm\:focus\:to-white:focus{--gradient-to-color:#fff}.sm\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.sm\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.sm\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.sm\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.sm\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.sm\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.sm\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.sm\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.sm\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.sm\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.sm\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.sm\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.sm\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.sm\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.sm\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.sm\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.sm\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.sm\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.sm\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.sm\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.sm\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.sm\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.sm\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.sm\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.sm\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.sm\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.sm\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.sm\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.sm\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.sm\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.sm\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.sm\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.sm\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.sm\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.sm\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.sm\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.sm\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.sm\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.sm\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.sm\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.sm\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.sm\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.sm\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.sm\:focus\:to-green-800:focus{--gradient-to-color:#276749}.sm\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.sm\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.sm\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.sm\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.sm\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.sm\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.sm\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.sm\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.sm\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.sm\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.sm\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.sm\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.sm\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.sm\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.sm\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.sm\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.sm\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.sm\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.sm\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.sm\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.sm\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.sm\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.sm\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.sm\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.sm\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.sm\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.sm\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.sm\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.sm\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.sm\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.sm\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.sm\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.sm\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.sm\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.sm\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.sm\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.sm\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.sm\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.sm\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.sm\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.sm\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.sm\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.sm\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.sm\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.sm\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.sm\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.sm\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.sm\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.sm\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.sm\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.sm\:bg-opacity-0{--bg-opacity:0}.sm\:bg-opacity-25{--bg-opacity:0.25}.sm\:bg-opacity-50{--bg-opacity:0.5}.sm\:bg-opacity-75{--bg-opacity:0.75}.sm\:bg-opacity-100{--bg-opacity:1}.sm\:hover\:bg-opacity-0:hover{--bg-opacity:0}.sm\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.sm\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.sm\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.sm\:hover\:bg-opacity-100:hover{--bg-opacity:1}.sm\:focus\:bg-opacity-0:focus{--bg-opacity:0}.sm\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.sm\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.sm\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.sm\:focus\:bg-opacity-100:focus{--bg-opacity:1}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:50%}.sm\:bg-left{background-position:0}.sm\:bg-left-bottom{background-position:0 100%}.sm\:bg-left-top{background-position:0 0}.sm\:bg-right{background-position:100%}.sm\:bg-right-bottom{background-position:100% 100%}.sm\:bg-right-top{background-position:100% 0}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-repeat-round{background-repeat:round}.sm\:bg-repeat-space{background-repeat:space}.sm\:bg-auto{background-size:auto}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:border-collapse{border-collapse:collapse}.sm\:border-separate{border-collapse:separate}.sm\:border-transparent{border-color:transparent}.sm\:border-current{border-color:currentColor}.sm\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-current:hover{border-color:currentColor}.sm\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:focus\:border-transparent:focus{border-color:transparent}.sm\:focus\:border-current:focus{border-color:currentColor}.sm\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:border-opacity-0{--border-opacity:0}.sm\:border-opacity-25{--border-opacity:0.25}.sm\:border-opacity-50{--border-opacity:0.5}.sm\:border-opacity-75{--border-opacity:0.75}.sm\:border-opacity-100{--border-opacity:1}.sm\:hover\:border-opacity-0:hover{--border-opacity:0}.sm\:hover\:border-opacity-25:hover{--border-opacity:0.25}.sm\:hover\:border-opacity-50:hover{--border-opacity:0.5}.sm\:hover\:border-opacity-75:hover{--border-opacity:0.75}.sm\:hover\:border-opacity-100:hover{--border-opacity:1}.sm\:focus\:border-opacity-0:focus{--border-opacity:0}.sm\:focus\:border-opacity-25:focus{--border-opacity:0.25}.sm\:focus\:border-opacity-50:focus{--border-opacity:0.5}.sm\:focus\:border-opacity-75:focus{--border-opacity:0.75}.sm\:focus\:border-opacity-100:focus{--border-opacity:1}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:rounded-3xl{border-radius:1.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem}.sm\:rounded-r,.sm\:rounded-t{border-top-right-radius:.25rem}.sm\:rounded-b,.sm\:rounded-r{border-bottom-right-radius:.25rem}.sm\:rounded-b,.sm\:rounded-l{border-bottom-left-radius:.25rem}.sm\:rounded-l{border-top-left-radius:.25rem}.sm\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.sm\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sm\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.sm\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.sm\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.sm\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.sm\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.sm\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-tl-xl{border-top-left-radius:.75rem}.sm\:rounded-tr-xl{border-top-right-radius:.75rem}.sm\:rounded-br-xl{border-bottom-right-radius:.75rem}.sm\:rounded-bl-xl{border-bottom-left-radius:.75rem}.sm\:rounded-tl-2xl{border-top-left-radius:1rem}.sm\:rounded-tr-2xl{border-top-right-radius:1rem}.sm\:rounded-br-2xl{border-bottom-right-radius:1rem}.sm\:rounded-bl-2xl{border-bottom-left-radius:1rem}.sm\:rounded-tl-3xl{border-top-left-radius:1.5rem}.sm\:rounded-tr-3xl{border-top-right-radius:1.5rem}.sm\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.sm\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-double{border-style:double}.sm\:border-none{border-style:none}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-r-0{border-right-width:0}.sm\:border-b-0{border-bottom-width:0}.sm\:border-l-0{border-left-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-r-2{border-right-width:2px}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-l-2{border-left-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-r-4{border-right-width:4px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-l-4{border-left-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-r-8{border-right-width:8px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-l-8{border-left-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r{border-right-width:1px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l{border-left-width:1px}.sm\:box-border{box-sizing:border-box}.sm\:box-content{box-sizing:content-box}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-wait{cursor:wait}.sm\:cursor-text{cursor:text}.sm\:cursor-move{cursor:move}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table{display:table}.sm\:table-caption{display:table-caption}.sm\:table-cell{display:table-cell}.sm\:table-column{display:table-column}.sm\:table-column-group{display:table-column-group}.sm\:table-footer-group{display:table-footer-group}.sm\:table-header-group{display:table-header-group}.sm\:table-row-group{display:table-row-group}.sm\:table-row{display:table-row}.sm\:flow-root{display:flow-root}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:contents{display:contents}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-no-wrap{flex-wrap:nowrap}.sm\:place-items-auto{place-items:auto}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch}.sm\:place-content-center{place-content:center}.sm\:place-content-start{place-content:start}.sm\:place-content-end{place-content:end}.sm\:place-content-between{place-content:space-between}.sm\:place-content-around{place-content:space-around}.sm\:place-content-evenly{place-content:space-evenly}.sm\:place-content-stretch{place-content:stretch}.sm\:place-self-auto{place-self:auto}.sm\:place-self-start{place-self:start}.sm\:place-self-end{place-self:end}.sm\:place-self-center{place-self:center}.sm\:place-self-stretch{place-self:stretch}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:content-evenly{align-content:space-evenly}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:justify-items-auto{justify-items:auto}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:justify-self-auto{justify-self:auto}.sm\:justify-self-start{justify-self:start}.sm\:justify-self-end{justify-self:end}.sm\:justify-self-center{justify-self:center}.sm\:justify-self-stretch{justify-self:stretch}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink{flex-shrink:1}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-6{order:6}.sm\:order-7{order:7}.sm\:order-8{order:8}.sm\:order-9{order:9}.sm\:order-10{order:10}.sm\:order-11{order:11}.sm\:order-12{order:12}.sm\:order-first{order:-9999}.sm\:order-last{order:9999}.sm\:order-none{order:0}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clearfix:after{content:"";display:table;clear:both}.sm\:clear-left{clear:left}.sm\:clear-right{clear:right}.sm\:clear-both{clear:both}.sm\:clear-none{clear:none}.sm\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.sm\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.sm\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.sm\:font-hairline{font-weight:100}.sm\:font-thin{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:hover\:font-hairline:hover{font-weight:100}.sm\:hover\:font-thin:hover{font-weight:200}.sm\:hover\:font-light:hover{font-weight:300}.sm\:hover\:font-normal:hover{font-weight:400}.sm\:hover\:font-medium:hover{font-weight:500}.sm\:hover\:font-semibold:hover{font-weight:600}.sm\:hover\:font-bold:hover{font-weight:700}.sm\:hover\:font-extrabold:hover{font-weight:800}.sm\:hover\:font-black:hover{font-weight:900}.sm\:focus\:font-hairline:focus{font-weight:100}.sm\:focus\:font-thin:focus{font-weight:200}.sm\:focus\:font-light:focus{font-weight:300}.sm\:focus\:font-normal:focus{font-weight:400}.sm\:focus\:font-medium:focus{font-weight:500}.sm\:focus\:font-semibold:focus{font-weight:600}.sm\:focus\:font-bold:focus{font-weight:700}.sm\:focus\:font-extrabold:focus{font-weight:800}.sm\:focus\:font-black:focus{font-weight:900}.sm\:h-0{height:0}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-24{height:6rem}.sm\:h-32{height:8rem}.sm\:h-40{height:10rem}.sm\:h-48{height:12rem}.sm\:h-56{height:14rem}.sm\:h-64{height:16rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:text-xs{font-size:.75rem}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}.sm\:text-4xl{font-size:2.25rem}.sm\:text-5xl{font-size:3rem}.sm\:text-6xl{font-size:4rem}.sm\:leading-3{line-height:.75rem}.sm\:leading-4{line-height:1rem}.sm\:leading-5{line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:leading-7{line-height:1.75rem}.sm\:leading-8{line-height:2rem}.sm\:leading-9{line-height:2.25rem}.sm\:leading-10{line-height:2.5rem}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-snug{line-height:1.375}.sm\:leading-normal{line-height:1.5}.sm\:leading-relaxed{line-height:1.625}.sm\:leading-loose{line-height:2}.sm\:list-inside{list-style-position:inside}.sm\:list-outside{list-style-position:outside}.sm\:list-none{list-style-type:none}.sm\:list-disc{list-style-type:disc}.sm\:list-decimal{list-style-type:decimal}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-8{margin:2rem}.sm\:m-10{margin:2.5rem}.sm\:m-12{margin:3rem}.sm\:m-16{margin:4rem}.sm\:m-20{margin:5rem}.sm\:m-24{margin:6rem}.sm\:m-32{margin:8rem}.sm\:m-40{margin:10rem}.sm\:m-48{margin:12rem}.sm\:m-56{margin:14rem}.sm\:m-64{margin:16rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-5{margin:-1.25rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-8{margin:-2rem}.sm\:-m-10{margin:-2.5rem}.sm\:-m-12{margin:-3rem}.sm\:-m-16{margin:-4rem}.sm\:-m-20{margin:-5rem}.sm\:-m-24{margin:-6rem}.sm\:-m-32{margin:-8rem}.sm\:-m-40{margin:-10rem}.sm\:-m-48{margin:-12rem}.sm\:-m-56{margin:-14rem}.sm\:-m-64{margin:-16rem}.sm\:-m-px{margin:-1px}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:mx-24{margin-left:6rem;margin-right:6rem}.sm\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\:mx-40{margin-left:10rem;margin-right:10rem}.sm\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\:mx-48{margin-left:12rem;margin-right:12rem}.sm\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\:mx-56{margin-left:14rem;margin-right:14rem}.sm\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\:mx-64{margin-left:16rem;margin-right:16rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mt-1{margin-top:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mb-1{margin-bottom:.25rem}.sm\:ml-1{margin-left:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mr-3{margin-right:.75rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mr-4{margin-right:1rem}.sm\:mb-4{margin-bottom:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mr-5{margin-right:1.25rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:mr-8{margin-right:2rem}.sm\:mb-8{margin-bottom:2rem}.sm\:ml-8{margin-left:2rem}.sm\:mt-10{margin-top:2.5rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:ml-10{margin-left:2.5rem}.sm\:mt-12{margin-top:3rem}.sm\:mr-12{margin-right:3rem}.sm\:mb-12{margin-bottom:3rem}.sm\:ml-12{margin-left:3rem}.sm\:mt-16{margin-top:4rem}.sm\:mr-16{margin-right:4rem}.sm\:mb-16{margin-bottom:4rem}.sm\:ml-16{margin-left:4rem}.sm\:mt-20{margin-top:5rem}.sm\:mr-20{margin-right:5rem}.sm\:mb-20{margin-bottom:5rem}.sm\:ml-20{margin-left:5rem}.sm\:mt-24{margin-top:6rem}.sm\:mr-24{margin-right:6rem}.sm\:mb-24{margin-bottom:6rem}.sm\:ml-24{margin-left:6rem}.sm\:mt-32{margin-top:8rem}.sm\:mr-32{margin-right:8rem}.sm\:mb-32{margin-bottom:8rem}.sm\:ml-32{margin-left:8rem}.sm\:mt-40{margin-top:10rem}.sm\:mr-40{margin-right:10rem}.sm\:mb-40{margin-bottom:10rem}.sm\:ml-40{margin-left:10rem}.sm\:mt-48{margin-top:12rem}.sm\:mr-48{margin-right:12rem}.sm\:mb-48{margin-bottom:12rem}.sm\:ml-48{margin-left:12rem}.sm\:mt-56{margin-top:14rem}.sm\:mr-56{margin-right:14rem}.sm\:mb-56{margin-bottom:14rem}.sm\:ml-56{margin-left:14rem}.sm\:mt-64{margin-top:16rem}.sm\:mr-64{margin-right:16rem}.sm\:mb-64{margin-bottom:16rem}.sm\:ml-64{margin-left:16rem}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mt-px{margin-top:1px}.sm\:mr-px{margin-right:1px}.sm\:mb-px{margin-bottom:1px}.sm\:ml-px{margin-left:1px}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-ml-1{margin-left:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-mt-5{margin-top:-1.25rem}.sm\:-mr-5{margin-right:-1.25rem}.sm\:-mb-5{margin-bottom:-1.25rem}.sm\:-ml-5{margin-left:-1.25rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-mt-10{margin-top:-2.5rem}.sm\:-mr-10{margin-right:-2.5rem}.sm\:-mb-10{margin-bottom:-2.5rem}.sm\:-ml-10{margin-left:-2.5rem}.sm\:-mt-12{margin-top:-3rem}.sm\:-mr-12{margin-right:-3rem}.sm\:-mb-12{margin-bottom:-3rem}.sm\:-ml-12{margin-left:-3rem}.sm\:-mt-16{margin-top:-4rem}.sm\:-mr-16{margin-right:-4rem}.sm\:-mb-16{margin-bottom:-4rem}.sm\:-ml-16{margin-left:-4rem}.sm\:-mt-20{margin-top:-5rem}.sm\:-mr-20{margin-right:-5rem}.sm\:-mb-20{margin-bottom:-5rem}.sm\:-ml-20{margin-left:-5rem}.sm\:-mt-24{margin-top:-6rem}.sm\:-mr-24{margin-right:-6rem}.sm\:-mb-24{margin-bottom:-6rem}.sm\:-ml-24{margin-left:-6rem}.sm\:-mt-32{margin-top:-8rem}.sm\:-mr-32{margin-right:-8rem}.sm\:-mb-32{margin-bottom:-8rem}.sm\:-ml-32{margin-left:-8rem}.sm\:-mt-40{margin-top:-10rem}.sm\:-mr-40{margin-right:-10rem}.sm\:-mb-40{margin-bottom:-10rem}.sm\:-ml-40{margin-left:-10rem}.sm\:-mt-48{margin-top:-12rem}.sm\:-mr-48{margin-right:-12rem}.sm\:-mb-48{margin-bottom:-12rem}.sm\:-ml-48{margin-left:-12rem}.sm\:-mt-56{margin-top:-14rem}.sm\:-mr-56{margin-right:-14rem}.sm\:-mb-56{margin-bottom:-14rem}.sm\:-ml-56{margin-left:-14rem}.sm\:-mt-64{margin-top:-16rem}.sm\:-mr-64{margin-right:-16rem}.sm\:-mb-64{margin-bottom:-16rem}.sm\:-ml-64{margin-left:-16rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mr-px{margin-right:-1px}.sm\:-mb-px{margin-bottom:-1px}.sm\:-ml-px{margin-left:-1px}.sm\:max-h-full{max-height:100%}.sm\:max-h-screen{max-height:100vh}.sm\:max-w-none{max-width:none}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-full{max-width:100%}.sm\:max-w-screen-xs{max-width:360px}.sm\:max-w-screen-sm{max-width:640px}.sm\:max-w-screen-md{max-width:768px}.sm\:max-w-screen-lg{max-width:1024px}.sm\:max-w-screen-xl{max-width:1280px}.sm\:max-w-screen-xxl{max-width:1480px}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:object-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-none{-o-object-fit:none;object-fit:none}.sm\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-bottom{-o-object-position:bottom;object-position:bottom}.sm\:object-center{-o-object-position:center;object-position:center}.sm\:object-left{-o-object-position:left;object-position:left}.sm\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.sm\:object-left-top{-o-object-position:left top;object-position:left top}.sm\:object-right{-o-object-position:right;object-position:right}.sm\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.sm\:object-right-top{-o-object-position:right top;object-position:right top}.sm\:object-top{-o-object-position:top;object-position:top}.sm\:opacity-0{opacity:0}.sm\:opacity-25{opacity:.25}.sm\:opacity-50{opacity:.5}.sm\:opacity-75{opacity:.75}.sm\:opacity-100{opacity:1}.sm\:hover\:opacity-0:hover{opacity:0}.sm\:hover\:opacity-25:hover{opacity:.25}.sm\:hover\:opacity-50:hover{opacity:.5}.sm\:hover\:opacity-75:hover{opacity:.75}.sm\:hover\:opacity-100:hover{opacity:1}.sm\:focus\:opacity-0:focus{opacity:0}.sm\:focus\:opacity-25:focus{opacity:.25}.sm\:focus\:opacity-50:focus{opacity:.5}.sm\:focus\:opacity-75:focus{opacity:.75}.sm\:focus\:opacity-100:focus{opacity:1}.sm\:outline-none{outline:2px solid transparent;outline-offset:2px}.sm\:outline-white{outline:2px dotted #fff;outline-offset:2px}.sm\:outline-black{outline:2px dotted #000;outline-offset:2px}.sm\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.sm\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.sm\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-auto{overflow-x:auto}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:overflow-y-hidden{overflow-y:hidden}.sm\:overflow-x-visible{overflow-x:visible}.sm\:overflow-y-visible{overflow-y:visible}.sm\:overflow-x-scroll{overflow-x:scroll}.sm\:overflow-y-scroll{overflow-y:scroll}.sm\:scrolling-touch{-webkit-overflow-scrolling:touch}.sm\:scrolling-auto{-webkit-overflow-scrolling:auto}.sm\:overscroll-auto{overscroll-behavior:auto}.sm\:overscroll-contain{overscroll-behavior:contain}.sm\:overscroll-none{overscroll-behavior:none}.sm\:overscroll-y-auto{overscroll-behavior-y:auto}.sm\:overscroll-y-contain{overscroll-behavior-y:contain}.sm\:overscroll-y-none{overscroll-behavior-y:none}.sm\:overscroll-x-auto{overscroll-behavior-x:auto}.sm\:overscroll-x-contain{overscroll-behavior-x:contain}.sm\:overscroll-x-none{overscroll-behavior-x:none}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-16{padding:4rem}.sm\:p-20{padding:5rem}.sm\:p-24{padding:6rem}.sm\:p-32{padding:8rem}.sm\:p-40{padding:10rem}.sm\:p-48{padding:12rem}.sm\:p-56{padding:14rem}.sm\:p-64{padding:16rem}.sm\:p-px{padding:1px}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:px-24{padding-left:6rem;padding-right:6rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:px-32{padding-left:8rem;padding-right:8rem}.sm\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\:px-40{padding-left:10rem;padding-right:10rem}.sm\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\:px-48{padding-left:12rem;padding-right:12rem}.sm\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\:px-56{padding-left:14rem;padding-right:14rem}.sm\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\:px-64{padding-left:16rem;padding-right:16rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:pt-1{padding-top:.25rem}.sm\:pr-1{padding-right:.25rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pl-1{padding-left:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pl-2{padding-left:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pr-3{padding-right:.75rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pr-4{padding-right:1rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pr-5{padding-right:1.25rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pl-8{padding-left:2rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pt-12{padding-top:3rem}.sm\:pr-12{padding-right:3rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pl-12{padding-left:3rem}.sm\:pt-16{padding-top:4rem}.sm\:pr-16{padding-right:4rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pl-16{padding-left:4rem}.sm\:pt-20{padding-top:5rem}.sm\:pr-20{padding-right:5rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pl-20{padding-left:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pr-24{padding-right:6rem}.sm\:pb-24{padding-bottom:6rem}.sm\:pl-24{padding-left:6rem}.sm\:pt-32{padding-top:8rem}.sm\:pr-32{padding-right:8rem}.sm\:pb-32{padding-bottom:8rem}.sm\:pl-32{padding-left:8rem}.sm\:pt-40{padding-top:10rem}.sm\:pr-40{padding-right:10rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pl-40{padding-left:10rem}.sm\:pt-48{padding-top:12rem}.sm\:pr-48{padding-right:12rem}.sm\:pb-48{padding-bottom:12rem}.sm\:pl-48{padding-left:12rem}.sm\:pt-56{padding-top:14rem}.sm\:pr-56{padding-right:14rem}.sm\:pb-56{padding-bottom:14rem}.sm\:pl-56{padding-left:14rem}.sm\:pt-64{padding-top:16rem}.sm\:pr-64{padding-right:16rem}.sm\:pb-64{padding-bottom:16rem}.sm\:pl-64{padding-left:16rem}.sm\:pt-px{padding-top:1px}.sm\:pr-px{padding-right:1px}.sm\:pb-px{padding-bottom:1px}.sm\:pl-px{padding-left:1px}.sm\:placeholder-transparent::placeholder{color:transparent}.sm\:placeholder-current::placeholder{color:currentColor}.sm\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.sm\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.sm\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.sm\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.sm\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.sm\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.sm\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.sm\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.sm\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.sm\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.sm\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.sm\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.sm\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.sm\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.sm\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.sm\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.sm\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.sm\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.sm\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.sm\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.sm\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.sm\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.sm\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.sm\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.sm\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.sm\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.sm\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.sm\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.sm\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.sm\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.sm\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.sm\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.sm\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.sm\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.sm\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.sm\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.sm\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.sm\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.sm\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.sm\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.sm\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.sm\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.sm\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.sm\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.sm\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.sm\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.sm\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.sm\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.sm\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.sm\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.sm\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.sm\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.sm\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.sm\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.sm\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.sm\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.sm\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.sm\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.sm\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.sm\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.sm\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.sm\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.sm\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.sm\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.sm\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.sm\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.sm\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.sm\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.sm\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.sm\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.sm\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.sm\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.sm\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.sm\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.sm\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.sm\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.sm\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.sm\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.sm\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.sm\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.sm\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.sm\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.sm\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.sm\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.sm\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.sm\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.sm\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.sm\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.sm\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.sm\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.sm\:focus\:placeholder-current:focus::placeholder{color:currentColor}.sm\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.sm\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.sm\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:sticky{position:sticky}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\:inset-y-0{top:0;bottom:0}.sm\:inset-x-0{right:0;left:0}.sm\:inset-y-auto{top:auto;bottom:auto}.sm\:inset-x-auto{right:auto;left:auto}.sm\:top-0{top:0}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:left-0{left:0}.sm\:top-auto{top:auto}.sm\:right-auto{right:auto}.sm\:bottom-auto{bottom:auto}.sm\:left-auto{left:auto}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:shadow-none{box-shadow:none}.sm\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:hover\:shadow-none:hover{box-shadow:none}.sm\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:focus\:shadow-none:focus{box-shadow:none}.sm\:fill-current{fill:currentColor}.sm\:stroke-current{stroke:currentColor}.sm\:stroke-0{stroke-width:0}.sm\:stroke-1{stroke-width:1}.sm\:stroke-2{stroke-width:2}.sm\:table-auto{table-layout:auto}.sm\:table-fixed{table-layout:fixed}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:text-transparent{color:transparent}.sm\:text-current{color:currentColor}.sm\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-current:hover{color:currentColor}.sm\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:focus\:text-transparent:focus{color:transparent}.sm\:focus\:text-current:focus{color:currentColor}.sm\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:text-opacity-0{--text-opacity:0}.sm\:text-opacity-25{--text-opacity:0.25}.sm\:text-opacity-50{--text-opacity:0.5}.sm\:text-opacity-75{--text-opacity:0.75}.sm\:text-opacity-100{--text-opacity:1}.sm\:hover\:text-opacity-0:hover{--text-opacity:0}.sm\:hover\:text-opacity-25:hover{--text-opacity:0.25}.sm\:hover\:text-opacity-50:hover{--text-opacity:0.5}.sm\:hover\:text-opacity-75:hover{--text-opacity:0.75}.sm\:hover\:text-opacity-100:hover{--text-opacity:1}.sm\:focus\:text-opacity-0:focus{--text-opacity:0}.sm\:focus\:text-opacity-25:focus{--text-opacity:0.25}.sm\:focus\:text-opacity-50:focus{--text-opacity:0.5}.sm\:focus\:text-opacity-75:focus{--text-opacity:0.75}.sm\:focus\:text-opacity-100:focus{--text-opacity:1}.sm\:italic{font-style:italic}.sm\:not-italic{font-style:normal}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:focus\:underline:focus{text-decoration:underline}.sm\:focus\:line-through:focus{text-decoration:line-through}.sm\:focus\:no-underline:focus{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:diagonal-fractions,.sm\:lining-nums,.sm\:oldstyle-nums,.sm\:ordinal,.sm\:proportional-nums,.sm\:slashed-zero,.sm\:stacked-fractions,.sm\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.sm\:normal-nums{font-variant-numeric:normal}.sm\:ordinal{--font-variant-numeric-ordinal:ordinal}.sm\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.sm\:lining-nums{--font-variant-numeric-figure:lining-nums}.sm\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.sm\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.sm\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.sm\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.sm\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.sm\:tracking-tighter{letter-spacing:-.05em}.sm\:tracking-tight{letter-spacing:-.025em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.025em}.sm\:tracking-wider{letter-spacing:.05em}.sm\:tracking-widest{letter-spacing:.1em}.sm\:select-none{-webkit-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;user-select:text}.sm\:select-all{-webkit-user-select:all;user-select:all}.sm\:select-auto{-webkit-user-select:auto;user-select:auto}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-no-wrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.sm\:break-words{word-wrap:break-word;overflow-wrap:break-word}.sm\:break-all{word-break:break-all}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:w-0{width:0}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-8{width:2rem}.sm\:w-10{width:2.5rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-40{width:10rem}.sm\:w-48{width:12rem}.sm\:w-56{width:14rem}.sm\:w-64{width:16rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.333333%}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-2\/4{width:50%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.666667%}.sm\:w-2\/6{width:33.333333%}.sm\:w-3\/6{width:50%}.sm\:w-4\/6{width:66.666667%}.sm\:w-5\/6{width:83.333333%}.sm\:w-1\/12{width:8.333333%}.sm\:w-2\/12{width:16.666667%}.sm\:w-3\/12{width:25%}.sm\:w-4\/12{width:33.333333%}.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:w-7\/12{width:58.333333%}.sm\:w-8\/12{width:66.666667%}.sm\:w-9\/12{width:75%}.sm\:w-10\/12{width:83.333333%}.sm\:w-11\/12{width:91.666667%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}.sm\:gap-0{grid-gap:0;gap:0}.sm\:gap-1{grid-gap:.25rem;gap:.25rem}.sm\:gap-2{grid-gap:.5rem;gap:.5rem}.sm\:gap-3{grid-gap:.75rem;gap:.75rem}.sm\:gap-4{grid-gap:1rem;gap:1rem}.sm\:gap-5{grid-gap:1.25rem;gap:1.25rem}.sm\:gap-6{grid-gap:1.5rem;gap:1.5rem}.sm\:gap-8{grid-gap:2rem;gap:2rem}.sm\:gap-10{grid-gap:2.5rem;gap:2.5rem}.sm\:gap-12{grid-gap:3rem;gap:3rem}.sm\:gap-16{grid-gap:4rem;gap:4rem}.sm\:gap-20{grid-gap:5rem;gap:5rem}.sm\:gap-24{grid-gap:6rem;gap:6rem}.sm\:gap-32{grid-gap:8rem;gap:8rem}.sm\:gap-40{grid-gap:10rem;gap:10rem}.sm\:gap-48{grid-gap:12rem;gap:12rem}.sm\:gap-56{grid-gap:14rem;gap:14rem}.sm\:gap-64{grid-gap:16rem;gap:16rem}.sm\:gap-px{grid-gap:1px;gap:1px}.sm\:col-gap-0{grid-column-gap:0;column-gap:0}.sm\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.sm\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.sm\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.sm\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.sm\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.sm\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.sm\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.sm\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.sm\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.sm\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.sm\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.sm\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.sm\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.sm\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.sm\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.sm\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.sm\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.sm\:col-gap-px{grid-column-gap:1px;column-gap:1px}.sm\:gap-x-0{grid-column-gap:0;column-gap:0}.sm\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.sm\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.sm\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.sm\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.sm\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.sm\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.sm\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.sm\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.sm\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.sm\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.sm\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.sm\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.sm\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.sm\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.sm\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.sm\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.sm\:gap-x-px{grid-column-gap:1px;column-gap:1px}.sm\:row-gap-0{grid-row-gap:0;row-gap:0}.sm\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.sm\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.sm\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.sm\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.sm\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.sm\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.sm\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.sm\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.sm\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.sm\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.sm\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.sm\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.sm\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.sm\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.sm\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.sm\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.sm\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.sm\:row-gap-px{grid-row-gap:1px;row-gap:1px}.sm\:gap-y-0{grid-row-gap:0;row-gap:0}.sm\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.sm\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.sm\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.sm\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.sm\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.sm\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.sm\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.sm\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.sm\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.sm\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.sm\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.sm\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.sm\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.sm\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.sm\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.sm\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.sm\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.sm\:gap-y-px{grid-row-gap:1px;row-gap:1px}.sm\:grid-flow-row{grid-auto-flow:row}.sm\:grid-flow-col{grid-auto-flow:column}.sm\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:auto-cols-auto{grid-auto-columns:auto}.sm\:auto-cols-min{grid-auto-columns:min-content}.sm\:auto-cols-max{grid-auto-columns:max-content}.sm\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.sm\:col-auto{grid-column:auto}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}.sm\:col-start-1{grid-column-start:1}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:col-start-13{grid-column-start:13}.sm\:col-start-auto{grid-column-start:auto}.sm\:col-end-1{grid-column-end:1}.sm\:col-end-2{grid-column-end:2}.sm\:col-end-3{grid-column-end:3}.sm\:col-end-4{grid-column-end:4}.sm\:col-end-5{grid-column-end:5}.sm\:col-end-6{grid-column-end:6}.sm\:col-end-7{grid-column-end:7}.sm\:col-end-8{grid-column-end:8}.sm\:col-end-9{grid-column-end:9}.sm\:col-end-10{grid-column-end:10}.sm\:col-end-11{grid-column-end:11}.sm\:col-end-12{grid-column-end:12}.sm\:col-end-13{grid-column-end:13}.sm\:col-end-auto{grid-column-end:auto}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.sm\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.sm\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.sm\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.sm\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.sm\:grid-rows-none{grid-template-rows:none}.sm\:auto-rows-auto{grid-auto-rows:auto}.sm\:auto-rows-min{grid-auto-rows:min-content}.sm\:auto-rows-max{grid-auto-rows:max-content}.sm\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.sm\:row-auto{grid-row:auto}.sm\:row-span-1{grid-row:span 1/span 1}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:row-span-3{grid-row:span 3/span 3}.sm\:row-span-4{grid-row:span 4/span 4}.sm\:row-span-5{grid-row:span 5/span 5}.sm\:row-span-6{grid-row:span 6/span 6}.sm\:row-span-full{grid-row:1/-1}.sm\:row-start-1{grid-row-start:1}.sm\:row-start-2{grid-row-start:2}.sm\:row-start-3{grid-row-start:3}.sm\:row-start-4{grid-row-start:4}.sm\:row-start-5{grid-row-start:5}.sm\:row-start-6{grid-row-start:6}.sm\:row-start-7{grid-row-start:7}.sm\:row-start-auto{grid-row-start:auto}.sm\:row-end-1{grid-row-end:1}.sm\:row-end-2{grid-row-end:2}.sm\:row-end-3{grid-row-end:3}.sm\:row-end-4{grid-row-end:4}.sm\:row-end-5{grid-row-end:5}.sm\:row-end-6{grid-row-end:6}.sm\:row-end-7{grid-row-end:7}.sm\:row-end-auto{grid-row-end:auto}.sm\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.sm\:transform-none{transform:none}.sm\:origin-center{transform-origin:center}.sm\:origin-top{transform-origin:top}.sm\:origin-top-right{transform-origin:top right}.sm\:origin-right{transform-origin:right}.sm\:origin-bottom-right{transform-origin:bottom right}.sm\:origin-bottom{transform-origin:bottom}.sm\:origin-bottom-left{transform-origin:bottom left}.sm\:origin-left{transform-origin:left}.sm\:origin-top-left{transform-origin:top left}.sm\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.sm\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.sm\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:scale-x-0{--transform-scale-x:0}.sm\:scale-x-50{--transform-scale-x:.5}.sm\:scale-x-75{--transform-scale-x:.75}.sm\:scale-x-90{--transform-scale-x:.9}.sm\:scale-x-95{--transform-scale-x:.95}.sm\:scale-x-100{--transform-scale-x:1}.sm\:scale-x-105{--transform-scale-x:1.05}.sm\:scale-x-110{--transform-scale-x:1.1}.sm\:scale-x-125{--transform-scale-x:1.25}.sm\:scale-x-150{--transform-scale-x:1.5}.sm\:scale-y-0{--transform-scale-y:0}.sm\:scale-y-50{--transform-scale-y:.5}.sm\:scale-y-75{--transform-scale-y:.75}.sm\:scale-y-90{--transform-scale-y:.9}.sm\:scale-y-95{--transform-scale-y:.95}.sm\:scale-y-100{--transform-scale-y:1}.sm\:scale-y-105{--transform-scale-y:1.05}.sm\:scale-y-110{--transform-scale-y:1.1}.sm\:scale-y-125{--transform-scale-y:1.25}.sm\:scale-y-150{--transform-scale-y:1.5}.sm\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.sm\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.sm\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:hover\:scale-x-0:hover{--transform-scale-x:0}.sm\:hover\:scale-x-50:hover{--transform-scale-x:.5}.sm\:hover\:scale-x-75:hover{--transform-scale-x:.75}.sm\:hover\:scale-x-90:hover{--transform-scale-x:.9}.sm\:hover\:scale-x-95:hover{--transform-scale-x:.95}.sm\:hover\:scale-x-100:hover{--transform-scale-x:1}.sm\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.sm\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.sm\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.sm\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.sm\:hover\:scale-y-0:hover{--transform-scale-y:0}.sm\:hover\:scale-y-50:hover{--transform-scale-y:.5}.sm\:hover\:scale-y-75:hover{--transform-scale-y:.75}.sm\:hover\:scale-y-90:hover{--transform-scale-y:.9}.sm\:hover\:scale-y-95:hover{--transform-scale-y:.95}.sm\:hover\:scale-y-100:hover{--transform-scale-y:1}.sm\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.sm\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.sm\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.sm\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.sm\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.sm\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.sm\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:focus\:scale-x-0:focus{--transform-scale-x:0}.sm\:focus\:scale-x-50:focus{--transform-scale-x:.5}.sm\:focus\:scale-x-75:focus{--transform-scale-x:.75}.sm\:focus\:scale-x-90:focus{--transform-scale-x:.9}.sm\:focus\:scale-x-95:focus{--transform-scale-x:.95}.sm\:focus\:scale-x-100:focus{--transform-scale-x:1}.sm\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.sm\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.sm\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.sm\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.sm\:focus\:scale-y-0:focus{--transform-scale-y:0}.sm\:focus\:scale-y-50:focus{--transform-scale-y:.5}.sm\:focus\:scale-y-75:focus{--transform-scale-y:.75}.sm\:focus\:scale-y-90:focus{--transform-scale-y:.9}.sm\:focus\:scale-y-95:focus{--transform-scale-y:.95}.sm\:focus\:scale-y-100:focus{--transform-scale-y:1}.sm\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.sm\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.sm\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.sm\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.sm\:rotate-0{--transform-rotate:0}.sm\:rotate-1{--transform-rotate:1deg}.sm\:rotate-2{--transform-rotate:2deg}.sm\:rotate-3{--transform-rotate:3deg}.sm\:rotate-6{--transform-rotate:6deg}.sm\:rotate-12{--transform-rotate:12deg}.sm\:rotate-45{--transform-rotate:45deg}.sm\:rotate-90{--transform-rotate:90deg}.sm\:rotate-180{--transform-rotate:180deg}.sm\:-rotate-180{--transform-rotate:-180deg}.sm\:-rotate-90{--transform-rotate:-90deg}.sm\:-rotate-45{--transform-rotate:-45deg}.sm\:-rotate-12{--transform-rotate:-12deg}.sm\:-rotate-6{--transform-rotate:-6deg}.sm\:-rotate-3{--transform-rotate:-3deg}.sm\:-rotate-2{--transform-rotate:-2deg}.sm\:-rotate-1{--transform-rotate:-1deg}.sm\:hover\:rotate-0:hover{--transform-rotate:0}.sm\:hover\:rotate-1:hover{--transform-rotate:1deg}.sm\:hover\:rotate-2:hover{--transform-rotate:2deg}.sm\:hover\:rotate-3:hover{--transform-rotate:3deg}.sm\:hover\:rotate-6:hover{--transform-rotate:6deg}.sm\:hover\:rotate-12:hover{--transform-rotate:12deg}.sm\:hover\:rotate-45:hover{--transform-rotate:45deg}.sm\:hover\:rotate-90:hover{--transform-rotate:90deg}.sm\:hover\:rotate-180:hover{--transform-rotate:180deg}.sm\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.sm\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.sm\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.sm\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.sm\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.sm\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.sm\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.sm\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.sm\:focus\:rotate-0:focus{--transform-rotate:0}.sm\:focus\:rotate-1:focus{--transform-rotate:1deg}.sm\:focus\:rotate-2:focus{--transform-rotate:2deg}.sm\:focus\:rotate-3:focus{--transform-rotate:3deg}.sm\:focus\:rotate-6:focus{--transform-rotate:6deg}.sm\:focus\:rotate-12:focus{--transform-rotate:12deg}.sm\:focus\:rotate-45:focus{--transform-rotate:45deg}.sm\:focus\:rotate-90:focus{--transform-rotate:90deg}.sm\:focus\:rotate-180:focus{--transform-rotate:180deg}.sm\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.sm\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.sm\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.sm\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.sm\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.sm\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.sm\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.sm\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.sm\:translate-x-0{--transform-translate-x:0}.sm\:translate-x-1{--transform-translate-x:0.25rem}.sm\:translate-x-2{--transform-translate-x:0.5rem}.sm\:translate-x-3{--transform-translate-x:0.75rem}.sm\:translate-x-4{--transform-translate-x:1rem}.sm\:translate-x-5{--transform-translate-x:1.25rem}.sm\:translate-x-6{--transform-translate-x:1.5rem}.sm\:translate-x-8{--transform-translate-x:2rem}.sm\:translate-x-10{--transform-translate-x:2.5rem}.sm\:translate-x-12{--transform-translate-x:3rem}.sm\:translate-x-16{--transform-translate-x:4rem}.sm\:translate-x-20{--transform-translate-x:5rem}.sm\:translate-x-24{--transform-translate-x:6rem}.sm\:translate-x-32{--transform-translate-x:8rem}.sm\:translate-x-40{--transform-translate-x:10rem}.sm\:translate-x-48{--transform-translate-x:12rem}.sm\:translate-x-56{--transform-translate-x:14rem}.sm\:translate-x-64{--transform-translate-x:16rem}.sm\:translate-x-px{--transform-translate-x:1px}.sm\:-translate-x-1{--transform-translate-x:-0.25rem}.sm\:-translate-x-2{--transform-translate-x:-0.5rem}.sm\:-translate-x-3{--transform-translate-x:-0.75rem}.sm\:-translate-x-4{--transform-translate-x:-1rem}.sm\:-translate-x-5{--transform-translate-x:-1.25rem}.sm\:-translate-x-6{--transform-translate-x:-1.5rem}.sm\:-translate-x-8{--transform-translate-x:-2rem}.sm\:-translate-x-10{--transform-translate-x:-2.5rem}.sm\:-translate-x-12{--transform-translate-x:-3rem}.sm\:-translate-x-16{--transform-translate-x:-4rem}.sm\:-translate-x-20{--transform-translate-x:-5rem}.sm\:-translate-x-24{--transform-translate-x:-6rem}.sm\:-translate-x-32{--transform-translate-x:-8rem}.sm\:-translate-x-40{--transform-translate-x:-10rem}.sm\:-translate-x-48{--transform-translate-x:-12rem}.sm\:-translate-x-56{--transform-translate-x:-14rem}.sm\:-translate-x-64{--transform-translate-x:-16rem}.sm\:-translate-x-px{--transform-translate-x:-1px}.sm\:-translate-x-full{--transform-translate-x:-100%}.sm\:-translate-x-1\/2{--transform-translate-x:-50%}.sm\:translate-x-1\/2{--transform-translate-x:50%}.sm\:translate-x-full{--transform-translate-x:100%}.sm\:translate-y-0{--transform-translate-y:0}.sm\:translate-y-1{--transform-translate-y:0.25rem}.sm\:translate-y-2{--transform-translate-y:0.5rem}.sm\:translate-y-3{--transform-translate-y:0.75rem}.sm\:translate-y-4{--transform-translate-y:1rem}.sm\:translate-y-5{--transform-translate-y:1.25rem}.sm\:translate-y-6{--transform-translate-y:1.5rem}.sm\:translate-y-8{--transform-translate-y:2rem}.sm\:translate-y-10{--transform-translate-y:2.5rem}.sm\:translate-y-12{--transform-translate-y:3rem}.sm\:translate-y-16{--transform-translate-y:4rem}.sm\:translate-y-20{--transform-translate-y:5rem}.sm\:translate-y-24{--transform-translate-y:6rem}.sm\:translate-y-32{--transform-translate-y:8rem}.sm\:translate-y-40{--transform-translate-y:10rem}.sm\:translate-y-48{--transform-translate-y:12rem}.sm\:translate-y-56{--transform-translate-y:14rem}.sm\:translate-y-64{--transform-translate-y:16rem}.sm\:translate-y-px{--transform-translate-y:1px}.sm\:-translate-y-1{--transform-translate-y:-0.25rem}.sm\:-translate-y-2{--transform-translate-y:-0.5rem}.sm\:-translate-y-3{--transform-translate-y:-0.75rem}.sm\:-translate-y-4{--transform-translate-y:-1rem}.sm\:-translate-y-5{--transform-translate-y:-1.25rem}.sm\:-translate-y-6{--transform-translate-y:-1.5rem}.sm\:-translate-y-8{--transform-translate-y:-2rem}.sm\:-translate-y-10{--transform-translate-y:-2.5rem}.sm\:-translate-y-12{--transform-translate-y:-3rem}.sm\:-translate-y-16{--transform-translate-y:-4rem}.sm\:-translate-y-20{--transform-translate-y:-5rem}.sm\:-translate-y-24{--transform-translate-y:-6rem}.sm\:-translate-y-32{--transform-translate-y:-8rem}.sm\:-translate-y-40{--transform-translate-y:-10rem}.sm\:-translate-y-48{--transform-translate-y:-12rem}.sm\:-translate-y-56{--transform-translate-y:-14rem}.sm\:-translate-y-64{--transform-translate-y:-16rem}.sm\:-translate-y-px{--transform-translate-y:-1px}.sm\:-translate-y-full{--transform-translate-y:-100%}.sm\:-translate-y-1\/2{--transform-translate-y:-50%}.sm\:translate-y-1\/2{--transform-translate-y:50%}.sm\:translate-y-full{--transform-translate-y:100%}.sm\:hover\:translate-x-0:hover{--transform-translate-x:0}.sm\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.sm\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.sm\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.sm\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.sm\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.sm\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.sm\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.sm\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.sm\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.sm\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.sm\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.sm\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.sm\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.sm\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.sm\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.sm\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.sm\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.sm\:hover\:translate-x-px:hover{--transform-translate-x:1px}.sm\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.sm\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.sm\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.sm\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.sm\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.sm\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.sm\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.sm\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.sm\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.sm\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.sm\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.sm\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.sm\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.sm\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.sm\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.sm\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.sm\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.sm\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.sm\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.sm\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.sm\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-full:hover{--transform-translate-x:100%}.sm\:hover\:translate-y-0:hover{--transform-translate-y:0}.sm\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.sm\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.sm\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.sm\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.sm\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.sm\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.sm\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.sm\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.sm\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.sm\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.sm\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.sm\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.sm\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.sm\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.sm\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.sm\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.sm\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.sm\:hover\:translate-y-px:hover{--transform-translate-y:1px}.sm\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.sm\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.sm\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.sm\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.sm\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.sm\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.sm\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.sm\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.sm\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.sm\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.sm\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.sm\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.sm\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.sm\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.sm\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.sm\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.sm\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.sm\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.sm\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.sm\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.sm\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-full:hover{--transform-translate-y:100%}.sm\:focus\:translate-x-0:focus{--transform-translate-x:0}.sm\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.sm\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.sm\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.sm\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.sm\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.sm\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.sm\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.sm\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.sm\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.sm\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.sm\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.sm\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.sm\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.sm\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.sm\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.sm\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.sm\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.sm\:focus\:translate-x-px:focus{--transform-translate-x:1px}.sm\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.sm\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.sm\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.sm\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.sm\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.sm\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.sm\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.sm\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.sm\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.sm\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.sm\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.sm\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.sm\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.sm\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.sm\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.sm\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.sm\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.sm\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.sm\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.sm\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.sm\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-full:focus{--transform-translate-x:100%}.sm\:focus\:translate-y-0:focus{--transform-translate-y:0}.sm\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.sm\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.sm\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.sm\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.sm\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.sm\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.sm\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.sm\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.sm\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.sm\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.sm\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.sm\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.sm\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.sm\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.sm\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.sm\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.sm\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.sm\:focus\:translate-y-px:focus{--transform-translate-y:1px}.sm\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.sm\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.sm\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.sm\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.sm\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.sm\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.sm\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.sm\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.sm\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.sm\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.sm\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.sm\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.sm\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.sm\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.sm\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.sm\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.sm\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.sm\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.sm\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.sm\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.sm\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-full:focus{--transform-translate-y:100%}.sm\:skew-x-0{--transform-skew-x:0}.sm\:skew-x-1{--transform-skew-x:1deg}.sm\:skew-x-2{--transform-skew-x:2deg}.sm\:skew-x-3{--transform-skew-x:3deg}.sm\:skew-x-6{--transform-skew-x:6deg}.sm\:skew-x-12{--transform-skew-x:12deg}.sm\:-skew-x-12{--transform-skew-x:-12deg}.sm\:-skew-x-6{--transform-skew-x:-6deg}.sm\:-skew-x-3{--transform-skew-x:-3deg}.sm\:-skew-x-2{--transform-skew-x:-2deg}.sm\:-skew-x-1{--transform-skew-x:-1deg}.sm\:skew-y-0{--transform-skew-y:0}.sm\:skew-y-1{--transform-skew-y:1deg}.sm\:skew-y-2{--transform-skew-y:2deg}.sm\:skew-y-3{--transform-skew-y:3deg}.sm\:skew-y-6{--transform-skew-y:6deg}.sm\:skew-y-12{--transform-skew-y:12deg}.sm\:-skew-y-12{--transform-skew-y:-12deg}.sm\:-skew-y-6{--transform-skew-y:-6deg}.sm\:-skew-y-3{--transform-skew-y:-3deg}.sm\:-skew-y-2{--transform-skew-y:-2deg}.sm\:-skew-y-1{--transform-skew-y:-1deg}.sm\:hover\:skew-x-0:hover{--transform-skew-x:0}.sm\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.sm\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.sm\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.sm\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.sm\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.sm\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.sm\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.sm\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.sm\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.sm\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.sm\:hover\:skew-y-0:hover{--transform-skew-y:0}.sm\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.sm\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.sm\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.sm\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.sm\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.sm\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.sm\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.sm\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.sm\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.sm\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.sm\:focus\:skew-x-0:focus{--transform-skew-x:0}.sm\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.sm\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.sm\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.sm\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.sm\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.sm\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.sm\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.sm\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.sm\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.sm\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.sm\:focus\:skew-y-0:focus{--transform-skew-y:0}.sm\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.sm\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.sm\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.sm\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.sm\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.sm\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.sm\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.sm\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.sm\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.sm\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.sm\:transition-none{transition-property:none}.sm\:transition-all{transition-property:all}.sm\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.sm\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.sm\:transition-opacity{transition-property:opacity}.sm\:transition-shadow{transition-property:box-shadow}.sm\:transition-transform{transition-property:transform}.sm\:ease-linear{transition-timing-function:linear}.sm\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.sm\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.sm\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.sm\:duration-75{transition-duration:75ms}.sm\:duration-100{transition-duration:.1s}.sm\:duration-150{transition-duration:.15s}.sm\:duration-200{transition-duration:.2s}.sm\:duration-300{transition-duration:.3s}.sm\:duration-500{transition-duration:.5s}.sm\:duration-700{transition-duration:.7s}.sm\:duration-1000{transition-duration:1s}.sm\:delay-75{transition-delay:75ms}.sm\:delay-100{transition-delay:.1s}.sm\:delay-150{transition-delay:.15s}.sm\:delay-200{transition-delay:.2s}.sm\:delay-300{transition-delay:.3s}.sm\:delay-500{transition-delay:.5s}.sm\:delay-700{transition-delay:.7s}.sm\:delay-1000{transition-delay:1s}.sm\:animate-none{animation:none}.sm\:animate-spin{animation:spin 1s linear infinite}.sm\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.sm\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sm\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:768px){.md\:container{width:100%}@media (min-width:360px){.md\:container{max-width:360px}}@media (min-width:640px){.md\:container{max-width:640px}}@media (min-width:768px){.md\:container{max-width:768px}}@media (min-width:1024px){.md\:container{max-width:1024px}}@media (min-width:1280px){.md\:container{max-width:1280px}}@media (min-width:1480px){.md\:container{max-width:1480px}}.md\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.md\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.md\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.md\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.md\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.md\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.md\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.md\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.md\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.md\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.md\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.md\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.md\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.md\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.md\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.md\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.md\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.md\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.md\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.md\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.md\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.md\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.md\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.md\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.md\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.md\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.md\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.md\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.md\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.md\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.md\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.md\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.md\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.md\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.md\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.md\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.md\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.md\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.md\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.md\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.md\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.md\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.md\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.md\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.md\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.md\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.md\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.md\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.md\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.md\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.md\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.md\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.md\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.md\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.md\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.md\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.md\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.md\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.md\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.md\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.md\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.md\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.md\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.md\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.md\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.md\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.md\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.md\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.md\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.md\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.md\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.md\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.md\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.md\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.md\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.md\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.md\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.md\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.md\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.md\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.md\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.md\:divide-transparent>:not(template)~:not(template){border-color:transparent}.md\:divide-current>:not(template)~:not(template){border-color:currentColor}.md\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.md\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.md\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.md\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.md\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.md\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.md\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.md\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.md\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.md\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.md\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.md\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.md\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.md\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.md\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.md\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.md\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.md\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.md\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.md\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.md\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.md\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.md\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.md\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.md\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.md\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.md\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.md\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.md\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.md\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.md\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.md\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.md\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.md\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.md\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.md\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.md\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.md\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.md\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.md\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.md\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.md\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.md\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.md\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.md\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.md\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.md\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.md\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.md\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.md\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.md\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.md\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.md\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.md\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.md\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.md\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.md\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.md\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.md\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.md\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.md\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.md\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.md\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.md\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.md\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.md\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.md\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.md\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.md\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.md\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.md\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.md\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.md\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.md\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.md\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.md\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.md\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.md\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.md\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.md\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.md\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.md\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.md\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.md\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.md\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.md\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.md\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.md\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.md\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.md\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.md\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.md\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.md\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.md\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.md\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.md\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.md\:divide-solid>:not(template)~:not(template){border-style:solid}.md\:divide-dashed>:not(template)~:not(template){border-style:dashed}.md\:divide-dotted>:not(template)~:not(template){border-style:dotted}.md\:divide-double>:not(template)~:not(template){border-style:double}.md\:divide-none>:not(template)~:not(template){border-style:none}.md\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.md\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.md\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.md\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.md\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.md\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:appearance-none{-webkit-appearance:none;appearance:none}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-clip-border{background-clip:border-box}.md\:bg-clip-padding{background-clip:padding-box}.md\:bg-clip-content{background-clip:content-box}.md\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.md\:bg-transparent{background-color:transparent}.md\:bg-current{background-color:currentColor}.md\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-current:hover{background-color:currentColor}.md\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:focus\:bg-transparent:focus{background-color:transparent}.md\:focus\:bg-current:focus{background-color:currentColor}.md\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:bg-none{background-image:none}.md\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.md\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.md\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.md\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.md\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.md\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.md\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.md\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.md\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:to-transparent{--gradient-to-color:transparent}.md\:to-current{--gradient-to-color:currentColor}.md\:to-black{--gradient-to-color:#000}.md\:to-white{--gradient-to-color:#fff}.md\:to-gray-100{--gradient-to-color:#f7fafc}.md\:to-gray-200{--gradient-to-color:#edf2f7}.md\:to-gray-300{--gradient-to-color:#e2e8f0}.md\:to-gray-400{--gradient-to-color:#cbd5e0}.md\:to-gray-500{--gradient-to-color:#a0aec0}.md\:to-gray-600{--gradient-to-color:#718096}.md\:to-gray-700{--gradient-to-color:#4a5568}.md\:to-gray-800{--gradient-to-color:#2d3748}.md\:to-gray-900{--gradient-to-color:#1a202c}.md\:to-red-100{--gradient-to-color:#fff5f5}.md\:to-red-200{--gradient-to-color:#fed7d7}.md\:to-red-300{--gradient-to-color:#feb2b2}.md\:to-red-400{--gradient-to-color:#fc8181}.md\:to-red-500{--gradient-to-color:#f56565}.md\:to-red-600{--gradient-to-color:#e53e3e}.md\:to-red-700{--gradient-to-color:#c53030}.md\:to-red-800{--gradient-to-color:#9b2c2c}.md\:to-red-900{--gradient-to-color:#742a2a}.md\:to-orange-100{--gradient-to-color:#fffaf0}.md\:to-orange-200{--gradient-to-color:#feebc8}.md\:to-orange-300{--gradient-to-color:#fbd38d}.md\:to-orange-400{--gradient-to-color:#f6ad55}.md\:to-orange-500{--gradient-to-color:#ed8936}.md\:to-orange-600{--gradient-to-color:#dd6b20}.md\:to-orange-700{--gradient-to-color:#c05621}.md\:to-orange-800{--gradient-to-color:#9c4221}.md\:to-orange-900{--gradient-to-color:#7b341e}.md\:to-yellow-100{--gradient-to-color:ivory}.md\:to-yellow-200{--gradient-to-color:#fefcbf}.md\:to-yellow-300{--gradient-to-color:#faf089}.md\:to-yellow-400{--gradient-to-color:#f6e05e}.md\:to-yellow-500{--gradient-to-color:#ecc94b}.md\:to-yellow-600{--gradient-to-color:#d69e2e}.md\:to-yellow-700{--gradient-to-color:#b7791f}.md\:to-yellow-800{--gradient-to-color:#975a16}.md\:to-yellow-900{--gradient-to-color:#744210}.md\:to-green-100{--gradient-to-color:#f0fff4}.md\:to-green-200{--gradient-to-color:#c6f6d5}.md\:to-green-300{--gradient-to-color:#9ae6b4}.md\:to-green-400{--gradient-to-color:#68d391}.md\:to-green-500{--gradient-to-color:#48bb78}.md\:to-green-600{--gradient-to-color:#38a169}.md\:to-green-700{--gradient-to-color:#2f855a}.md\:to-green-800{--gradient-to-color:#276749}.md\:to-green-900{--gradient-to-color:#22543d}.md\:to-teal-100{--gradient-to-color:#e6fffa}.md\:to-teal-200{--gradient-to-color:#b2f5ea}.md\:to-teal-300{--gradient-to-color:#81e6d9}.md\:to-teal-400{--gradient-to-color:#4fd1c5}.md\:to-teal-500{--gradient-to-color:#38b2ac}.md\:to-teal-600{--gradient-to-color:#319795}.md\:to-teal-700{--gradient-to-color:#2c7a7b}.md\:to-teal-800{--gradient-to-color:#285e61}.md\:to-teal-900{--gradient-to-color:#234e52}.md\:to-blue-100{--gradient-to-color:#ebf8ff}.md\:to-blue-200{--gradient-to-color:#bee3f8}.md\:to-blue-300{--gradient-to-color:#90cdf4}.md\:to-blue-400{--gradient-to-color:#63b3ed}.md\:to-blue-500{--gradient-to-color:#4299e1}.md\:to-blue-600{--gradient-to-color:#3182ce}.md\:to-blue-700{--gradient-to-color:#2b6cb0}.md\:to-blue-800{--gradient-to-color:#2c5282}.md\:to-blue-900{--gradient-to-color:#2a4365}.md\:to-indigo-100{--gradient-to-color:#ebf4ff}.md\:to-indigo-200{--gradient-to-color:#c3dafe}.md\:to-indigo-300{--gradient-to-color:#a3bffa}.md\:to-indigo-400{--gradient-to-color:#7f9cf5}.md\:to-indigo-500{--gradient-to-color:#667eea}.md\:to-indigo-600{--gradient-to-color:#5a67d8}.md\:to-indigo-700{--gradient-to-color:#4c51bf}.md\:to-indigo-800{--gradient-to-color:#434190}.md\:to-indigo-900{--gradient-to-color:#3c366b}.md\:to-purple-100{--gradient-to-color:#faf5ff}.md\:to-purple-200{--gradient-to-color:#e9d8fd}.md\:to-purple-300{--gradient-to-color:#d6bcfa}.md\:to-purple-400{--gradient-to-color:#b794f4}.md\:to-purple-500{--gradient-to-color:#9f7aea}.md\:to-purple-600{--gradient-to-color:#805ad5}.md\:to-purple-700{--gradient-to-color:#6b46c1}.md\:to-purple-800{--gradient-to-color:#553c9a}.md\:to-purple-900{--gradient-to-color:#44337a}.md\:to-pink-100{--gradient-to-color:#fff5f7}.md\:to-pink-200{--gradient-to-color:#fed7e2}.md\:to-pink-300{--gradient-to-color:#fbb6ce}.md\:to-pink-400{--gradient-to-color:#f687b3}.md\:to-pink-500{--gradient-to-color:#ed64a6}.md\:to-pink-600{--gradient-to-color:#d53f8c}.md\:to-pink-700{--gradient-to-color:#b83280}.md\:to-pink-800{--gradient-to-color:#97266d}.md\:to-pink-900{--gradient-to-color:#702459}.md\:to-primary{--gradient-to-color:#00d1ff}.md\:to-secondary{--gradient-to-color:#e077ff}.md\:to-greenish-blue{--gradient-to-color:#adffed}.md\:to-blue-gray{--gradient-to-color:#cfe1e6}.md\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:hover\:to-transparent:hover{--gradient-to-color:transparent}.md\:hover\:to-current:hover{--gradient-to-color:currentColor}.md\:hover\:to-black:hover{--gradient-to-color:#000}.md\:hover\:to-white:hover{--gradient-to-color:#fff}.md\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.md\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.md\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.md\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.md\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.md\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.md\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.md\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.md\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.md\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.md\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.md\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.md\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.md\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.md\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.md\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.md\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.md\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.md\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.md\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.md\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.md\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.md\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.md\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.md\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.md\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.md\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.md\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.md\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.md\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.md\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.md\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.md\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.md\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.md\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.md\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.md\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.md\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.md\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.md\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.md\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.md\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.md\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.md\:hover\:to-green-800:hover{--gradient-to-color:#276749}.md\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.md\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.md\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.md\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.md\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.md\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.md\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.md\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.md\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.md\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.md\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.md\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.md\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.md\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.md\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.md\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.md\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.md\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.md\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.md\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.md\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.md\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.md\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.md\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.md\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.md\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.md\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.md\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.md\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.md\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.md\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.md\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.md\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.md\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.md\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.md\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.md\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.md\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.md\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.md\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.md\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.md\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.md\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.md\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.md\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.md\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.md\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.md\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.md\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.md\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.md\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:focus\:to-transparent:focus{--gradient-to-color:transparent}.md\:focus\:to-current:focus{--gradient-to-color:currentColor}.md\:focus\:to-black:focus{--gradient-to-color:#000}.md\:focus\:to-white:focus{--gradient-to-color:#fff}.md\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.md\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.md\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.md\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.md\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.md\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.md\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.md\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.md\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.md\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.md\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.md\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.md\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.md\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.md\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.md\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.md\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.md\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.md\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.md\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.md\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.md\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.md\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.md\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.md\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.md\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.md\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.md\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.md\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.md\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.md\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.md\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.md\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.md\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.md\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.md\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.md\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.md\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.md\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.md\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.md\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.md\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.md\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.md\:focus\:to-green-800:focus{--gradient-to-color:#276749}.md\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.md\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.md\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.md\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.md\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.md\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.md\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.md\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.md\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.md\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.md\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.md\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.md\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.md\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.md\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.md\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.md\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.md\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.md\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.md\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.md\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.md\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.md\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.md\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.md\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.md\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.md\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.md\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.md\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.md\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.md\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.md\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.md\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.md\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.md\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.md\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.md\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.md\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.md\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.md\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.md\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.md\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.md\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.md\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.md\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.md\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.md\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.md\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.md\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.md\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.md\:bg-opacity-0{--bg-opacity:0}.md\:bg-opacity-25{--bg-opacity:0.25}.md\:bg-opacity-50{--bg-opacity:0.5}.md\:bg-opacity-75{--bg-opacity:0.75}.md\:bg-opacity-100{--bg-opacity:1}.md\:hover\:bg-opacity-0:hover{--bg-opacity:0}.md\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.md\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.md\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.md\:hover\:bg-opacity-100:hover{--bg-opacity:1}.md\:focus\:bg-opacity-0:focus{--bg-opacity:0}.md\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.md\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.md\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.md\:focus\:bg-opacity-100:focus{--bg-opacity:1}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:50%}.md\:bg-left{background-position:0}.md\:bg-left-bottom{background-position:0 100%}.md\:bg-left-top{background-position:0 0}.md\:bg-right{background-position:100%}.md\:bg-right-bottom{background-position:100% 100%}.md\:bg-right-top{background-position:100% 0}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-repeat-round{background-repeat:round}.md\:bg-repeat-space{background-repeat:space}.md\:bg-auto{background-size:auto}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:border-collapse{border-collapse:collapse}.md\:border-separate{border-collapse:separate}.md\:border-transparent{border-color:transparent}.md\:border-current{border-color:currentColor}.md\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-current:hover{border-color:currentColor}.md\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:focus\:border-transparent:focus{border-color:transparent}.md\:focus\:border-current:focus{border-color:currentColor}.md\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:border-opacity-0{--border-opacity:0}.md\:border-opacity-25{--border-opacity:0.25}.md\:border-opacity-50{--border-opacity:0.5}.md\:border-opacity-75{--border-opacity:0.75}.md\:border-opacity-100{--border-opacity:1}.md\:hover\:border-opacity-0:hover{--border-opacity:0}.md\:hover\:border-opacity-25:hover{--border-opacity:0.25}.md\:hover\:border-opacity-50:hover{--border-opacity:0.5}.md\:hover\:border-opacity-75:hover{--border-opacity:0.75}.md\:hover\:border-opacity-100:hover{--border-opacity:1}.md\:focus\:border-opacity-0:focus{--border-opacity:0}.md\:focus\:border-opacity-25:focus{--border-opacity:0.25}.md\:focus\:border-opacity-50:focus{--border-opacity:0.5}.md\:focus\:border-opacity-75:focus{--border-opacity:0.75}.md\:focus\:border-opacity-100:focus{--border-opacity:1}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-md{border-radius:.375rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-3xl{border-radius:1.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem}.md\:rounded-r,.md\:rounded-t{border-top-right-radius:.25rem}.md\:rounded-b,.md\:rounded-r{border-bottom-right-radius:.25rem}.md\:rounded-b,.md\:rounded-l{border-bottom-left-radius:.25rem}.md\:rounded-l{border-top-left-radius:.25rem}.md\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.md\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.md\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.md\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.md\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.md\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.md\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-tl-md{border-top-left-radius:.375rem}.md\:rounded-tr-md{border-top-right-radius:.375rem}.md\:rounded-br-md{border-bottom-right-radius:.375rem}.md\:rounded-bl-md{border-bottom-left-radius:.375rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-tl-xl{border-top-left-radius:.75rem}.md\:rounded-tr-xl{border-top-right-radius:.75rem}.md\:rounded-br-xl{border-bottom-right-radius:.75rem}.md\:rounded-bl-xl{border-bottom-left-radius:.75rem}.md\:rounded-tl-2xl{border-top-left-radius:1rem}.md\:rounded-tr-2xl{border-top-right-radius:1rem}.md\:rounded-br-2xl{border-bottom-right-radius:1rem}.md\:rounded-bl-2xl{border-bottom-left-radius:1rem}.md\:rounded-tl-3xl{border-top-left-radius:1.5rem}.md\:rounded-tr-3xl{border-top-right-radius:1.5rem}.md\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.md\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-double{border-style:double}.md\:border-none{border-style:none}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-r-2{border-right-width:2px}.md\:border-b-2{border-bottom-width:2px}.md\:border-l-2{border-left-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-r-4{border-right-width:4px}.md\:border-b-4{border-bottom-width:4px}.md\:border-l-4{border-left-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-r-8{border-right-width:8px}.md\:border-b-8{border-bottom-width:8px}.md\:border-l-8{border-left-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r{border-right-width:1px}.md\:border-b{border-bottom-width:1px}.md\:border-l{border-left-width:1px}.md\:box-border{box-sizing:border-box}.md\:box-content{box-sizing:content-box}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-wait{cursor:wait}.md\:cursor-text{cursor:text}.md\:cursor-move{cursor:move}.md\:cursor-not-allowed{cursor:not-allowed}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table{display:table}.md\:table-caption{display:table-caption}.md\:table-cell{display:table-cell}.md\:table-column{display:table-column}.md\:table-column-group{display:table-column-group}.md\:table-footer-group{display:table-footer-group}.md\:table-header-group{display:table-header-group}.md\:table-row-group{display:table-row-group}.md\:table-row{display:table-row}.md\:flow-root{display:flow-root}.md\:grid{display:grid}.md\:inline-grid{display:inline-grid}.md\:contents{display:contents}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:place-items-auto{place-items:auto}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch}.md\:place-content-center{place-content:center}.md\:place-content-start{place-content:start}.md\:place-content-end{place-content:end}.md\:place-content-between{place-content:space-between}.md\:place-content-around{place-content:space-around}.md\:place-content-evenly{place-content:space-evenly}.md\:place-content-stretch{place-content:stretch}.md\:place-self-auto{place-self:auto}.md\:place-self-start{place-self:start}.md\:place-self-end{place-self:end}.md\:place-self-center{place-self:center}.md\:place-self-stretch{place-self:stretch}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:content-evenly{align-content:space-evenly}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:justify-items-auto{justify-items:auto}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:justify-self-auto{justify-self:auto}.md\:justify-self-start{justify-self:start}.md\:justify-self-end{justify-self:end}.md\:justify-self-center{justify-self:center}.md\:justify-self-stretch{justify-self:stretch}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-initial{flex:0 1 auto}.md\:flex-none{flex:none}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink{flex-shrink:1}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-6{order:6}.md\:order-7{order:7}.md\:order-8{order:8}.md\:order-9{order:9}.md\:order-10{order:10}.md\:order-11{order:11}.md\:order-12{order:12}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clearfix:after{content:"";display:table;clear:both}.md\:clear-left{clear:left}.md\:clear-right{clear:right}.md\:clear-both{clear:both}.md\:clear-none{clear:none}.md\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.md\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.md\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.md\:font-hairline{font-weight:100}.md\:font-thin{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:hover\:font-hairline:hover{font-weight:100}.md\:hover\:font-thin:hover{font-weight:200}.md\:hover\:font-light:hover{font-weight:300}.md\:hover\:font-normal:hover{font-weight:400}.md\:hover\:font-medium:hover{font-weight:500}.md\:hover\:font-semibold:hover{font-weight:600}.md\:hover\:font-bold:hover{font-weight:700}.md\:hover\:font-extrabold:hover{font-weight:800}.md\:hover\:font-black:hover{font-weight:900}.md\:focus\:font-hairline:focus{font-weight:100}.md\:focus\:font-thin:focus{font-weight:200}.md\:focus\:font-light:focus{font-weight:300}.md\:focus\:font-normal:focus{font-weight:400}.md\:focus\:font-medium:focus{font-weight:500}.md\:focus\:font-semibold:focus{font-weight:600}.md\:focus\:font-bold:focus{font-weight:700}.md\:focus\:font-extrabold:focus{font-weight:800}.md\:focus\:font-black:focus{font-weight:900}.md\:h-0{height:0}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-8{height:2rem}.md\:h-10{height:2.5rem}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-24{height:6rem}.md\:h-32{height:8rem}.md\:h-40{height:10rem}.md\:h-48{height:12rem}.md\:h-56{height:14rem}.md\:h-64{height:16rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:text-xs{font-size:.75rem}.md\:text-sm{font-size:.875rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:text-6xl{font-size:4rem}.md\:leading-3{line-height:.75rem}.md\:leading-4{line-height:1rem}.md\:leading-5{line-height:1.25rem}.md\:leading-6{line-height:1.5rem}.md\:leading-7{line-height:1.75rem}.md\:leading-8{line-height:2rem}.md\:leading-9{line-height:2.25rem}.md\:leading-10{line-height:2.5rem}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-snug{line-height:1.375}.md\:leading-normal{line-height:1.5}.md\:leading-relaxed{line-height:1.625}.md\:leading-loose{line-height:2}.md\:list-inside{list-style-position:inside}.md\:list-outside{list-style-position:outside}.md\:list-none{list-style-type:none}.md\:list-disc{list-style-type:disc}.md\:list-decimal{list-style-type:decimal}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-8{margin:2rem}.md\:m-10{margin:2.5rem}.md\:m-12{margin:3rem}.md\:m-16{margin:4rem}.md\:m-20{margin:5rem}.md\:m-24{margin:6rem}.md\:m-32{margin:8rem}.md\:m-40{margin:10rem}.md\:m-48{margin:12rem}.md\:m-56{margin:14rem}.md\:m-64{margin:16rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-5{margin:-1.25rem}.md\:-m-6{margin:-1.5rem}.md\:-m-8{margin:-2rem}.md\:-m-10{margin:-2.5rem}.md\:-m-12{margin:-3rem}.md\:-m-16{margin:-4rem}.md\:-m-20{margin:-5rem}.md\:-m-24{margin:-6rem}.md\:-m-32{margin:-8rem}.md\:-m-40{margin:-10rem}.md\:-m-48{margin:-12rem}.md\:-m-56{margin:-14rem}.md\:-m-64{margin:-16rem}.md\:-m-px{margin:-1px}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:my-24{margin-top:6rem;margin-bottom:6rem}.md\:mx-24{margin-left:6rem;margin-right:6rem}.md\:my-32{margin-top:8rem;margin-bottom:8rem}.md\:mx-32{margin-left:8rem;margin-right:8rem}.md\:my-40{margin-top:10rem;margin-bottom:10rem}.md\:mx-40{margin-left:10rem;margin-right:10rem}.md\:my-48{margin-top:12rem;margin-bottom:12rem}.md\:mx-48{margin-left:12rem;margin-right:12rem}.md\:my-56{margin-top:14rem;margin-bottom:14rem}.md\:mx-56{margin-left:14rem;margin-right:14rem}.md\:my-64{margin-top:16rem;margin-bottom:16rem}.md\:mx-64{margin-left:16rem;margin-right:16rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-1{margin-top:.25rem}.md\:mr-1{margin-right:.25rem}.md\:mb-1{margin-bottom:.25rem}.md\:ml-1{margin-left:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mr-2{margin-right:.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:ml-2{margin-left:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mr-3{margin-right:.75rem}.md\:mb-3{margin-bottom:.75rem}.md\:ml-3{margin-left:.75rem}.md\:mt-4{margin-top:1rem}.md\:mr-4{margin-right:1rem}.md\:mb-4{margin-bottom:1rem}.md\:ml-4{margin-left:1rem}.md\:mt-5{margin-top:1.25rem}.md\:mr-5{margin-right:1.25rem}.md\:mb-5{margin-bottom:1.25rem}.md\:ml-5{margin-left:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:mt-8{margin-top:2rem}.md\:mr-8{margin-right:2rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:mt-10{margin-top:2.5rem}.md\:mr-10{margin-right:2.5rem}.md\:mb-10{margin-bottom:2.5rem}.md\:ml-10{margin-left:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mr-12{margin-right:3rem}.md\:mb-12{margin-bottom:3rem}.md\:ml-12{margin-left:3rem}.md\:mt-16{margin-top:4rem}.md\:mr-16{margin-right:4rem}.md\:mb-16{margin-bottom:4rem}.md\:ml-16{margin-left:4rem}.md\:mt-20{margin-top:5rem}.md\:mr-20{margin-right:5rem}.md\:mb-20{margin-bottom:5rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:mr-24{margin-right:6rem}.md\:mb-24{margin-bottom:6rem}.md\:ml-24{margin-left:6rem}.md\:mt-32{margin-top:8rem}.md\:mr-32{margin-right:8rem}.md\:mb-32{margin-bottom:8rem}.md\:ml-32{margin-left:8rem}.md\:mt-40{margin-top:10rem}.md\:mr-40{margin-right:10rem}.md\:mb-40{margin-bottom:10rem}.md\:ml-40{margin-left:10rem}.md\:mt-48{margin-top:12rem}.md\:mr-48{margin-right:12rem}.md\:mb-48{margin-bottom:12rem}.md\:ml-48{margin-left:12rem}.md\:mt-56{margin-top:14rem}.md\:mr-56{margin-right:14rem}.md\:mb-56{margin-bottom:14rem}.md\:ml-56{margin-left:14rem}.md\:mt-64{margin-top:16rem}.md\:mr-64{margin-right:16rem}.md\:mb-64{margin-bottom:16rem}.md\:ml-64{margin-left:16rem}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mt-px{margin-top:1px}.md\:mr-px{margin-right:1px}.md\:mb-px{margin-bottom:1px}.md\:ml-px{margin-left:1px}.md\:-mt-1{margin-top:-.25rem}.md\:-mr-1{margin-right:-.25rem}.md\:-mb-1{margin-bottom:-.25rem}.md\:-ml-1{margin-left:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-ml-2{margin-left:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-ml-3{margin-left:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mr-4{margin-right:-1rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-ml-4{margin-left:-1rem}.md\:-mt-5{margin-top:-1.25rem}.md\:-mr-5{margin-right:-1.25rem}.md\:-mb-5{margin-bottom:-1.25rem}.md\:-ml-5{margin-left:-1.25rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-mt-8{margin-top:-2rem}.md\:-mr-8{margin-right:-2rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-ml-8{margin-left:-2rem}.md\:-mt-10{margin-top:-2.5rem}.md\:-mr-10{margin-right:-2.5rem}.md\:-mb-10{margin-bottom:-2.5rem}.md\:-ml-10{margin-left:-2.5rem}.md\:-mt-12{margin-top:-3rem}.md\:-mr-12{margin-right:-3rem}.md\:-mb-12{margin-bottom:-3rem}.md\:-ml-12{margin-left:-3rem}.md\:-mt-16{margin-top:-4rem}.md\:-mr-16{margin-right:-4rem}.md\:-mb-16{margin-bottom:-4rem}.md\:-ml-16{margin-left:-4rem}.md\:-mt-20{margin-top:-5rem}.md\:-mr-20{margin-right:-5rem}.md\:-mb-20{margin-bottom:-5rem}.md\:-ml-20{margin-left:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mr-24{margin-right:-6rem}.md\:-mb-24{margin-bottom:-6rem}.md\:-ml-24{margin-left:-6rem}.md\:-mt-32{margin-top:-8rem}.md\:-mr-32{margin-right:-8rem}.md\:-mb-32{margin-bottom:-8rem}.md\:-ml-32{margin-left:-8rem}.md\:-mt-40{margin-top:-10rem}.md\:-mr-40{margin-right:-10rem}.md\:-mb-40{margin-bottom:-10rem}.md\:-ml-40{margin-left:-10rem}.md\:-mt-48{margin-top:-12rem}.md\:-mr-48{margin-right:-12rem}.md\:-mb-48{margin-bottom:-12rem}.md\:-ml-48{margin-left:-12rem}.md\:-mt-56{margin-top:-14rem}.md\:-mr-56{margin-right:-14rem}.md\:-mb-56{margin-bottom:-14rem}.md\:-ml-56{margin-left:-14rem}.md\:-mt-64{margin-top:-16rem}.md\:-mr-64{margin-right:-16rem}.md\:-mb-64{margin-bottom:-16rem}.md\:-ml-64{margin-left:-16rem}.md\:-mt-px{margin-top:-1px}.md\:-mr-px{margin-right:-1px}.md\:-mb-px{margin-bottom:-1px}.md\:-ml-px{margin-left:-1px}.md\:max-h-full{max-height:100%}.md\:max-h-screen{max-height:100vh}.md\:max-w-none{max-width:none}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:24rem}.md\:max-w-md{max-width:28rem}.md\:max-w-lg{max-width:32rem}.md\:max-w-xl{max-width:36rem}.md\:max-w-2xl{max-width:42rem}.md\:max-w-3xl{max-width:48rem}.md\:max-w-4xl{max-width:56rem}.md\:max-w-5xl{max-width:64rem}.md\:max-w-6xl{max-width:72rem}.md\:max-w-full{max-width:100%}.md\:max-w-screen-xs{max-width:360px}.md\:max-w-screen-sm{max-width:640px}.md\:max-w-screen-md{max-width:768px}.md\:max-w-screen-lg{max-width:1024px}.md\:max-w-screen-xl{max-width:1280px}.md\:max-w-screen-xxl{max-width:1480px}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:object-contain{-o-object-fit:contain;object-fit:contain}.md\:object-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fill{-o-object-fit:fill;object-fit:fill}.md\:object-none{-o-object-fit:none;object-fit:none}.md\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-bottom{-o-object-position:bottom;object-position:bottom}.md\:object-center{-o-object-position:center;object-position:center}.md\:object-left{-o-object-position:left;object-position:left}.md\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.md\:object-left-top{-o-object-position:left top;object-position:left top}.md\:object-right{-o-object-position:right;object-position:right}.md\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.md\:object-right-top{-o-object-position:right top;object-position:right top}.md\:object-top{-o-object-position:top;object-position:top}.md\:opacity-0{opacity:0}.md\:opacity-25{opacity:.25}.md\:opacity-50{opacity:.5}.md\:opacity-75{opacity:.75}.md\:opacity-100{opacity:1}.md\:hover\:opacity-0:hover{opacity:0}.md\:hover\:opacity-25:hover{opacity:.25}.md\:hover\:opacity-50:hover{opacity:.5}.md\:hover\:opacity-75:hover{opacity:.75}.md\:hover\:opacity-100:hover{opacity:1}.md\:focus\:opacity-0:focus{opacity:0}.md\:focus\:opacity-25:focus{opacity:.25}.md\:focus\:opacity-50:focus{opacity:.5}.md\:focus\:opacity-75:focus{opacity:.75}.md\:focus\:opacity-100:focus{opacity:1}.md\:outline-none{outline:2px solid transparent;outline-offset:2px}.md\:outline-white{outline:2px dotted #fff;outline-offset:2px}.md\:outline-black{outline:2px dotted #000;outline-offset:2px}.md\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.md\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-hidden{overflow-x:hidden}.md\:overflow-y-hidden{overflow-y:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:overflow-y-visible{overflow-y:visible}.md\:overflow-x-scroll{overflow-x:scroll}.md\:overflow-y-scroll{overflow-y:scroll}.md\:scrolling-touch{-webkit-overflow-scrolling:touch}.md\:scrolling-auto{-webkit-overflow-scrolling:auto}.md\:overscroll-auto{overscroll-behavior:auto}.md\:overscroll-contain{overscroll-behavior:contain}.md\:overscroll-none{overscroll-behavior:none}.md\:overscroll-y-auto{overscroll-behavior-y:auto}.md\:overscroll-y-contain{overscroll-behavior-y:contain}.md\:overscroll-y-none{overscroll-behavior-y:none}.md\:overscroll-x-auto{overscroll-behavior-x:auto}.md\:overscroll-x-contain{overscroll-behavior-x:contain}.md\:overscroll-x-none{overscroll-behavior-x:none}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-16{padding:4rem}.md\:p-20{padding:5rem}.md\:p-24{padding:6rem}.md\:p-32{padding:8rem}.md\:p-40{padding:10rem}.md\:p-48{padding:12rem}.md\:p-56{padding:14rem}.md\:p-64{padding:16rem}.md\:p-px{padding:1px}.md\:py-0{padding-top:0;padding-bottom:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:py-48{padding-top:12rem;padding-bottom:12rem}.md\:px-48{padding-left:12rem;padding-right:12rem}.md\:py-56{padding-top:14rem;padding-bottom:14rem}.md\:px-56{padding-left:14rem;padding-right:14rem}.md\:py-64{padding-top:16rem;padding-bottom:16rem}.md\:px-64{padding-left:16rem;padding-right:16rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:px-px{padding-left:1px;padding-right:1px}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:pt-1{padding-top:.25rem}.md\:pr-1{padding-right:.25rem}.md\:pb-1{padding-bottom:.25rem}.md\:pl-1{padding-left:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pr-2{padding-right:.5rem}.md\:pb-2{padding-bottom:.5rem}.md\:pl-2{padding-left:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pr-3{padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-3{padding-left:.75rem}.md\:pt-4{padding-top:1rem}.md\:pr-4{padding-right:1rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pr-5{padding-right:1.25rem}.md\:pb-5{padding-bottom:1.25rem}.md\:pl-5{padding-left:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pt-8{padding-top:2rem}.md\:pr-8{padding-right:2rem}.md\:pb-8{padding-bottom:2rem}.md\:pl-8{padding-left:2rem}.md\:pt-10{padding-top:2.5rem}.md\:pr-10{padding-right:2.5rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pl-10{padding-left:2.5rem}.md\:pt-12{padding-top:3rem}.md\:pr-12{padding-right:3rem}.md\:pb-12{padding-bottom:3rem}.md\:pl-12{padding-left:3rem}.md\:pt-16{padding-top:4rem}.md\:pr-16{padding-right:4rem}.md\:pb-16{padding-bottom:4rem}.md\:pl-16{padding-left:4rem}.md\:pt-20{padding-top:5rem}.md\:pr-20{padding-right:5rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-20{padding-left:5rem}.md\:pt-24{padding-top:6rem}.md\:pr-24{padding-right:6rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-24{padding-left:6rem}.md\:pt-32{padding-top:8rem}.md\:pr-32{padding-right:8rem}.md\:pb-32{padding-bottom:8rem}.md\:pl-32{padding-left:8rem}.md\:pt-40{padding-top:10rem}.md\:pr-40{padding-right:10rem}.md\:pb-40{padding-bottom:10rem}.md\:pl-40{padding-left:10rem}.md\:pt-48{padding-top:12rem}.md\:pr-48{padding-right:12rem}.md\:pb-48{padding-bottom:12rem}.md\:pl-48{padding-left:12rem}.md\:pt-56{padding-top:14rem}.md\:pr-56{padding-right:14rem}.md\:pb-56{padding-bottom:14rem}.md\:pl-56{padding-left:14rem}.md\:pt-64{padding-top:16rem}.md\:pr-64{padding-right:16rem}.md\:pb-64{padding-bottom:16rem}.md\:pl-64{padding-left:16rem}.md\:pt-px{padding-top:1px}.md\:pr-px{padding-right:1px}.md\:pb-px{padding-bottom:1px}.md\:pl-px{padding-left:1px}.md\:placeholder-transparent::placeholder{color:transparent}.md\:placeholder-current::placeholder{color:currentColor}.md\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.md\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.md\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.md\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.md\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.md\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.md\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.md\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.md\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.md\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.md\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.md\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.md\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.md\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.md\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.md\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.md\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.md\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.md\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.md\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.md\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.md\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.md\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.md\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.md\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.md\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.md\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.md\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.md\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.md\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.md\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.md\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.md\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.md\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.md\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.md\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.md\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.md\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.md\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.md\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.md\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.md\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.md\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.md\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.md\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.md\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.md\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.md\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.md\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.md\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.md\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.md\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.md\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.md\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.md\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.md\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.md\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.md\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.md\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.md\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.md\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.md\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.md\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.md\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.md\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.md\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.md\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.md\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.md\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.md\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.md\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.md\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.md\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.md\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.md\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.md\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.md\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.md\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.md\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.md\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.md\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.md\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.md\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.md\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.md\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.md\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.md\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.md\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.md\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.md\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.md\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.md\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.md\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.md\:focus\:placeholder-current:focus::placeholder{color:currentColor}.md\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.md\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.md\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.md\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.md\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:sticky}.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\:inset-y-0{top:0;bottom:0}.md\:inset-x-0{right:0;left:0}.md\:inset-y-auto{top:auto;bottom:auto}.md\:inset-x-auto{right:auto;left:auto}.md\:top-0{top:0}.md\:right-0{right:0}.md\:bottom-0{bottom:0}.md\:left-0{left:0}.md\:top-auto{top:auto}.md\:right-auto{right:auto}.md\:bottom-auto{bottom:auto}.md\:left-auto{left:auto}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:shadow-none{box-shadow:none}.md\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:hover\:shadow-none:hover{box-shadow:none}.md\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:focus\:shadow-none:focus{box-shadow:none}.md\:fill-current{fill:currentColor}.md\:stroke-current{stroke:currentColor}.md\:stroke-0{stroke-width:0}.md\:stroke-1{stroke-width:1}.md\:stroke-2{stroke-width:2}.md\:table-auto{table-layout:auto}.md\:table-fixed{table-layout:fixed}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:text-transparent{color:transparent}.md\:text-current{color:currentColor}.md\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-current:hover{color:currentColor}.md\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:focus\:text-transparent:focus{color:transparent}.md\:focus\:text-current:focus{color:currentColor}.md\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:text-opacity-0{--text-opacity:0}.md\:text-opacity-25{--text-opacity:0.25}.md\:text-opacity-50{--text-opacity:0.5}.md\:text-opacity-75{--text-opacity:0.75}.md\:text-opacity-100{--text-opacity:1}.md\:hover\:text-opacity-0:hover{--text-opacity:0}.md\:hover\:text-opacity-25:hover{--text-opacity:0.25}.md\:hover\:text-opacity-50:hover{--text-opacity:0.5}.md\:hover\:text-opacity-75:hover{--text-opacity:0.75}.md\:hover\:text-opacity-100:hover{--text-opacity:1}.md\:focus\:text-opacity-0:focus{--text-opacity:0}.md\:focus\:text-opacity-25:focus{--text-opacity:0.25}.md\:focus\:text-opacity-50:focus{--text-opacity:0.5}.md\:focus\:text-opacity-75:focus{--text-opacity:0.75}.md\:focus\:text-opacity-100:focus{--text-opacity:1}.md\:italic{font-style:italic}.md\:not-italic{font-style:normal}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:focus\:underline:focus{text-decoration:underline}.md\:focus\:line-through:focus{text-decoration:line-through}.md\:focus\:no-underline:focus{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:diagonal-fractions,.md\:lining-nums,.md\:oldstyle-nums,.md\:ordinal,.md\:proportional-nums,.md\:slashed-zero,.md\:stacked-fractions,.md\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.md\:normal-nums{font-variant-numeric:normal}.md\:ordinal{--font-variant-numeric-ordinal:ordinal}.md\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.md\:lining-nums{--font-variant-numeric-figure:lining-nums}.md\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.md\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.md\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.md\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.md\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.md\:tracking-tighter{letter-spacing:-.05em}.md\:tracking-tight{letter-spacing:-.025em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.025em}.md\:tracking-wider{letter-spacing:.05em}.md\:tracking-widest{letter-spacing:.1em}.md\:select-none{-webkit-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;user-select:text}.md\:select-all{-webkit-user-select:all;user-select:all}.md\:select-auto{-webkit-user-select:auto;user-select:auto}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:whitespace-normal{white-space:normal}.md\:whitespace-no-wrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.md\:break-words{word-wrap:break-word;overflow-wrap:break-word}.md\:break-all{word-break:break-all}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:w-0{width:0}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-8{width:2rem}.md\:w-10{width:2.5rem}.md\:w-12{width:3rem}.md\:w-16{width:4rem}.md\:w-20{width:5rem}.md\:w-24{width:6rem}.md\:w-32{width:8rem}.md\:w-40{width:10rem}.md\:w-48{width:12rem}.md\:w-56{width:14rem}.md\:w-64{width:16rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-2\/4{width:50%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-3\/6{width:50%}.md\:w-4\/6{width:66.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-1\/12{width:8.333333%}.md\:w-2\/12{width:16.666667%}.md\:w-3\/12{width:25%}.md\:w-4\/12{width:33.333333%}.md\:w-5\/12{width:41.666667%}.md\:w-6\/12{width:50%}.md\:w-7\/12{width:58.333333%}.md\:w-8\/12{width:66.666667%}.md\:w-9\/12{width:75%}.md\:w-10\/12{width:83.333333%}.md\:w-11\/12{width:91.666667%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}.md\:gap-0{grid-gap:0;gap:0}.md\:gap-1{grid-gap:.25rem;gap:.25rem}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-3{grid-gap:.75rem;gap:.75rem}.md\:gap-4{grid-gap:1rem;gap:1rem}.md\:gap-5{grid-gap:1.25rem;gap:1.25rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-10{grid-gap:2.5rem;gap:2.5rem}.md\:gap-12{grid-gap:3rem;gap:3rem}.md\:gap-16{grid-gap:4rem;gap:4rem}.md\:gap-20{grid-gap:5rem;gap:5rem}.md\:gap-24{grid-gap:6rem;gap:6rem}.md\:gap-32{grid-gap:8rem;gap:8rem}.md\:gap-40{grid-gap:10rem;gap:10rem}.md\:gap-48{grid-gap:12rem;gap:12rem}.md\:gap-56{grid-gap:14rem;gap:14rem}.md\:gap-64{grid-gap:16rem;gap:16rem}.md\:gap-px{grid-gap:1px;gap:1px}.md\:col-gap-0{grid-column-gap:0;column-gap:0}.md\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.md\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.md\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.md\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.md\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.md\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.md\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.md\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.md\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.md\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.md\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.md\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.md\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.md\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.md\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.md\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.md\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.md\:col-gap-px{grid-column-gap:1px;column-gap:1px}.md\:gap-x-0{grid-column-gap:0;column-gap:0}.md\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.md\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.md\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.md\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.md\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.md\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.md\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.md\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.md\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.md\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.md\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.md\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.md\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.md\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.md\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.md\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.md\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.md\:gap-x-px{grid-column-gap:1px;column-gap:1px}.md\:row-gap-0{grid-row-gap:0;row-gap:0}.md\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.md\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.md\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.md\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.md\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.md\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.md\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.md\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.md\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.md\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.md\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.md\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.md\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.md\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.md\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.md\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.md\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.md\:row-gap-px{grid-row-gap:1px;row-gap:1px}.md\:gap-y-0{grid-row-gap:0;row-gap:0}.md\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.md\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.md\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.md\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.md\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.md\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.md\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.md\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.md\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.md\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.md\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.md\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.md\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.md\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.md\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.md\:gap-y-px{grid-row-gap:1px;row-gap:1px}.md\:grid-flow-row{grid-auto-flow:row}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-flow-row-dense{grid-auto-flow:row dense}.md\:grid-flow-col-dense{grid-auto-flow:column dense}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:auto-cols-auto{grid-auto-columns:auto}.md\:auto-cols-min{grid-auto-columns:min-content}.md\:auto-cols-max{grid-auto-columns:max-content}.md\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.md\:col-auto{grid-column:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:col-start-13{grid-column-start:13}.md\:col-start-auto{grid-column-start:auto}.md\:col-end-1{grid-column-end:1}.md\:col-end-2{grid-column-end:2}.md\:col-end-3{grid-column-end:3}.md\:col-end-4{grid-column-end:4}.md\:col-end-5{grid-column-end:5}.md\:col-end-6{grid-column-end:6}.md\:col-end-7{grid-column-end:7}.md\:col-end-8{grid-column-end:8}.md\:col-end-9{grid-column-end:9}.md\:col-end-10{grid-column-end:10}.md\:col-end-11{grid-column-end:11}.md\:col-end-12{grid-column-end:12}.md\:col-end-13{grid-column-end:13}.md\:col-end-auto{grid-column-end:auto}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.md\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.md\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.md\:grid-rows-none{grid-template-rows:none}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:auto-rows-min{grid-auto-rows:min-content}.md\:auto-rows-max{grid-auto-rows:max-content}.md\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.md\:row-auto{grid-row:auto}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-3{grid-row:span 3/span 3}.md\:row-span-4{grid-row:span 4/span 4}.md\:row-span-5{grid-row:span 5/span 5}.md\:row-span-6{grid-row:span 6/span 6}.md\:row-span-full{grid-row:1/-1}.md\:row-start-1{grid-row-start:1}.md\:row-start-2{grid-row-start:2}.md\:row-start-3{grid-row-start:3}.md\:row-start-4{grid-row-start:4}.md\:row-start-5{grid-row-start:5}.md\:row-start-6{grid-row-start:6}.md\:row-start-7{grid-row-start:7}.md\:row-start-auto{grid-row-start:auto}.md\:row-end-1{grid-row-end:1}.md\:row-end-2{grid-row-end:2}.md\:row-end-3{grid-row-end:3}.md\:row-end-4{grid-row-end:4}.md\:row-end-5{grid-row-end:5}.md\:row-end-6{grid-row-end:6}.md\:row-end-7{grid-row-end:7}.md\:row-end-auto{grid-row-end:auto}.md\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.md\:transform-none{transform:none}.md\:origin-center{transform-origin:center}.md\:origin-top{transform-origin:top}.md\:origin-top-right{transform-origin:top right}.md\:origin-right{transform-origin:right}.md\:origin-bottom-right{transform-origin:bottom right}.md\:origin-bottom{transform-origin:bottom}.md\:origin-bottom-left{transform-origin:bottom left}.md\:origin-left{transform-origin:left}.md\:origin-top-left{transform-origin:top left}.md\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.md\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.md\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.md\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.md\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.md\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.md\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:scale-x-0{--transform-scale-x:0}.md\:scale-x-50{--transform-scale-x:.5}.md\:scale-x-75{--transform-scale-x:.75}.md\:scale-x-90{--transform-scale-x:.9}.md\:scale-x-95{--transform-scale-x:.95}.md\:scale-x-100{--transform-scale-x:1}.md\:scale-x-105{--transform-scale-x:1.05}.md\:scale-x-110{--transform-scale-x:1.1}.md\:scale-x-125{--transform-scale-x:1.25}.md\:scale-x-150{--transform-scale-x:1.5}.md\:scale-y-0{--transform-scale-y:0}.md\:scale-y-50{--transform-scale-y:.5}.md\:scale-y-75{--transform-scale-y:.75}.md\:scale-y-90{--transform-scale-y:.9}.md\:scale-y-95{--transform-scale-y:.95}.md\:scale-y-100{--transform-scale-y:1}.md\:scale-y-105{--transform-scale-y:1.05}.md\:scale-y-110{--transform-scale-y:1.1}.md\:scale-y-125{--transform-scale-y:1.25}.md\:scale-y-150{--transform-scale-y:1.5}.md\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.md\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.md\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.md\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.md\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.md\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.md\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:hover\:scale-x-0:hover{--transform-scale-x:0}.md\:hover\:scale-x-50:hover{--transform-scale-x:.5}.md\:hover\:scale-x-75:hover{--transform-scale-x:.75}.md\:hover\:scale-x-90:hover{--transform-scale-x:.9}.md\:hover\:scale-x-95:hover{--transform-scale-x:.95}.md\:hover\:scale-x-100:hover{--transform-scale-x:1}.md\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.md\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.md\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.md\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.md\:hover\:scale-y-0:hover{--transform-scale-y:0}.md\:hover\:scale-y-50:hover{--transform-scale-y:.5}.md\:hover\:scale-y-75:hover{--transform-scale-y:.75}.md\:hover\:scale-y-90:hover{--transform-scale-y:.9}.md\:hover\:scale-y-95:hover{--transform-scale-y:.95}.md\:hover\:scale-y-100:hover{--transform-scale-y:1}.md\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.md\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.md\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.md\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.md\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.md\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.md\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.md\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.md\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.md\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.md\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:focus\:scale-x-0:focus{--transform-scale-x:0}.md\:focus\:scale-x-50:focus{--transform-scale-x:.5}.md\:focus\:scale-x-75:focus{--transform-scale-x:.75}.md\:focus\:scale-x-90:focus{--transform-scale-x:.9}.md\:focus\:scale-x-95:focus{--transform-scale-x:.95}.md\:focus\:scale-x-100:focus{--transform-scale-x:1}.md\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.md\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.md\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.md\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.md\:focus\:scale-y-0:focus{--transform-scale-y:0}.md\:focus\:scale-y-50:focus{--transform-scale-y:.5}.md\:focus\:scale-y-75:focus{--transform-scale-y:.75}.md\:focus\:scale-y-90:focus{--transform-scale-y:.9}.md\:focus\:scale-y-95:focus{--transform-scale-y:.95}.md\:focus\:scale-y-100:focus{--transform-scale-y:1}.md\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.md\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.md\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.md\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.md\:rotate-0{--transform-rotate:0}.md\:rotate-1{--transform-rotate:1deg}.md\:rotate-2{--transform-rotate:2deg}.md\:rotate-3{--transform-rotate:3deg}.md\:rotate-6{--transform-rotate:6deg}.md\:rotate-12{--transform-rotate:12deg}.md\:rotate-45{--transform-rotate:45deg}.md\:rotate-90{--transform-rotate:90deg}.md\:rotate-180{--transform-rotate:180deg}.md\:-rotate-180{--transform-rotate:-180deg}.md\:-rotate-90{--transform-rotate:-90deg}.md\:-rotate-45{--transform-rotate:-45deg}.md\:-rotate-12{--transform-rotate:-12deg}.md\:-rotate-6{--transform-rotate:-6deg}.md\:-rotate-3{--transform-rotate:-3deg}.md\:-rotate-2{--transform-rotate:-2deg}.md\:-rotate-1{--transform-rotate:-1deg}.md\:hover\:rotate-0:hover{--transform-rotate:0}.md\:hover\:rotate-1:hover{--transform-rotate:1deg}.md\:hover\:rotate-2:hover{--transform-rotate:2deg}.md\:hover\:rotate-3:hover{--transform-rotate:3deg}.md\:hover\:rotate-6:hover{--transform-rotate:6deg}.md\:hover\:rotate-12:hover{--transform-rotate:12deg}.md\:hover\:rotate-45:hover{--transform-rotate:45deg}.md\:hover\:rotate-90:hover{--transform-rotate:90deg}.md\:hover\:rotate-180:hover{--transform-rotate:180deg}.md\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.md\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.md\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.md\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.md\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.md\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.md\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.md\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.md\:focus\:rotate-0:focus{--transform-rotate:0}.md\:focus\:rotate-1:focus{--transform-rotate:1deg}.md\:focus\:rotate-2:focus{--transform-rotate:2deg}.md\:focus\:rotate-3:focus{--transform-rotate:3deg}.md\:focus\:rotate-6:focus{--transform-rotate:6deg}.md\:focus\:rotate-12:focus{--transform-rotate:12deg}.md\:focus\:rotate-45:focus{--transform-rotate:45deg}.md\:focus\:rotate-90:focus{--transform-rotate:90deg}.md\:focus\:rotate-180:focus{--transform-rotate:180deg}.md\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.md\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.md\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.md\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.md\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.md\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.md\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.md\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.md\:translate-x-0{--transform-translate-x:0}.md\:translate-x-1{--transform-translate-x:0.25rem}.md\:translate-x-2{--transform-translate-x:0.5rem}.md\:translate-x-3{--transform-translate-x:0.75rem}.md\:translate-x-4{--transform-translate-x:1rem}.md\:translate-x-5{--transform-translate-x:1.25rem}.md\:translate-x-6{--transform-translate-x:1.5rem}.md\:translate-x-8{--transform-translate-x:2rem}.md\:translate-x-10{--transform-translate-x:2.5rem}.md\:translate-x-12{--transform-translate-x:3rem}.md\:translate-x-16{--transform-translate-x:4rem}.md\:translate-x-20{--transform-translate-x:5rem}.md\:translate-x-24{--transform-translate-x:6rem}.md\:translate-x-32{--transform-translate-x:8rem}.md\:translate-x-40{--transform-translate-x:10rem}.md\:translate-x-48{--transform-translate-x:12rem}.md\:translate-x-56{--transform-translate-x:14rem}.md\:translate-x-64{--transform-translate-x:16rem}.md\:translate-x-px{--transform-translate-x:1px}.md\:-translate-x-1{--transform-translate-x:-0.25rem}.md\:-translate-x-2{--transform-translate-x:-0.5rem}.md\:-translate-x-3{--transform-translate-x:-0.75rem}.md\:-translate-x-4{--transform-translate-x:-1rem}.md\:-translate-x-5{--transform-translate-x:-1.25rem}.md\:-translate-x-6{--transform-translate-x:-1.5rem}.md\:-translate-x-8{--transform-translate-x:-2rem}.md\:-translate-x-10{--transform-translate-x:-2.5rem}.md\:-translate-x-12{--transform-translate-x:-3rem}.md\:-translate-x-16{--transform-translate-x:-4rem}.md\:-translate-x-20{--transform-translate-x:-5rem}.md\:-translate-x-24{--transform-translate-x:-6rem}.md\:-translate-x-32{--transform-translate-x:-8rem}.md\:-translate-x-40{--transform-translate-x:-10rem}.md\:-translate-x-48{--transform-translate-x:-12rem}.md\:-translate-x-56{--transform-translate-x:-14rem}.md\:-translate-x-64{--transform-translate-x:-16rem}.md\:-translate-x-px{--transform-translate-x:-1px}.md\:-translate-x-full{--transform-translate-x:-100%}.md\:-translate-x-1\/2{--transform-translate-x:-50%}.md\:translate-x-1\/2{--transform-translate-x:50%}.md\:translate-x-full{--transform-translate-x:100%}.md\:translate-y-0{--transform-translate-y:0}.md\:translate-y-1{--transform-translate-y:0.25rem}.md\:translate-y-2{--transform-translate-y:0.5rem}.md\:translate-y-3{--transform-translate-y:0.75rem}.md\:translate-y-4{--transform-translate-y:1rem}.md\:translate-y-5{--transform-translate-y:1.25rem}.md\:translate-y-6{--transform-translate-y:1.5rem}.md\:translate-y-8{--transform-translate-y:2rem}.md\:translate-y-10{--transform-translate-y:2.5rem}.md\:translate-y-12{--transform-translate-y:3rem}.md\:translate-y-16{--transform-translate-y:4rem}.md\:translate-y-20{--transform-translate-y:5rem}.md\:translate-y-24{--transform-translate-y:6rem}.md\:translate-y-32{--transform-translate-y:8rem}.md\:translate-y-40{--transform-translate-y:10rem}.md\:translate-y-48{--transform-translate-y:12rem}.md\:translate-y-56{--transform-translate-y:14rem}.md\:translate-y-64{--transform-translate-y:16rem}.md\:translate-y-px{--transform-translate-y:1px}.md\:-translate-y-1{--transform-translate-y:-0.25rem}.md\:-translate-y-2{--transform-translate-y:-0.5rem}.md\:-translate-y-3{--transform-translate-y:-0.75rem}.md\:-translate-y-4{--transform-translate-y:-1rem}.md\:-translate-y-5{--transform-translate-y:-1.25rem}.md\:-translate-y-6{--transform-translate-y:-1.5rem}.md\:-translate-y-8{--transform-translate-y:-2rem}.md\:-translate-y-10{--transform-translate-y:-2.5rem}.md\:-translate-y-12{--transform-translate-y:-3rem}.md\:-translate-y-16{--transform-translate-y:-4rem}.md\:-translate-y-20{--transform-translate-y:-5rem}.md\:-translate-y-24{--transform-translate-y:-6rem}.md\:-translate-y-32{--transform-translate-y:-8rem}.md\:-translate-y-40{--transform-translate-y:-10rem}.md\:-translate-y-48{--transform-translate-y:-12rem}.md\:-translate-y-56{--transform-translate-y:-14rem}.md\:-translate-y-64{--transform-translate-y:-16rem}.md\:-translate-y-px{--transform-translate-y:-1px}.md\:-translate-y-full{--transform-translate-y:-100%}.md\:-translate-y-1\/2{--transform-translate-y:-50%}.md\:translate-y-1\/2{--transform-translate-y:50%}.md\:translate-y-full{--transform-translate-y:100%}.md\:hover\:translate-x-0:hover{--transform-translate-x:0}.md\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.md\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.md\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.md\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.md\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.md\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.md\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.md\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.md\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.md\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.md\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.md\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.md\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.md\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.md\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.md\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.md\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.md\:hover\:translate-x-px:hover{--transform-translate-x:1px}.md\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.md\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.md\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.md\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.md\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.md\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.md\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.md\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.md\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.md\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.md\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.md\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.md\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.md\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.md\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.md\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.md\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.md\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.md\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.md\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.md\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.md\:hover\:translate-x-full:hover{--transform-translate-x:100%}.md\:hover\:translate-y-0:hover{--transform-translate-y:0}.md\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.md\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.md\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.md\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.md\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.md\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.md\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.md\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.md\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.md\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.md\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.md\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.md\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.md\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.md\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.md\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.md\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.md\:hover\:translate-y-px:hover{--transform-translate-y:1px}.md\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.md\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.md\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.md\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.md\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.md\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.md\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.md\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.md\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.md\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.md\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.md\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.md\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.md\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.md\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.md\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.md\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.md\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.md\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.md\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.md\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.md\:hover\:translate-y-full:hover{--transform-translate-y:100%}.md\:focus\:translate-x-0:focus{--transform-translate-x:0}.md\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.md\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.md\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.md\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.md\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.md\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.md\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.md\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.md\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.md\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.md\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.md\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.md\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.md\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.md\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.md\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.md\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.md\:focus\:translate-x-px:focus{--transform-translate-x:1px}.md\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.md\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.md\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.md\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.md\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.md\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.md\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.md\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.md\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.md\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.md\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.md\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.md\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.md\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.md\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.md\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.md\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.md\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.md\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.md\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.md\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.md\:focus\:translate-x-full:focus{--transform-translate-x:100%}.md\:focus\:translate-y-0:focus{--transform-translate-y:0}.md\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.md\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.md\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.md\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.md\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.md\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.md\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.md\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.md\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.md\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.md\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.md\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.md\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.md\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.md\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.md\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.md\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.md\:focus\:translate-y-px:focus{--transform-translate-y:1px}.md\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.md\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.md\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.md\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.md\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.md\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.md\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.md\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.md\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.md\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.md\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.md\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.md\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.md\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.md\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.md\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.md\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.md\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.md\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.md\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.md\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.md\:focus\:translate-y-full:focus{--transform-translate-y:100%}.md\:skew-x-0{--transform-skew-x:0}.md\:skew-x-1{--transform-skew-x:1deg}.md\:skew-x-2{--transform-skew-x:2deg}.md\:skew-x-3{--transform-skew-x:3deg}.md\:skew-x-6{--transform-skew-x:6deg}.md\:skew-x-12{--transform-skew-x:12deg}.md\:-skew-x-12{--transform-skew-x:-12deg}.md\:-skew-x-6{--transform-skew-x:-6deg}.md\:-skew-x-3{--transform-skew-x:-3deg}.md\:-skew-x-2{--transform-skew-x:-2deg}.md\:-skew-x-1{--transform-skew-x:-1deg}.md\:skew-y-0{--transform-skew-y:0}.md\:skew-y-1{--transform-skew-y:1deg}.md\:skew-y-2{--transform-skew-y:2deg}.md\:skew-y-3{--transform-skew-y:3deg}.md\:skew-y-6{--transform-skew-y:6deg}.md\:skew-y-12{--transform-skew-y:12deg}.md\:-skew-y-12{--transform-skew-y:-12deg}.md\:-skew-y-6{--transform-skew-y:-6deg}.md\:-skew-y-3{--transform-skew-y:-3deg}.md\:-skew-y-2{--transform-skew-y:-2deg}.md\:-skew-y-1{--transform-skew-y:-1deg}.md\:hover\:skew-x-0:hover{--transform-skew-x:0}.md\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.md\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.md\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.md\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.md\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.md\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.md\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.md\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.md\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.md\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.md\:hover\:skew-y-0:hover{--transform-skew-y:0}.md\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.md\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.md\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.md\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.md\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.md\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.md\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.md\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.md\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.md\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.md\:focus\:skew-x-0:focus{--transform-skew-x:0}.md\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.md\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.md\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.md\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.md\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.md\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.md\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.md\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.md\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.md\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.md\:focus\:skew-y-0:focus{--transform-skew-y:0}.md\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.md\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.md\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.md\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.md\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.md\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.md\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.md\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.md\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.md\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.md\:transition-none{transition-property:none}.md\:transition-all{transition-property:all}.md\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.md\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.md\:transition-opacity{transition-property:opacity}.md\:transition-shadow{transition-property:box-shadow}.md\:transition-transform{transition-property:transform}.md\:ease-linear{transition-timing-function:linear}.md\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.md\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.md\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-75{transition-duration:75ms}.md\:duration-100{transition-duration:.1s}.md\:duration-150{transition-duration:.15s}.md\:duration-200{transition-duration:.2s}.md\:duration-300{transition-duration:.3s}.md\:duration-500{transition-duration:.5s}.md\:duration-700{transition-duration:.7s}.md\:duration-1000{transition-duration:1s}.md\:delay-75{transition-delay:75ms}.md\:delay-100{transition-delay:.1s}.md\:delay-150{transition-delay:.15s}.md\:delay-200{transition-delay:.2s}.md\:delay-300{transition-delay:.3s}.md\:delay-500{transition-delay:.5s}.md\:delay-700{transition-delay:.7s}.md\:delay-1000{transition-delay:1s}.md\:animate-none{animation:none}.md\:animate-spin{animation:spin 1s linear infinite}.md\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.md\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.md\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1024px){.lg\:container{width:100%}@media (min-width:360px){.lg\:container{max-width:360px}}@media (min-width:640px){.lg\:container{max-width:640px}}@media (min-width:768px){.lg\:container{max-width:768px}}@media (min-width:1024px){.lg\:container{max-width:1024px}}@media (min-width:1280px){.lg\:container{max-width:1280px}}@media (min-width:1480px){.lg\:container{max-width:1480px}}.lg\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.lg\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.lg\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.lg\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.lg\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.lg\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.lg\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.lg\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.lg\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.lg\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.lg\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.lg\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.lg\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.lg\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.lg\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.lg\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.lg\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.lg\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.lg\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.lg\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.lg\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.lg\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.lg\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.lg\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.lg\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.lg\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.lg\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.lg\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.lg\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.lg\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.lg\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.lg\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.lg\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.lg\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.lg\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.lg\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.lg\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.lg\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.lg\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.lg\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.lg\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.lg\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.lg\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.lg\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.lg\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.lg\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.lg\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.lg\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.lg\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.lg\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.lg\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.lg\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.lg\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.lg\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.lg\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.lg\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.lg\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.lg\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.lg\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.lg\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.lg\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.lg\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.lg\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.lg\:divide-transparent>:not(template)~:not(template){border-color:transparent}.lg\:divide-current>:not(template)~:not(template){border-color:currentColor}.lg\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.lg\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.lg\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.lg\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.lg\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.lg\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.lg\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.lg\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.lg\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.lg\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.lg\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.lg\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.lg\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.lg\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.lg\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.lg\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.lg\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.lg\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.lg\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.lg\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.lg\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.lg\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.lg\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.lg\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.lg\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.lg\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.lg\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.lg\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.lg\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.lg\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.lg\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.lg\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.lg\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.lg\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.lg\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.lg\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.lg\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.lg\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.lg\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.lg\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.lg\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.lg\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.lg\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.lg\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.lg\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.lg\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.lg\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.lg\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.lg\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.lg\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.lg\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.lg\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.lg\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.lg\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.lg\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.lg\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.lg\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.lg\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.lg\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.lg\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.lg\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.lg\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.lg\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.lg\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.lg\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.lg\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.lg\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.lg\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.lg\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.lg\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.lg\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.lg\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.lg\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.lg\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.lg\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.lg\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.lg\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.lg\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.lg\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.lg\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.lg\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.lg\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.lg\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.lg\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.lg\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.lg\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.lg\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.lg\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.lg\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.lg\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.lg\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.lg\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.lg\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.lg\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.lg\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.lg\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.lg\:divide-solid>:not(template)~:not(template){border-style:solid}.lg\:divide-dashed>:not(template)~:not(template){border-style:dashed}.lg\:divide-dotted>:not(template)~:not(template){border-style:dotted}.lg\:divide-double>:not(template)~:not(template){border-style:double}.lg\:divide-none>:not(template)~:not(template){border-style:none}.lg\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.lg\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.lg\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.lg\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.lg\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.lg\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:appearance-none{-webkit-appearance:none;appearance:none}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-clip-border{background-clip:border-box}.lg\:bg-clip-padding{background-clip:padding-box}.lg\:bg-clip-content{background-clip:content-box}.lg\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.lg\:bg-transparent{background-color:transparent}.lg\:bg-current{background-color:currentColor}.lg\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-current:hover{background-color:currentColor}.lg\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:focus\:bg-transparent:focus{background-color:transparent}.lg\:focus\:bg-current:focus{background-color:currentColor}.lg\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:bg-none{background-image:none}.lg\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.lg\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.lg\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.lg\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.lg\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:to-transparent{--gradient-to-color:transparent}.lg\:to-current{--gradient-to-color:currentColor}.lg\:to-black{--gradient-to-color:#000}.lg\:to-white{--gradient-to-color:#fff}.lg\:to-gray-100{--gradient-to-color:#f7fafc}.lg\:to-gray-200{--gradient-to-color:#edf2f7}.lg\:to-gray-300{--gradient-to-color:#e2e8f0}.lg\:to-gray-400{--gradient-to-color:#cbd5e0}.lg\:to-gray-500{--gradient-to-color:#a0aec0}.lg\:to-gray-600{--gradient-to-color:#718096}.lg\:to-gray-700{--gradient-to-color:#4a5568}.lg\:to-gray-800{--gradient-to-color:#2d3748}.lg\:to-gray-900{--gradient-to-color:#1a202c}.lg\:to-red-100{--gradient-to-color:#fff5f5}.lg\:to-red-200{--gradient-to-color:#fed7d7}.lg\:to-red-300{--gradient-to-color:#feb2b2}.lg\:to-red-400{--gradient-to-color:#fc8181}.lg\:to-red-500{--gradient-to-color:#f56565}.lg\:to-red-600{--gradient-to-color:#e53e3e}.lg\:to-red-700{--gradient-to-color:#c53030}.lg\:to-red-800{--gradient-to-color:#9b2c2c}.lg\:to-red-900{--gradient-to-color:#742a2a}.lg\:to-orange-100{--gradient-to-color:#fffaf0}.lg\:to-orange-200{--gradient-to-color:#feebc8}.lg\:to-orange-300{--gradient-to-color:#fbd38d}.lg\:to-orange-400{--gradient-to-color:#f6ad55}.lg\:to-orange-500{--gradient-to-color:#ed8936}.lg\:to-orange-600{--gradient-to-color:#dd6b20}.lg\:to-orange-700{--gradient-to-color:#c05621}.lg\:to-orange-800{--gradient-to-color:#9c4221}.lg\:to-orange-900{--gradient-to-color:#7b341e}.lg\:to-yellow-100{--gradient-to-color:ivory}.lg\:to-yellow-200{--gradient-to-color:#fefcbf}.lg\:to-yellow-300{--gradient-to-color:#faf089}.lg\:to-yellow-400{--gradient-to-color:#f6e05e}.lg\:to-yellow-500{--gradient-to-color:#ecc94b}.lg\:to-yellow-600{--gradient-to-color:#d69e2e}.lg\:to-yellow-700{--gradient-to-color:#b7791f}.lg\:to-yellow-800{--gradient-to-color:#975a16}.lg\:to-yellow-900{--gradient-to-color:#744210}.lg\:to-green-100{--gradient-to-color:#f0fff4}.lg\:to-green-200{--gradient-to-color:#c6f6d5}.lg\:to-green-300{--gradient-to-color:#9ae6b4}.lg\:to-green-400{--gradient-to-color:#68d391}.lg\:to-green-500{--gradient-to-color:#48bb78}.lg\:to-green-600{--gradient-to-color:#38a169}.lg\:to-green-700{--gradient-to-color:#2f855a}.lg\:to-green-800{--gradient-to-color:#276749}.lg\:to-green-900{--gradient-to-color:#22543d}.lg\:to-teal-100{--gradient-to-color:#e6fffa}.lg\:to-teal-200{--gradient-to-color:#b2f5ea}.lg\:to-teal-300{--gradient-to-color:#81e6d9}.lg\:to-teal-400{--gradient-to-color:#4fd1c5}.lg\:to-teal-500{--gradient-to-color:#38b2ac}.lg\:to-teal-600{--gradient-to-color:#319795}.lg\:to-teal-700{--gradient-to-color:#2c7a7b}.lg\:to-teal-800{--gradient-to-color:#285e61}.lg\:to-teal-900{--gradient-to-color:#234e52}.lg\:to-blue-100{--gradient-to-color:#ebf8ff}.lg\:to-blue-200{--gradient-to-color:#bee3f8}.lg\:to-blue-300{--gradient-to-color:#90cdf4}.lg\:to-blue-400{--gradient-to-color:#63b3ed}.lg\:to-blue-500{--gradient-to-color:#4299e1}.lg\:to-blue-600{--gradient-to-color:#3182ce}.lg\:to-blue-700{--gradient-to-color:#2b6cb0}.lg\:to-blue-800{--gradient-to-color:#2c5282}.lg\:to-blue-900{--gradient-to-color:#2a4365}.lg\:to-indigo-100{--gradient-to-color:#ebf4ff}.lg\:to-indigo-200{--gradient-to-color:#c3dafe}.lg\:to-indigo-300{--gradient-to-color:#a3bffa}.lg\:to-indigo-400{--gradient-to-color:#7f9cf5}.lg\:to-indigo-500{--gradient-to-color:#667eea}.lg\:to-indigo-600{--gradient-to-color:#5a67d8}.lg\:to-indigo-700{--gradient-to-color:#4c51bf}.lg\:to-indigo-800{--gradient-to-color:#434190}.lg\:to-indigo-900{--gradient-to-color:#3c366b}.lg\:to-purple-100{--gradient-to-color:#faf5ff}.lg\:to-purple-200{--gradient-to-color:#e9d8fd}.lg\:to-purple-300{--gradient-to-color:#d6bcfa}.lg\:to-purple-400{--gradient-to-color:#b794f4}.lg\:to-purple-500{--gradient-to-color:#9f7aea}.lg\:to-purple-600{--gradient-to-color:#805ad5}.lg\:to-purple-700{--gradient-to-color:#6b46c1}.lg\:to-purple-800{--gradient-to-color:#553c9a}.lg\:to-purple-900{--gradient-to-color:#44337a}.lg\:to-pink-100{--gradient-to-color:#fff5f7}.lg\:to-pink-200{--gradient-to-color:#fed7e2}.lg\:to-pink-300{--gradient-to-color:#fbb6ce}.lg\:to-pink-400{--gradient-to-color:#f687b3}.lg\:to-pink-500{--gradient-to-color:#ed64a6}.lg\:to-pink-600{--gradient-to-color:#d53f8c}.lg\:to-pink-700{--gradient-to-color:#b83280}.lg\:to-pink-800{--gradient-to-color:#97266d}.lg\:to-pink-900{--gradient-to-color:#702459}.lg\:to-primary{--gradient-to-color:#00d1ff}.lg\:to-secondary{--gradient-to-color:#e077ff}.lg\:to-greenish-blue{--gradient-to-color:#adffed}.lg\:to-blue-gray{--gradient-to-color:#cfe1e6}.lg\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:hover\:to-transparent:hover{--gradient-to-color:transparent}.lg\:hover\:to-current:hover{--gradient-to-color:currentColor}.lg\:hover\:to-black:hover{--gradient-to-color:#000}.lg\:hover\:to-white:hover{--gradient-to-color:#fff}.lg\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.lg\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.lg\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.lg\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.lg\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.lg\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.lg\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.lg\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.lg\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.lg\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.lg\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.lg\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.lg\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.lg\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.lg\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.lg\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.lg\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.lg\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.lg\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.lg\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.lg\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.lg\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.lg\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.lg\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.lg\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.lg\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.lg\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.lg\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.lg\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.lg\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.lg\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.lg\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.lg\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.lg\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.lg\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.lg\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.lg\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.lg\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.lg\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.lg\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.lg\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.lg\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.lg\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.lg\:hover\:to-green-800:hover{--gradient-to-color:#276749}.lg\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.lg\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.lg\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.lg\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.lg\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.lg\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.lg\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.lg\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.lg\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.lg\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.lg\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.lg\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.lg\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.lg\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.lg\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.lg\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.lg\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.lg\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.lg\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.lg\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.lg\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.lg\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.lg\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.lg\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.lg\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.lg\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.lg\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.lg\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.lg\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.lg\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.lg\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.lg\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.lg\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.lg\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.lg\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.lg\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.lg\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.lg\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.lg\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.lg\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.lg\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.lg\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.lg\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.lg\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.lg\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.lg\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.lg\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.lg\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.lg\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.lg\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.lg\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:focus\:to-transparent:focus{--gradient-to-color:transparent}.lg\:focus\:to-current:focus{--gradient-to-color:currentColor}.lg\:focus\:to-black:focus{--gradient-to-color:#000}.lg\:focus\:to-white:focus{--gradient-to-color:#fff}.lg\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.lg\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.lg\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.lg\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.lg\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.lg\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.lg\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.lg\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.lg\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.lg\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.lg\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.lg\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.lg\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.lg\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.lg\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.lg\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.lg\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.lg\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.lg\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.lg\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.lg\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.lg\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.lg\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.lg\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.lg\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.lg\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.lg\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.lg\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.lg\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.lg\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.lg\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.lg\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.lg\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.lg\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.lg\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.lg\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.lg\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.lg\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.lg\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.lg\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.lg\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.lg\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.lg\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.lg\:focus\:to-green-800:focus{--gradient-to-color:#276749}.lg\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.lg\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.lg\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.lg\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.lg\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.lg\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.lg\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.lg\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.lg\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.lg\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.lg\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.lg\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.lg\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.lg\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.lg\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.lg\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.lg\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.lg\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.lg\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.lg\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.lg\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.lg\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.lg\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.lg\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.lg\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.lg\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.lg\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.lg\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.lg\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.lg\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.lg\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.lg\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.lg\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.lg\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.lg\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.lg\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.lg\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.lg\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.lg\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.lg\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.lg\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.lg\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.lg\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.lg\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.lg\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.lg\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.lg\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.lg\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.lg\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.lg\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.lg\:bg-opacity-0{--bg-opacity:0}.lg\:bg-opacity-25{--bg-opacity:0.25}.lg\:bg-opacity-50{--bg-opacity:0.5}.lg\:bg-opacity-75{--bg-opacity:0.75}.lg\:bg-opacity-100{--bg-opacity:1}.lg\:hover\:bg-opacity-0:hover{--bg-opacity:0}.lg\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.lg\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.lg\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.lg\:hover\:bg-opacity-100:hover{--bg-opacity:1}.lg\:focus\:bg-opacity-0:focus{--bg-opacity:0}.lg\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.lg\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.lg\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.lg\:focus\:bg-opacity-100:focus{--bg-opacity:1}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:50%}.lg\:bg-left{background-position:0}.lg\:bg-left-bottom{background-position:0 100%}.lg\:bg-left-top{background-position:0 0}.lg\:bg-right{background-position:100%}.lg\:bg-right-bottom{background-position:100% 100%}.lg\:bg-right-top{background-position:100% 0}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-repeat-round{background-repeat:round}.lg\:bg-repeat-space{background-repeat:space}.lg\:bg-auto{background-size:auto}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:border-collapse{border-collapse:collapse}.lg\:border-separate{border-collapse:separate}.lg\:border-transparent{border-color:transparent}.lg\:border-current{border-color:currentColor}.lg\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-current:hover{border-color:currentColor}.lg\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:focus\:border-transparent:focus{border-color:transparent}.lg\:focus\:border-current:focus{border-color:currentColor}.lg\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:border-opacity-0{--border-opacity:0}.lg\:border-opacity-25{--border-opacity:0.25}.lg\:border-opacity-50{--border-opacity:0.5}.lg\:border-opacity-75{--border-opacity:0.75}.lg\:border-opacity-100{--border-opacity:1}.lg\:hover\:border-opacity-0:hover{--border-opacity:0}.lg\:hover\:border-opacity-25:hover{--border-opacity:0.25}.lg\:hover\:border-opacity-50:hover{--border-opacity:0.5}.lg\:hover\:border-opacity-75:hover{--border-opacity:0.75}.lg\:hover\:border-opacity-100:hover{--border-opacity:1}.lg\:focus\:border-opacity-0:focus{--border-opacity:0}.lg\:focus\:border-opacity-25:focus{--border-opacity:0.25}.lg\:focus\:border-opacity-50:focus{--border-opacity:0.5}.lg\:focus\:border-opacity-75:focus{--border-opacity:0.75}.lg\:focus\:border-opacity-100:focus{--border-opacity:1}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-md{border-radius:.375rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-xl{border-radius:.75rem}.lg\:rounded-2xl{border-radius:1rem}.lg\:rounded-3xl{border-radius:1.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem}.lg\:rounded-r,.lg\:rounded-t{border-top-right-radius:.25rem}.lg\:rounded-b,.lg\:rounded-r{border-bottom-right-radius:.25rem}.lg\:rounded-b,.lg\:rounded-l{border-bottom-left-radius:.25rem}.lg\:rounded-l{border-top-left-radius:.25rem}.lg\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.lg\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.lg\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.lg\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.lg\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.lg\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.lg\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.lg\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.lg\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-tl-md{border-top-left-radius:.375rem}.lg\:rounded-tr-md{border-top-right-radius:.375rem}.lg\:rounded-br-md{border-bottom-right-radius:.375rem}.lg\:rounded-bl-md{border-bottom-left-radius:.375rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tl-xl{border-top-left-radius:.75rem}.lg\:rounded-tr-xl{border-top-right-radius:.75rem}.lg\:rounded-br-xl{border-bottom-right-radius:.75rem}.lg\:rounded-bl-xl{border-bottom-left-radius:.75rem}.lg\:rounded-tl-2xl{border-top-left-radius:1rem}.lg\:rounded-tr-2xl{border-top-right-radius:1rem}.lg\:rounded-br-2xl{border-bottom-right-radius:1rem}.lg\:rounded-bl-2xl{border-bottom-left-radius:1rem}.lg\:rounded-tl-3xl{border-top-left-radius:1.5rem}.lg\:rounded-tr-3xl{border-top-right-radius:1.5rem}.lg\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.lg\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-double{border-style:double}.lg\:border-none{border-style:none}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-r-0{border-right-width:0}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l-0{border-left-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-r-2{border-right-width:2px}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-l-2{border-left-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-r-4{border-right-width:4px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-l-4{border-left-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-r-8{border-right-width:8px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-l-8{border-left-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:box-border{box-sizing:border-box}.lg\:box-content{box-sizing:content-box}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-wait{cursor:wait}.lg\:cursor-text{cursor:text}.lg\:cursor-move{cursor:move}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:table{display:table}.lg\:table-caption{display:table-caption}.lg\:table-cell{display:table-cell}.lg\:table-column{display:table-column}.lg\:table-column-group{display:table-column-group}.lg\:table-footer-group{display:table-footer-group}.lg\:table-header-group{display:table-header-group}.lg\:table-row-group{display:table-row-group}.lg\:table-row{display:table-row}.lg\:flow-root{display:flow-root}.lg\:grid{display:grid}.lg\:inline-grid{display:inline-grid}.lg\:contents{display:contents}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-no-wrap{flex-wrap:nowrap}.lg\:place-items-auto{place-items:auto}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch}.lg\:place-content-center{place-content:center}.lg\:place-content-start{place-content:start}.lg\:place-content-end{place-content:end}.lg\:place-content-between{place-content:space-between}.lg\:place-content-around{place-content:space-around}.lg\:place-content-evenly{place-content:space-evenly}.lg\:place-content-stretch{place-content:stretch}.lg\:place-self-auto{place-self:auto}.lg\:place-self-start{place-self:start}.lg\:place-self-end{place-self:end}.lg\:place-self-center{place-self:center}.lg\:place-self-stretch{place-self:stretch}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:content-evenly{align-content:space-evenly}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-items-auto{justify-items:auto}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:justify-self-auto{justify-self:auto}.lg\:justify-self-start{justify-self:start}.lg\:justify-self-end{justify-self:end}.lg\:justify-self-center{justify-self:center}.lg\:justify-self-stretch{justify-self:stretch}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-initial{flex:0 1 auto}.lg\:flex-none{flex:none}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink{flex-shrink:1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-8{order:8}.lg\:order-9{order:9}.lg\:order-10{order:10}.lg\:order-11{order:11}.lg\:order-12{order:12}.lg\:order-first{order:-9999}.lg\:order-last{order:9999}.lg\:order-none{order:0}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clearfix:after{content:"";display:table;clear:both}.lg\:clear-left{clear:left}.lg\:clear-right{clear:right}.lg\:clear-both{clear:both}.lg\:clear-none{clear:none}.lg\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lg\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.lg\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lg\:font-hairline{font-weight:100}.lg\:font-thin{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:hover\:font-hairline:hover{font-weight:100}.lg\:hover\:font-thin:hover{font-weight:200}.lg\:hover\:font-light:hover{font-weight:300}.lg\:hover\:font-normal:hover{font-weight:400}.lg\:hover\:font-medium:hover{font-weight:500}.lg\:hover\:font-semibold:hover{font-weight:600}.lg\:hover\:font-bold:hover{font-weight:700}.lg\:hover\:font-extrabold:hover{font-weight:800}.lg\:hover\:font-black:hover{font-weight:900}.lg\:focus\:font-hairline:focus{font-weight:100}.lg\:focus\:font-thin:focus{font-weight:200}.lg\:focus\:font-light:focus{font-weight:300}.lg\:focus\:font-normal:focus{font-weight:400}.lg\:focus\:font-medium:focus{font-weight:500}.lg\:focus\:font-semibold:focus{font-weight:600}.lg\:focus\:font-bold:focus{font-weight:700}.lg\:focus\:font-extrabold:focus{font-weight:800}.lg\:focus\:font-black:focus{font-weight:900}.lg\:h-0{height:0}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-5{height:1.25rem}.lg\:h-6{height:1.5rem}.lg\:h-8{height:2rem}.lg\:h-10{height:2.5rem}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-20{height:5rem}.lg\:h-24{height:6rem}.lg\:h-32{height:8rem}.lg\:h-40{height:10rem}.lg\:h-48{height:12rem}.lg\:h-56{height:14rem}.lg\:h-64{height:16rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:text-xs{font-size:.75rem}.lg\:text-sm{font-size:.875rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:text-6xl{font-size:4rem}.lg\:leading-3{line-height:.75rem}.lg\:leading-4{line-height:1rem}.lg\:leading-5{line-height:1.25rem}.lg\:leading-6{line-height:1.5rem}.lg\:leading-7{line-height:1.75rem}.lg\:leading-8{line-height:2rem}.lg\:leading-9{line-height:2.25rem}.lg\:leading-10{line-height:2.5rem}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-snug{line-height:1.375}.lg\:leading-normal{line-height:1.5}.lg\:leading-relaxed{line-height:1.625}.lg\:leading-loose{line-height:2}.lg\:list-inside{list-style-position:inside}.lg\:list-outside{list-style-position:outside}.lg\:list-none{list-style-type:none}.lg\:list-disc{list-style-type:disc}.lg\:list-decimal{list-style-type:decimal}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-8{margin:2rem}.lg\:m-10{margin:2.5rem}.lg\:m-12{margin:3rem}.lg\:m-16{margin:4rem}.lg\:m-20{margin:5rem}.lg\:m-24{margin:6rem}.lg\:m-32{margin:8rem}.lg\:m-40{margin:10rem}.lg\:m-48{margin:12rem}.lg\:m-56{margin:14rem}.lg\:m-64{margin:16rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-5{margin:-1.25rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-8{margin:-2rem}.lg\:-m-10{margin:-2.5rem}.lg\:-m-12{margin:-3rem}.lg\:-m-16{margin:-4rem}.lg\:-m-20{margin:-5rem}.lg\:-m-24{margin:-6rem}.lg\:-m-32{margin:-8rem}.lg\:-m-40{margin:-10rem}.lg\:-m-48{margin:-12rem}.lg\:-m-56{margin:-14rem}.lg\:-m-64{margin:-16rem}.lg\:-m-px{margin:-1px}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:mx-12{margin-left:3rem;margin-right:3rem}.lg\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\:mx-40{margin-left:10rem;margin-right:10rem}.lg\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\:mx-48{margin-left:12rem;margin-right:12rem}.lg\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\:mx-56{margin-left:14rem;margin-right:14rem}.lg\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\:mx-64{margin-left:16rem;margin-right:16rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mt-1{margin-top:.25rem}.lg\:mr-1{margin-right:.25rem}.lg\:mb-1{margin-bottom:.25rem}.lg\:ml-1{margin-left:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mr-3{margin-right:.75rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mr-5{margin-right:1.25rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:ml-5{margin-left:1.25rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-8{margin-top:2rem}.lg\:mr-8{margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mr-10{margin-right:2.5rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mr-12{margin-right:3rem}.lg\:mb-12{margin-bottom:3rem}.lg\:ml-12{margin-left:3rem}.lg\:mt-16{margin-top:4rem}.lg\:mr-16{margin-right:4rem}.lg\:mb-16{margin-bottom:4rem}.lg\:ml-16{margin-left:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mr-20{margin-right:5rem}.lg\:mb-20{margin-bottom:5rem}.lg\:ml-20{margin-left:5rem}.lg\:mt-24{margin-top:6rem}.lg\:mr-24{margin-right:6rem}.lg\:mb-24{margin-bottom:6rem}.lg\:ml-24{margin-left:6rem}.lg\:mt-32{margin-top:8rem}.lg\:mr-32{margin-right:8rem}.lg\:mb-32{margin-bottom:8rem}.lg\:ml-32{margin-left:8rem}.lg\:mt-40{margin-top:10rem}.lg\:mr-40{margin-right:10rem}.lg\:mb-40{margin-bottom:10rem}.lg\:ml-40{margin-left:10rem}.lg\:mt-48{margin-top:12rem}.lg\:mr-48{margin-right:12rem}.lg\:mb-48{margin-bottom:12rem}.lg\:ml-48{margin-left:12rem}.lg\:mt-56{margin-top:14rem}.lg\:mr-56{margin-right:14rem}.lg\:mb-56{margin-bottom:14rem}.lg\:ml-56{margin-left:14rem}.lg\:mt-64{margin-top:16rem}.lg\:mr-64{margin-right:16rem}.lg\:mb-64{margin-bottom:16rem}.lg\:ml-64{margin-left:16rem}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mt-px{margin-top:1px}.lg\:mr-px{margin-right:1px}.lg\:mb-px{margin-bottom:1px}.lg\:ml-px{margin-left:1px}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-ml-1{margin-left:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-mt-5{margin-top:-1.25rem}.lg\:-mr-5{margin-right:-1.25rem}.lg\:-mb-5{margin-bottom:-1.25rem}.lg\:-ml-5{margin-left:-1.25rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-mt-10{margin-top:-2.5rem}.lg\:-mr-10{margin-right:-2.5rem}.lg\:-mb-10{margin-bottom:-2.5rem}.lg\:-ml-10{margin-left:-2.5rem}.lg\:-mt-12{margin-top:-3rem}.lg\:-mr-12{margin-right:-3rem}.lg\:-mb-12{margin-bottom:-3rem}.lg\:-ml-12{margin-left:-3rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mr-16{margin-right:-4rem}.lg\:-mb-16{margin-bottom:-4rem}.lg\:-ml-16{margin-left:-4rem}.lg\:-mt-20{margin-top:-5rem}.lg\:-mr-20{margin-right:-5rem}.lg\:-mb-20{margin-bottom:-5rem}.lg\:-ml-20{margin-left:-5rem}.lg\:-mt-24{margin-top:-6rem}.lg\:-mr-24{margin-right:-6rem}.lg\:-mb-24{margin-bottom:-6rem}.lg\:-ml-24{margin-left:-6rem}.lg\:-mt-32{margin-top:-8rem}.lg\:-mr-32{margin-right:-8rem}.lg\:-mb-32{margin-bottom:-8rem}.lg\:-ml-32{margin-left:-8rem}.lg\:-mt-40{margin-top:-10rem}.lg\:-mr-40{margin-right:-10rem}.lg\:-mb-40{margin-bottom:-10rem}.lg\:-ml-40{margin-left:-10rem}.lg\:-mt-48{margin-top:-12rem}.lg\:-mr-48{margin-right:-12rem}.lg\:-mb-48{margin-bottom:-12rem}.lg\:-ml-48{margin-left:-12rem}.lg\:-mt-56{margin-top:-14rem}.lg\:-mr-56{margin-right:-14rem}.lg\:-mb-56{margin-bottom:-14rem}.lg\:-ml-56{margin-left:-14rem}.lg\:-mt-64{margin-top:-16rem}.lg\:-mr-64{margin-right:-16rem}.lg\:-mb-64{margin-bottom:-16rem}.lg\:-ml-64{margin-left:-16rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mr-px{margin-right:-1px}.lg\:-mb-px{margin-bottom:-1px}.lg\:-ml-px{margin-left:-1px}.lg\:max-h-full{max-height:100%}.lg\:max-h-screen{max-height:100vh}.lg\:max-w-none{max-width:none}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-lg{max-width:32rem}.lg\:max-w-xl{max-width:36rem}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-5xl{max-width:64rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-full{max-width:100%}.lg\:max-w-screen-xs{max-width:360px}.lg\:max-w-screen-sm{max-width:640px}.lg\:max-w-screen-md{max-width:768px}.lg\:max-w-screen-lg{max-width:1024px}.lg\:max-w-screen-xl{max-width:1280px}.lg\:max-w-screen-xxl{max-width:1480px}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:object-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-none{-o-object-fit:none;object-fit:none}.lg\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-bottom{-o-object-position:bottom;object-position:bottom}.lg\:object-center{-o-object-position:center;object-position:center}.lg\:object-left{-o-object-position:left;object-position:left}.lg\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.lg\:object-left-top{-o-object-position:left top;object-position:left top}.lg\:object-right{-o-object-position:right;object-position:right}.lg\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.lg\:object-right-top{-o-object-position:right top;object-position:right top}.lg\:object-top{-o-object-position:top;object-position:top}.lg\:opacity-0{opacity:0}.lg\:opacity-25{opacity:.25}.lg\:opacity-50{opacity:.5}.lg\:opacity-75{opacity:.75}.lg\:opacity-100{opacity:1}.lg\:hover\:opacity-0:hover{opacity:0}.lg\:hover\:opacity-25:hover{opacity:.25}.lg\:hover\:opacity-50:hover{opacity:.5}.lg\:hover\:opacity-75:hover{opacity:.75}.lg\:hover\:opacity-100:hover{opacity:1}.lg\:focus\:opacity-0:focus{opacity:0}.lg\:focus\:opacity-25:focus{opacity:.25}.lg\:focus\:opacity-50:focus{opacity:.5}.lg\:focus\:opacity-75:focus{opacity:.75}.lg\:focus\:opacity-100:focus{opacity:1}.lg\:outline-none{outline:2px solid transparent;outline-offset:2px}.lg\:outline-white{outline:2px dotted #fff;outline-offset:2px}.lg\:outline-black{outline:2px dotted #000;outline-offset:2px}.lg\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lg\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.lg\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-y-auto{overflow-y:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-hidden{overflow-y:hidden}.lg\:overflow-x-visible{overflow-x:visible}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:scrolling-touch{-webkit-overflow-scrolling:touch}.lg\:scrolling-auto{-webkit-overflow-scrolling:auto}.lg\:overscroll-auto{overscroll-behavior:auto}.lg\:overscroll-contain{overscroll-behavior:contain}.lg\:overscroll-none{overscroll-behavior:none}.lg\:overscroll-y-auto{overscroll-behavior-y:auto}.lg\:overscroll-y-contain{overscroll-behavior-y:contain}.lg\:overscroll-y-none{overscroll-behavior-y:none}.lg\:overscroll-x-auto{overscroll-behavior-x:auto}.lg\:overscroll-x-contain{overscroll-behavior-x:contain}.lg\:overscroll-x-none{overscroll-behavior-x:none}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}.lg\:p-16{padding:4rem}.lg\:p-20{padding:5rem}.lg\:p-24{padding:6rem}.lg\:p-32{padding:8rem}.lg\:p-40{padding:10rem}.lg\:p-48{padding:12rem}.lg\:p-56{padding:14rem}.lg\:p-64{padding:16rem}.lg\:p-px{padding:1px}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\:px-48{padding-left:12rem;padding-right:12rem}.lg\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\:px-56{padding-left:14rem;padding-right:14rem}.lg\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\:px-64{padding-left:16rem;padding-right:16rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:pt-1{padding-top:.25rem}.lg\:pr-1{padding-right:.25rem}.lg\:pb-1{padding-bottom:.25rem}.lg\:pl-1{padding-left:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pr-2{padding-right:.5rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pr-3{padding-right:.75rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pl-3{padding-left:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pr-4{padding-right:1rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-5{padding-top:1.25rem}.lg\:pr-5{padding-right:1.25rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-5{padding-left:1.25rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:pr-8{padding-right:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pt-12{padding-top:3rem}.lg\:pr-12{padding-right:3rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pl-12{padding-left:3rem}.lg\:pt-16{padding-top:4rem}.lg\:pr-16{padding-right:4rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pl-16{padding-left:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pr-20{padding-right:5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-20{padding-left:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pr-24{padding-right:6rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pl-24{padding-left:6rem}.lg\:pt-32{padding-top:8rem}.lg\:pr-32{padding-right:8rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pl-32{padding-left:8rem}.lg\:pt-40{padding-top:10rem}.lg\:pr-40{padding-right:10rem}.lg\:pb-40{padding-bottom:10rem}.lg\:pl-40{padding-left:10rem}.lg\:pt-48{padding-top:12rem}.lg\:pr-48{padding-right:12rem}.lg\:pb-48{padding-bottom:12rem}.lg\:pl-48{padding-left:12rem}.lg\:pt-56{padding-top:14rem}.lg\:pr-56{padding-right:14rem}.lg\:pb-56{padding-bottom:14rem}.lg\:pl-56{padding-left:14rem}.lg\:pt-64{padding-top:16rem}.lg\:pr-64{padding-right:16rem}.lg\:pb-64{padding-bottom:16rem}.lg\:pl-64{padding-left:16rem}.lg\:pt-px{padding-top:1px}.lg\:pr-px{padding-right:1px}.lg\:pb-px{padding-bottom:1px}.lg\:pl-px{padding-left:1px}.lg\:placeholder-transparent::placeholder{color:transparent}.lg\:placeholder-current::placeholder{color:currentColor}.lg\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.lg\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.lg\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.lg\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.lg\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.lg\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.lg\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.lg\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.lg\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.lg\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.lg\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.lg\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.lg\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.lg\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.lg\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.lg\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.lg\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.lg\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.lg\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.lg\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.lg\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.lg\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.lg\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.lg\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.lg\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.lg\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.lg\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.lg\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.lg\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.lg\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.lg\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.lg\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.lg\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.lg\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.lg\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.lg\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.lg\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.lg\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.lg\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.lg\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.lg\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.lg\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.lg\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.lg\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.lg\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.lg\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.lg\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.lg\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.lg\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.lg\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.lg\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.lg\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.lg\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.lg\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.lg\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.lg\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.lg\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.lg\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.lg\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.lg\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.lg\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.lg\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.lg\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.lg\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.lg\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.lg\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.lg\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.lg\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.lg\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.lg\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.lg\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.lg\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.lg\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.lg\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.lg\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.lg\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.lg\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.lg\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.lg\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.lg\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.lg\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.lg\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.lg\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.lg\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.lg\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.lg\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.lg\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.lg\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.lg\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.lg\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.lg\:focus\:placeholder-current:focus::placeholder{color:currentColor}.lg\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.lg\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.lg\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:inset-0{top:0;right:0;bottom:0;left:0}.lg\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\:inset-y-0{top:0;bottom:0}.lg\:inset-x-0{right:0;left:0}.lg\:inset-y-auto{top:auto;bottom:auto}.lg\:inset-x-auto{right:auto;left:auto}.lg\:top-0{top:0}.lg\:right-0{right:0}.lg\:bottom-0{bottom:0}.lg\:left-0{left:0}.lg\:top-auto{top:auto}.lg\:right-auto{right:auto}.lg\:bottom-auto{bottom:auto}.lg\:left-auto{left:auto}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:shadow-none{box-shadow:none}.lg\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:hover\:shadow-none:hover{box-shadow:none}.lg\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:focus\:shadow-none:focus{box-shadow:none}.lg\:fill-current{fill:currentColor}.lg\:stroke-current{stroke:currentColor}.lg\:stroke-0{stroke-width:0}.lg\:stroke-1{stroke-width:1}.lg\:stroke-2{stroke-width:2}.lg\:table-auto{table-layout:auto}.lg\:table-fixed{table-layout:fixed}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:text-transparent{color:transparent}.lg\:text-current{color:currentColor}.lg\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-current:hover{color:currentColor}.lg\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:focus\:text-transparent:focus{color:transparent}.lg\:focus\:text-current:focus{color:currentColor}.lg\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:text-opacity-0{--text-opacity:0}.lg\:text-opacity-25{--text-opacity:0.25}.lg\:text-opacity-50{--text-opacity:0.5}.lg\:text-opacity-75{--text-opacity:0.75}.lg\:text-opacity-100{--text-opacity:1}.lg\:hover\:text-opacity-0:hover{--text-opacity:0}.lg\:hover\:text-opacity-25:hover{--text-opacity:0.25}.lg\:hover\:text-opacity-50:hover{--text-opacity:0.5}.lg\:hover\:text-opacity-75:hover{--text-opacity:0.75}.lg\:hover\:text-opacity-100:hover{--text-opacity:1}.lg\:focus\:text-opacity-0:focus{--text-opacity:0}.lg\:focus\:text-opacity-25:focus{--text-opacity:0.25}.lg\:focus\:text-opacity-50:focus{--text-opacity:0.5}.lg\:focus\:text-opacity-75:focus{--text-opacity:0.75}.lg\:focus\:text-opacity-100:focus{--text-opacity:1}.lg\:italic{font-style:italic}.lg\:not-italic{font-style:normal}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:focus\:underline:focus{text-decoration:underline}.lg\:focus\:line-through:focus{text-decoration:line-through}.lg\:focus\:no-underline:focus{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:diagonal-fractions,.lg\:lining-nums,.lg\:oldstyle-nums,.lg\:ordinal,.lg\:proportional-nums,.lg\:slashed-zero,.lg\:stacked-fractions,.lg\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.lg\:normal-nums{font-variant-numeric:normal}.lg\:ordinal{--font-variant-numeric-ordinal:ordinal}.lg\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.lg\:lining-nums{--font-variant-numeric-figure:lining-nums}.lg\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.lg\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.lg\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.lg\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.lg\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.lg\:tracking-tighter{letter-spacing:-.05em}.lg\:tracking-tight{letter-spacing:-.025em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.025em}.lg\:tracking-wider{letter-spacing:.05em}.lg\:tracking-widest{letter-spacing:.1em}.lg\:select-none{-webkit-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;user-select:text}.lg\:select-all{-webkit-user-select:all;user-select:all}.lg\:select-auto{-webkit-user-select:auto;user-select:auto}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-no-wrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.lg\:break-words{word-wrap:break-word;overflow-wrap:break-word}.lg\:break-all{word-break:break-all}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:w-0{width:0}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-5{width:1.25rem}.lg\:w-6{width:1.5rem}.lg\:w-8{width:2rem}.lg\:w-10{width:2.5rem}.lg\:w-12{width:3rem}.lg\:w-16{width:4rem}.lg\:w-20{width:5rem}.lg\:w-24{width:6rem}.lg\:w-32{width:8rem}.lg\:w-40{width:10rem}.lg\:w-48{width:12rem}.lg\:w-56{width:14rem}.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-1\/4{width:25%}.lg\:w-2\/4{width:50%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.666667%}.lg\:w-2\/6{width:33.333333%}.lg\:w-3\/6{width:50%}.lg\:w-4\/6{width:66.666667%}.lg\:w-5\/6{width:83.333333%}.lg\:w-1\/12{width:8.333333%}.lg\:w-2\/12{width:16.666667%}.lg\:w-3\/12{width:25%}.lg\:w-4\/12{width:33.333333%}.lg\:w-5\/12{width:41.666667%}.lg\:w-6\/12{width:50%}.lg\:w-7\/12{width:58.333333%}.lg\:w-8\/12{width:66.666667%}.lg\:w-9\/12{width:75%}.lg\:w-10\/12{width:83.333333%}.lg\:w-11\/12{width:91.666667%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}.lg\:gap-0{grid-gap:0;gap:0}.lg\:gap-1{grid-gap:.25rem;gap:.25rem}.lg\:gap-2{grid-gap:.5rem;gap:.5rem}.lg\:gap-3{grid-gap:.75rem;gap:.75rem}.lg\:gap-4{grid-gap:1rem;gap:1rem}.lg\:gap-5{grid-gap:1.25rem;gap:1.25rem}.lg\:gap-6{grid-gap:1.5rem;gap:1.5rem}.lg\:gap-8{grid-gap:2rem;gap:2rem}.lg\:gap-10{grid-gap:2.5rem;gap:2.5rem}.lg\:gap-12{grid-gap:3rem;gap:3rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-20{grid-gap:5rem;gap:5rem}.lg\:gap-24{grid-gap:6rem;gap:6rem}.lg\:gap-32{grid-gap:8rem;gap:8rem}.lg\:gap-40{grid-gap:10rem;gap:10rem}.lg\:gap-48{grid-gap:12rem;gap:12rem}.lg\:gap-56{grid-gap:14rem;gap:14rem}.lg\:gap-64{grid-gap:16rem;gap:16rem}.lg\:gap-px{grid-gap:1px;gap:1px}.lg\:col-gap-0{grid-column-gap:0;column-gap:0}.lg\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.lg\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.lg\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.lg\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.lg\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.lg\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.lg\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.lg\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.lg\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.lg\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.lg\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.lg\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.lg\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.lg\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.lg\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.lg\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.lg\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.lg\:col-gap-px{grid-column-gap:1px;column-gap:1px}.lg\:gap-x-0{grid-column-gap:0;column-gap:0}.lg\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.lg\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.lg\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.lg\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.lg\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.lg\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.lg\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.lg\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.lg\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.lg\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.lg\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.lg\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.lg\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.lg\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.lg\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.lg\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.lg\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.lg\:gap-x-px{grid-column-gap:1px;column-gap:1px}.lg\:row-gap-0{grid-row-gap:0;row-gap:0}.lg\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.lg\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.lg\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.lg\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.lg\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.lg\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.lg\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.lg\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.lg\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.lg\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.lg\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.lg\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.lg\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.lg\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.lg\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.lg\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.lg\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.lg\:row-gap-px{grid-row-gap:1px;row-gap:1px}.lg\:gap-y-0{grid-row-gap:0;row-gap:0}.lg\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.lg\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.lg\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.lg\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.lg\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.lg\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.lg\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.lg\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.lg\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.lg\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.lg\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.lg\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.lg\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.lg\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.lg\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.lg\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.lg\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.lg\:gap-y-px{grid-row-gap:1px;row-gap:1px}.lg\:grid-flow-row{grid-auto-flow:row}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}.lg\:auto-cols-auto{grid-auto-columns:auto}.lg\:auto-cols-min{grid-auto-columns:min-content}.lg\:auto-cols-max{grid-auto-columns:max-content}.lg\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.lg\:col-auto{grid-column:auto}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:col-start-13{grid-column-start:13}.lg\:col-start-auto{grid-column-start:auto}.lg\:col-end-1{grid-column-end:1}.lg\:col-end-2{grid-column-end:2}.lg\:col-end-3{grid-column-end:3}.lg\:col-end-4{grid-column-end:4}.lg\:col-end-5{grid-column-end:5}.lg\:col-end-6{grid-column-end:6}.lg\:col-end-7{grid-column-end:7}.lg\:col-end-8{grid-column-end:8}.lg\:col-end-9{grid-column-end:9}.lg\:col-end-10{grid-column-end:10}.lg\:col-end-11{grid-column-end:11}.lg\:col-end-12{grid-column-end:12}.lg\:col-end-13{grid-column-end:13}.lg\:col-end-auto{grid-column-end:auto}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.lg\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.lg\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.lg\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.lg\:grid-rows-none{grid-template-rows:none}.lg\:auto-rows-auto{grid-auto-rows:auto}.lg\:auto-rows-min{grid-auto-rows:min-content}.lg\:auto-rows-max{grid-auto-rows:max-content}.lg\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.lg\:row-auto{grid-row:auto}.lg\:row-span-1{grid-row:span 1/span 1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-span-3{grid-row:span 3/span 3}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:row-span-6{grid-row:span 6/span 6}.lg\:row-span-full{grid-row:1/-1}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:row-start-3{grid-row-start:3}.lg\:row-start-4{grid-row-start:4}.lg\:row-start-5{grid-row-start:5}.lg\:row-start-6{grid-row-start:6}.lg\:row-start-7{grid-row-start:7}.lg\:row-start-auto{grid-row-start:auto}.lg\:row-end-1{grid-row-end:1}.lg\:row-end-2{grid-row-end:2}.lg\:row-end-3{grid-row-end:3}.lg\:row-end-4{grid-row-end:4}.lg\:row-end-5{grid-row-end:5}.lg\:row-end-6{grid-row-end:6}.lg\:row-end-7{grid-row-end:7}.lg\:row-end-auto{grid-row-end:auto}.lg\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.lg\:transform-none{transform:none}.lg\:origin-center{transform-origin:center}.lg\:origin-top{transform-origin:top}.lg\:origin-top-right{transform-origin:top right}.lg\:origin-right{transform-origin:right}.lg\:origin-bottom-right{transform-origin:bottom right}.lg\:origin-bottom{transform-origin:bottom}.lg\:origin-bottom-left{transform-origin:bottom left}.lg\:origin-left{transform-origin:left}.lg\:origin-top-left{transform-origin:top left}.lg\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.lg\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.lg\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:scale-x-0{--transform-scale-x:0}.lg\:scale-x-50{--transform-scale-x:.5}.lg\:scale-x-75{--transform-scale-x:.75}.lg\:scale-x-90{--transform-scale-x:.9}.lg\:scale-x-95{--transform-scale-x:.95}.lg\:scale-x-100{--transform-scale-x:1}.lg\:scale-x-105{--transform-scale-x:1.05}.lg\:scale-x-110{--transform-scale-x:1.1}.lg\:scale-x-125{--transform-scale-x:1.25}.lg\:scale-x-150{--transform-scale-x:1.5}.lg\:scale-y-0{--transform-scale-y:0}.lg\:scale-y-50{--transform-scale-y:.5}.lg\:scale-y-75{--transform-scale-y:.75}.lg\:scale-y-90{--transform-scale-y:.9}.lg\:scale-y-95{--transform-scale-y:.95}.lg\:scale-y-100{--transform-scale-y:1}.lg\:scale-y-105{--transform-scale-y:1.05}.lg\:scale-y-110{--transform-scale-y:1.1}.lg\:scale-y-125{--transform-scale-y:1.25}.lg\:scale-y-150{--transform-scale-y:1.5}.lg\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.lg\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.lg\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:hover\:scale-x-0:hover{--transform-scale-x:0}.lg\:hover\:scale-x-50:hover{--transform-scale-x:.5}.lg\:hover\:scale-x-75:hover{--transform-scale-x:.75}.lg\:hover\:scale-x-90:hover{--transform-scale-x:.9}.lg\:hover\:scale-x-95:hover{--transform-scale-x:.95}.lg\:hover\:scale-x-100:hover{--transform-scale-x:1}.lg\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.lg\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.lg\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.lg\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.lg\:hover\:scale-y-0:hover{--transform-scale-y:0}.lg\:hover\:scale-y-50:hover{--transform-scale-y:.5}.lg\:hover\:scale-y-75:hover{--transform-scale-y:.75}.lg\:hover\:scale-y-90:hover{--transform-scale-y:.9}.lg\:hover\:scale-y-95:hover{--transform-scale-y:.95}.lg\:hover\:scale-y-100:hover{--transform-scale-y:1}.lg\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.lg\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.lg\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.lg\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.lg\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.lg\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.lg\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:focus\:scale-x-0:focus{--transform-scale-x:0}.lg\:focus\:scale-x-50:focus{--transform-scale-x:.5}.lg\:focus\:scale-x-75:focus{--transform-scale-x:.75}.lg\:focus\:scale-x-90:focus{--transform-scale-x:.9}.lg\:focus\:scale-x-95:focus{--transform-scale-x:.95}.lg\:focus\:scale-x-100:focus{--transform-scale-x:1}.lg\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.lg\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.lg\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.lg\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.lg\:focus\:scale-y-0:focus{--transform-scale-y:0}.lg\:focus\:scale-y-50:focus{--transform-scale-y:.5}.lg\:focus\:scale-y-75:focus{--transform-scale-y:.75}.lg\:focus\:scale-y-90:focus{--transform-scale-y:.9}.lg\:focus\:scale-y-95:focus{--transform-scale-y:.95}.lg\:focus\:scale-y-100:focus{--transform-scale-y:1}.lg\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.lg\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.lg\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.lg\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.lg\:rotate-0{--transform-rotate:0}.lg\:rotate-1{--transform-rotate:1deg}.lg\:rotate-2{--transform-rotate:2deg}.lg\:rotate-3{--transform-rotate:3deg}.lg\:rotate-6{--transform-rotate:6deg}.lg\:rotate-12{--transform-rotate:12deg}.lg\:rotate-45{--transform-rotate:45deg}.lg\:rotate-90{--transform-rotate:90deg}.lg\:rotate-180{--transform-rotate:180deg}.lg\:-rotate-180{--transform-rotate:-180deg}.lg\:-rotate-90{--transform-rotate:-90deg}.lg\:-rotate-45{--transform-rotate:-45deg}.lg\:-rotate-12{--transform-rotate:-12deg}.lg\:-rotate-6{--transform-rotate:-6deg}.lg\:-rotate-3{--transform-rotate:-3deg}.lg\:-rotate-2{--transform-rotate:-2deg}.lg\:-rotate-1{--transform-rotate:-1deg}.lg\:hover\:rotate-0:hover{--transform-rotate:0}.lg\:hover\:rotate-1:hover{--transform-rotate:1deg}.lg\:hover\:rotate-2:hover{--transform-rotate:2deg}.lg\:hover\:rotate-3:hover{--transform-rotate:3deg}.lg\:hover\:rotate-6:hover{--transform-rotate:6deg}.lg\:hover\:rotate-12:hover{--transform-rotate:12deg}.lg\:hover\:rotate-45:hover{--transform-rotate:45deg}.lg\:hover\:rotate-90:hover{--transform-rotate:90deg}.lg\:hover\:rotate-180:hover{--transform-rotate:180deg}.lg\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.lg\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.lg\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.lg\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.lg\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.lg\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.lg\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.lg\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.lg\:focus\:rotate-0:focus{--transform-rotate:0}.lg\:focus\:rotate-1:focus{--transform-rotate:1deg}.lg\:focus\:rotate-2:focus{--transform-rotate:2deg}.lg\:focus\:rotate-3:focus{--transform-rotate:3deg}.lg\:focus\:rotate-6:focus{--transform-rotate:6deg}.lg\:focus\:rotate-12:focus{--transform-rotate:12deg}.lg\:focus\:rotate-45:focus{--transform-rotate:45deg}.lg\:focus\:rotate-90:focus{--transform-rotate:90deg}.lg\:focus\:rotate-180:focus{--transform-rotate:180deg}.lg\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.lg\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.lg\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.lg\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.lg\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.lg\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.lg\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.lg\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.lg\:translate-x-0{--transform-translate-x:0}.lg\:translate-x-1{--transform-translate-x:0.25rem}.lg\:translate-x-2{--transform-translate-x:0.5rem}.lg\:translate-x-3{--transform-translate-x:0.75rem}.lg\:translate-x-4{--transform-translate-x:1rem}.lg\:translate-x-5{--transform-translate-x:1.25rem}.lg\:translate-x-6{--transform-translate-x:1.5rem}.lg\:translate-x-8{--transform-translate-x:2rem}.lg\:translate-x-10{--transform-translate-x:2.5rem}.lg\:translate-x-12{--transform-translate-x:3rem}.lg\:translate-x-16{--transform-translate-x:4rem}.lg\:translate-x-20{--transform-translate-x:5rem}.lg\:translate-x-24{--transform-translate-x:6rem}.lg\:translate-x-32{--transform-translate-x:8rem}.lg\:translate-x-40{--transform-translate-x:10rem}.lg\:translate-x-48{--transform-translate-x:12rem}.lg\:translate-x-56{--transform-translate-x:14rem}.lg\:translate-x-64{--transform-translate-x:16rem}.lg\:translate-x-px{--transform-translate-x:1px}.lg\:-translate-x-1{--transform-translate-x:-0.25rem}.lg\:-translate-x-2{--transform-translate-x:-0.5rem}.lg\:-translate-x-3{--transform-translate-x:-0.75rem}.lg\:-translate-x-4{--transform-translate-x:-1rem}.lg\:-translate-x-5{--transform-translate-x:-1.25rem}.lg\:-translate-x-6{--transform-translate-x:-1.5rem}.lg\:-translate-x-8{--transform-translate-x:-2rem}.lg\:-translate-x-10{--transform-translate-x:-2.5rem}.lg\:-translate-x-12{--transform-translate-x:-3rem}.lg\:-translate-x-16{--transform-translate-x:-4rem}.lg\:-translate-x-20{--transform-translate-x:-5rem}.lg\:-translate-x-24{--transform-translate-x:-6rem}.lg\:-translate-x-32{--transform-translate-x:-8rem}.lg\:-translate-x-40{--transform-translate-x:-10rem}.lg\:-translate-x-48{--transform-translate-x:-12rem}.lg\:-translate-x-56{--transform-translate-x:-14rem}.lg\:-translate-x-64{--transform-translate-x:-16rem}.lg\:-translate-x-px{--transform-translate-x:-1px}.lg\:-translate-x-full{--transform-translate-x:-100%}.lg\:-translate-x-1\/2{--transform-translate-x:-50%}.lg\:translate-x-1\/2{--transform-translate-x:50%}.lg\:translate-x-full{--transform-translate-x:100%}.lg\:translate-y-0{--transform-translate-y:0}.lg\:translate-y-1{--transform-translate-y:0.25rem}.lg\:translate-y-2{--transform-translate-y:0.5rem}.lg\:translate-y-3{--transform-translate-y:0.75rem}.lg\:translate-y-4{--transform-translate-y:1rem}.lg\:translate-y-5{--transform-translate-y:1.25rem}.lg\:translate-y-6{--transform-translate-y:1.5rem}.lg\:translate-y-8{--transform-translate-y:2rem}.lg\:translate-y-10{--transform-translate-y:2.5rem}.lg\:translate-y-12{--transform-translate-y:3rem}.lg\:translate-y-16{--transform-translate-y:4rem}.lg\:translate-y-20{--transform-translate-y:5rem}.lg\:translate-y-24{--transform-translate-y:6rem}.lg\:translate-y-32{--transform-translate-y:8rem}.lg\:translate-y-40{--transform-translate-y:10rem}.lg\:translate-y-48{--transform-translate-y:12rem}.lg\:translate-y-56{--transform-translate-y:14rem}.lg\:translate-y-64{--transform-translate-y:16rem}.lg\:translate-y-px{--transform-translate-y:1px}.lg\:-translate-y-1{--transform-translate-y:-0.25rem}.lg\:-translate-y-2{--transform-translate-y:-0.5rem}.lg\:-translate-y-3{--transform-translate-y:-0.75rem}.lg\:-translate-y-4{--transform-translate-y:-1rem}.lg\:-translate-y-5{--transform-translate-y:-1.25rem}.lg\:-translate-y-6{--transform-translate-y:-1.5rem}.lg\:-translate-y-8{--transform-translate-y:-2rem}.lg\:-translate-y-10{--transform-translate-y:-2.5rem}.lg\:-translate-y-12{--transform-translate-y:-3rem}.lg\:-translate-y-16{--transform-translate-y:-4rem}.lg\:-translate-y-20{--transform-translate-y:-5rem}.lg\:-translate-y-24{--transform-translate-y:-6rem}.lg\:-translate-y-32{--transform-translate-y:-8rem}.lg\:-translate-y-40{--transform-translate-y:-10rem}.lg\:-translate-y-48{--transform-translate-y:-12rem}.lg\:-translate-y-56{--transform-translate-y:-14rem}.lg\:-translate-y-64{--transform-translate-y:-16rem}.lg\:-translate-y-px{--transform-translate-y:-1px}.lg\:-translate-y-full{--transform-translate-y:-100%}.lg\:-translate-y-1\/2{--transform-translate-y:-50%}.lg\:translate-y-1\/2{--transform-translate-y:50%}.lg\:translate-y-full{--transform-translate-y:100%}.lg\:hover\:translate-x-0:hover{--transform-translate-x:0}.lg\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.lg\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.lg\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.lg\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.lg\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.lg\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.lg\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.lg\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.lg\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.lg\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.lg\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.lg\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.lg\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.lg\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.lg\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.lg\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.lg\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.lg\:hover\:translate-x-px:hover{--transform-translate-x:1px}.lg\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.lg\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.lg\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.lg\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.lg\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.lg\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.lg\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.lg\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.lg\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.lg\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.lg\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.lg\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.lg\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.lg\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.lg\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.lg\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.lg\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.lg\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.lg\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.lg\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.lg\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-full:hover{--transform-translate-x:100%}.lg\:hover\:translate-y-0:hover{--transform-translate-y:0}.lg\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.lg\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.lg\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.lg\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.lg\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.lg\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.lg\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.lg\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.lg\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.lg\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.lg\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.lg\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.lg\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.lg\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.lg\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.lg\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.lg\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.lg\:hover\:translate-y-px:hover{--transform-translate-y:1px}.lg\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.lg\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.lg\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.lg\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.lg\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.lg\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.lg\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.lg\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.lg\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.lg\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.lg\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.lg\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.lg\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.lg\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.lg\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.lg\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.lg\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.lg\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.lg\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.lg\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.lg\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-full:hover{--transform-translate-y:100%}.lg\:focus\:translate-x-0:focus{--transform-translate-x:0}.lg\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.lg\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.lg\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.lg\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.lg\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.lg\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.lg\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.lg\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.lg\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.lg\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.lg\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.lg\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.lg\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.lg\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.lg\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.lg\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.lg\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.lg\:focus\:translate-x-px:focus{--transform-translate-x:1px}.lg\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.lg\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.lg\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.lg\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.lg\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.lg\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.lg\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.lg\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.lg\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.lg\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.lg\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.lg\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.lg\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.lg\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.lg\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.lg\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.lg\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.lg\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.lg\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.lg\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.lg\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-full:focus{--transform-translate-x:100%}.lg\:focus\:translate-y-0:focus{--transform-translate-y:0}.lg\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.lg\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.lg\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.lg\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.lg\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.lg\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.lg\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.lg\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.lg\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.lg\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.lg\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.lg\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.lg\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.lg\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.lg\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.lg\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.lg\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.lg\:focus\:translate-y-px:focus{--transform-translate-y:1px}.lg\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.lg\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.lg\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.lg\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.lg\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.lg\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.lg\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.lg\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.lg\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.lg\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.lg\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.lg\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.lg\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.lg\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.lg\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.lg\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.lg\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.lg\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.lg\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.lg\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.lg\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-full:focus{--transform-translate-y:100%}.lg\:skew-x-0{--transform-skew-x:0}.lg\:skew-x-1{--transform-skew-x:1deg}.lg\:skew-x-2{--transform-skew-x:2deg}.lg\:skew-x-3{--transform-skew-x:3deg}.lg\:skew-x-6{--transform-skew-x:6deg}.lg\:skew-x-12{--transform-skew-x:12deg}.lg\:-skew-x-12{--transform-skew-x:-12deg}.lg\:-skew-x-6{--transform-skew-x:-6deg}.lg\:-skew-x-3{--transform-skew-x:-3deg}.lg\:-skew-x-2{--transform-skew-x:-2deg}.lg\:-skew-x-1{--transform-skew-x:-1deg}.lg\:skew-y-0{--transform-skew-y:0}.lg\:skew-y-1{--transform-skew-y:1deg}.lg\:skew-y-2{--transform-skew-y:2deg}.lg\:skew-y-3{--transform-skew-y:3deg}.lg\:skew-y-6{--transform-skew-y:6deg}.lg\:skew-y-12{--transform-skew-y:12deg}.lg\:-skew-y-12{--transform-skew-y:-12deg}.lg\:-skew-y-6{--transform-skew-y:-6deg}.lg\:-skew-y-3{--transform-skew-y:-3deg}.lg\:-skew-y-2{--transform-skew-y:-2deg}.lg\:-skew-y-1{--transform-skew-y:-1deg}.lg\:hover\:skew-x-0:hover{--transform-skew-x:0}.lg\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.lg\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.lg\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.lg\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.lg\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.lg\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.lg\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.lg\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.lg\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.lg\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.lg\:hover\:skew-y-0:hover{--transform-skew-y:0}.lg\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.lg\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.lg\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.lg\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.lg\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.lg\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.lg\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.lg\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.lg\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.lg\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.lg\:focus\:skew-x-0:focus{--transform-skew-x:0}.lg\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.lg\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.lg\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.lg\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.lg\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.lg\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.lg\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.lg\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.lg\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.lg\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.lg\:focus\:skew-y-0:focus{--transform-skew-y:0}.lg\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.lg\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.lg\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.lg\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.lg\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.lg\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.lg\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.lg\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.lg\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.lg\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.lg\:transition-none{transition-property:none}.lg\:transition-all{transition-property:all}.lg\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.lg\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.lg\:transition-opacity{transition-property:opacity}.lg\:transition-shadow{transition-property:box-shadow}.lg\:transition-transform{transition-property:transform}.lg\:ease-linear{transition-timing-function:linear}.lg\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lg\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.lg\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:duration-75{transition-duration:75ms}.lg\:duration-100{transition-duration:.1s}.lg\:duration-150{transition-duration:.15s}.lg\:duration-200{transition-duration:.2s}.lg\:duration-300{transition-duration:.3s}.lg\:duration-500{transition-duration:.5s}.lg\:duration-700{transition-duration:.7s}.lg\:duration-1000{transition-duration:1s}.lg\:delay-75{transition-delay:75ms}.lg\:delay-100{transition-delay:.1s}.lg\:delay-150{transition-delay:.15s}.lg\:delay-200{transition-delay:.2s}.lg\:delay-300{transition-delay:.3s}.lg\:delay-500{transition-delay:.5s}.lg\:delay-700{transition-delay:.7s}.lg\:delay-1000{transition-delay:1s}.lg\:animate-none{animation:none}.lg\:animate-spin{animation:spin 1s linear infinite}.lg\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.lg\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.lg\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1280px){.xl\:container{width:100%}@media (min-width:360px){.xl\:container{max-width:360px}}@media (min-width:640px){.xl\:container{max-width:640px}}@media (min-width:768px){.xl\:container{max-width:768px}}@media (min-width:1024px){.xl\:container{max-width:1024px}}@media (min-width:1280px){.xl\:container{max-width:1280px}}@media (min-width:1480px){.xl\:container{max-width:1480px}}.xl\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xl\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xl\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xl\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xl\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xl\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xl\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xl\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xl\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xl\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xl\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xl\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xl\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xl\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xl\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xl\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xl\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xl\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xl\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xl\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xl\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xl\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xl\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xl\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xl\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xl\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xl\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xl\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xl\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xl\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xl\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xl\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xl\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xl\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xl\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xl\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xl\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xl\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xl\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xl\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xl\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xl\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xl\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xl\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xl\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xl\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xl\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xl\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xl\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xl\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xl\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xl\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xl\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xl\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xl\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xl\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xl\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xl\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xl\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xl\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xl\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xl\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xl\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xl\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xl\:divide-current>:not(template)~:not(template){border-color:currentColor}.xl\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xl\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xl\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xl\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xl\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xl\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xl\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xl\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xl\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xl\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xl\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xl\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xl\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xl\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xl\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xl\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xl\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xl\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xl\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xl\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xl\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xl\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xl\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xl\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xl\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xl\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xl\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xl\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xl\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xl\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xl\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xl\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xl\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xl\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xl\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xl\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xl\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xl\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xl\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xl\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xl\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xl\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xl\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xl\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xl\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xl\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xl\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xl\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xl\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xl\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xl\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xl\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xl\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xl\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xl\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xl\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xl\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xl\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xl\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xl\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xl\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xl\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xl\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xl\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xl\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xl\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xl\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xl\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xl\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xl\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xl\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xl\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xl\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xl\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xl\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xl\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xl\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xl\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xl\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xl\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xl\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xl\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xl\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xl\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xl\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xl\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xl\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xl\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xl\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xl\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xl\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xl\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xl\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xl\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xl\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xl\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xl\:divide-solid>:not(template)~:not(template){border-style:solid}.xl\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xl\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xl\:divide-double>:not(template)~:not(template){border-style:double}.xl\:divide-none>:not(template)~:not(template){border-style:none}.xl\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xl\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xl\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xl\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xl\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:appearance-none{-webkit-appearance:none;appearance:none}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-clip-border{background-clip:border-box}.xl\:bg-clip-padding{background-clip:padding-box}.xl\:bg-clip-content{background-clip:content-box}.xl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xl\:bg-transparent{background-color:transparent}.xl\:bg-current{background-color:currentColor}.xl\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-current:hover{background-color:currentColor}.xl\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:focus\:bg-transparent:focus{background-color:transparent}.xl\:focus\:bg-current:focus{background-color:currentColor}.xl\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:bg-none{background-image:none}.xl\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xl\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xl\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xl\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xl\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:to-transparent{--gradient-to-color:transparent}.xl\:to-current{--gradient-to-color:currentColor}.xl\:to-black{--gradient-to-color:#000}.xl\:to-white{--gradient-to-color:#fff}.xl\:to-gray-100{--gradient-to-color:#f7fafc}.xl\:to-gray-200{--gradient-to-color:#edf2f7}.xl\:to-gray-300{--gradient-to-color:#e2e8f0}.xl\:to-gray-400{--gradient-to-color:#cbd5e0}.xl\:to-gray-500{--gradient-to-color:#a0aec0}.xl\:to-gray-600{--gradient-to-color:#718096}.xl\:to-gray-700{--gradient-to-color:#4a5568}.xl\:to-gray-800{--gradient-to-color:#2d3748}.xl\:to-gray-900{--gradient-to-color:#1a202c}.xl\:to-red-100{--gradient-to-color:#fff5f5}.xl\:to-red-200{--gradient-to-color:#fed7d7}.xl\:to-red-300{--gradient-to-color:#feb2b2}.xl\:to-red-400{--gradient-to-color:#fc8181}.xl\:to-red-500{--gradient-to-color:#f56565}.xl\:to-red-600{--gradient-to-color:#e53e3e}.xl\:to-red-700{--gradient-to-color:#c53030}.xl\:to-red-800{--gradient-to-color:#9b2c2c}.xl\:to-red-900{--gradient-to-color:#742a2a}.xl\:to-orange-100{--gradient-to-color:#fffaf0}.xl\:to-orange-200{--gradient-to-color:#feebc8}.xl\:to-orange-300{--gradient-to-color:#fbd38d}.xl\:to-orange-400{--gradient-to-color:#f6ad55}.xl\:to-orange-500{--gradient-to-color:#ed8936}.xl\:to-orange-600{--gradient-to-color:#dd6b20}.xl\:to-orange-700{--gradient-to-color:#c05621}.xl\:to-orange-800{--gradient-to-color:#9c4221}.xl\:to-orange-900{--gradient-to-color:#7b341e}.xl\:to-yellow-100{--gradient-to-color:ivory}.xl\:to-yellow-200{--gradient-to-color:#fefcbf}.xl\:to-yellow-300{--gradient-to-color:#faf089}.xl\:to-yellow-400{--gradient-to-color:#f6e05e}.xl\:to-yellow-500{--gradient-to-color:#ecc94b}.xl\:to-yellow-600{--gradient-to-color:#d69e2e}.xl\:to-yellow-700{--gradient-to-color:#b7791f}.xl\:to-yellow-800{--gradient-to-color:#975a16}.xl\:to-yellow-900{--gradient-to-color:#744210}.xl\:to-green-100{--gradient-to-color:#f0fff4}.xl\:to-green-200{--gradient-to-color:#c6f6d5}.xl\:to-green-300{--gradient-to-color:#9ae6b4}.xl\:to-green-400{--gradient-to-color:#68d391}.xl\:to-green-500{--gradient-to-color:#48bb78}.xl\:to-green-600{--gradient-to-color:#38a169}.xl\:to-green-700{--gradient-to-color:#2f855a}.xl\:to-green-800{--gradient-to-color:#276749}.xl\:to-green-900{--gradient-to-color:#22543d}.xl\:to-teal-100{--gradient-to-color:#e6fffa}.xl\:to-teal-200{--gradient-to-color:#b2f5ea}.xl\:to-teal-300{--gradient-to-color:#81e6d9}.xl\:to-teal-400{--gradient-to-color:#4fd1c5}.xl\:to-teal-500{--gradient-to-color:#38b2ac}.xl\:to-teal-600{--gradient-to-color:#319795}.xl\:to-teal-700{--gradient-to-color:#2c7a7b}.xl\:to-teal-800{--gradient-to-color:#285e61}.xl\:to-teal-900{--gradient-to-color:#234e52}.xl\:to-blue-100{--gradient-to-color:#ebf8ff}.xl\:to-blue-200{--gradient-to-color:#bee3f8}.xl\:to-blue-300{--gradient-to-color:#90cdf4}.xl\:to-blue-400{--gradient-to-color:#63b3ed}.xl\:to-blue-500{--gradient-to-color:#4299e1}.xl\:to-blue-600{--gradient-to-color:#3182ce}.xl\:to-blue-700{--gradient-to-color:#2b6cb0}.xl\:to-blue-800{--gradient-to-color:#2c5282}.xl\:to-blue-900{--gradient-to-color:#2a4365}.xl\:to-indigo-100{--gradient-to-color:#ebf4ff}.xl\:to-indigo-200{--gradient-to-color:#c3dafe}.xl\:to-indigo-300{--gradient-to-color:#a3bffa}.xl\:to-indigo-400{--gradient-to-color:#7f9cf5}.xl\:to-indigo-500{--gradient-to-color:#667eea}.xl\:to-indigo-600{--gradient-to-color:#5a67d8}.xl\:to-indigo-700{--gradient-to-color:#4c51bf}.xl\:to-indigo-800{--gradient-to-color:#434190}.xl\:to-indigo-900{--gradient-to-color:#3c366b}.xl\:to-purple-100{--gradient-to-color:#faf5ff}.xl\:to-purple-200{--gradient-to-color:#e9d8fd}.xl\:to-purple-300{--gradient-to-color:#d6bcfa}.xl\:to-purple-400{--gradient-to-color:#b794f4}.xl\:to-purple-500{--gradient-to-color:#9f7aea}.xl\:to-purple-600{--gradient-to-color:#805ad5}.xl\:to-purple-700{--gradient-to-color:#6b46c1}.xl\:to-purple-800{--gradient-to-color:#553c9a}.xl\:to-purple-900{--gradient-to-color:#44337a}.xl\:to-pink-100{--gradient-to-color:#fff5f7}.xl\:to-pink-200{--gradient-to-color:#fed7e2}.xl\:to-pink-300{--gradient-to-color:#fbb6ce}.xl\:to-pink-400{--gradient-to-color:#f687b3}.xl\:to-pink-500{--gradient-to-color:#ed64a6}.xl\:to-pink-600{--gradient-to-color:#d53f8c}.xl\:to-pink-700{--gradient-to-color:#b83280}.xl\:to-pink-800{--gradient-to-color:#97266d}.xl\:to-pink-900{--gradient-to-color:#702459}.xl\:to-primary{--gradient-to-color:#00d1ff}.xl\:to-secondary{--gradient-to-color:#e077ff}.xl\:to-greenish-blue{--gradient-to-color:#adffed}.xl\:to-blue-gray{--gradient-to-color:#cfe1e6}.xl\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xl\:hover\:to-current:hover{--gradient-to-color:currentColor}.xl\:hover\:to-black:hover{--gradient-to-color:#000}.xl\:hover\:to-white:hover{--gradient-to-color:#fff}.xl\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xl\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xl\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xl\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xl\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xl\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xl\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xl\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xl\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xl\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xl\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xl\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xl\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xl\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xl\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xl\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xl\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xl\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xl\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xl\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xl\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xl\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xl\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xl\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xl\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xl\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xl\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xl\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xl\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xl\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xl\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xl\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xl\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xl\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xl\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xl\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xl\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xl\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xl\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xl\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xl\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xl\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xl\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xl\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xl\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xl\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xl\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xl\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xl\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xl\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xl\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xl\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xl\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xl\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xl\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xl\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xl\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xl\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xl\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xl\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xl\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xl\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xl\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xl\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xl\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xl\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xl\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xl\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xl\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xl\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xl\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xl\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xl\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xl\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xl\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xl\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xl\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xl\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xl\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xl\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xl\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xl\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xl\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xl\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xl\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xl\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xl\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xl\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xl\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xl\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xl\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xl\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xl\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xl\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xl\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xl\:focus\:to-current:focus{--gradient-to-color:currentColor}.xl\:focus\:to-black:focus{--gradient-to-color:#000}.xl\:focus\:to-white:focus{--gradient-to-color:#fff}.xl\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xl\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xl\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xl\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xl\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xl\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xl\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xl\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xl\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xl\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xl\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xl\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xl\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xl\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xl\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xl\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xl\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xl\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xl\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xl\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xl\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xl\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xl\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xl\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xl\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xl\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xl\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xl\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xl\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xl\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xl\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xl\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xl\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xl\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xl\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xl\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xl\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xl\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xl\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xl\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xl\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xl\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xl\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xl\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xl\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xl\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xl\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xl\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xl\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xl\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xl\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xl\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xl\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xl\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xl\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xl\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xl\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xl\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xl\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xl\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xl\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xl\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xl\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xl\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xl\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xl\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xl\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xl\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xl\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xl\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xl\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xl\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xl\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xl\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xl\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xl\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xl\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xl\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xl\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xl\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xl\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xl\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xl\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xl\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xl\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xl\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xl\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xl\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xl\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xl\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xl\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xl\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xl\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xl\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xl\:bg-opacity-0{--bg-opacity:0}.xl\:bg-opacity-25{--bg-opacity:0.25}.xl\:bg-opacity-50{--bg-opacity:0.5}.xl\:bg-opacity-75{--bg-opacity:0.75}.xl\:bg-opacity-100{--bg-opacity:1}.xl\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xl\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xl\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xl\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xl\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xl\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xl\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xl\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xl\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xl\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:50%}.xl\:bg-left{background-position:0}.xl\:bg-left-bottom{background-position:0 100%}.xl\:bg-left-top{background-position:0 0}.xl\:bg-right{background-position:100%}.xl\:bg-right-bottom{background-position:100% 100%}.xl\:bg-right-top{background-position:100% 0}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-repeat-round{background-repeat:round}.xl\:bg-repeat-space{background-repeat:space}.xl\:bg-auto{background-size:auto}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:border-collapse{border-collapse:collapse}.xl\:border-separate{border-collapse:separate}.xl\:border-transparent{border-color:transparent}.xl\:border-current{border-color:currentColor}.xl\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-current:hover{border-color:currentColor}.xl\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:focus\:border-transparent:focus{border-color:transparent}.xl\:focus\:border-current:focus{border-color:currentColor}.xl\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:border-opacity-0{--border-opacity:0}.xl\:border-opacity-25{--border-opacity:0.25}.xl\:border-opacity-50{--border-opacity:0.5}.xl\:border-opacity-75{--border-opacity:0.75}.xl\:border-opacity-100{--border-opacity:1}.xl\:hover\:border-opacity-0:hover{--border-opacity:0}.xl\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xl\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xl\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xl\:hover\:border-opacity-100:hover{--border-opacity:1}.xl\:focus\:border-opacity-0:focus{--border-opacity:0}.xl\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xl\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xl\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xl\:focus\:border-opacity-100:focus{--border-opacity:1}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-md{border-radius:.375rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-xl{border-radius:.75rem}.xl\:rounded-2xl{border-radius:1rem}.xl\:rounded-3xl{border-radius:1.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem}.xl\:rounded-r,.xl\:rounded-t{border-top-right-radius:.25rem}.xl\:rounded-b,.xl\:rounded-r{border-bottom-right-radius:.25rem}.xl\:rounded-b,.xl\:rounded-l{border-bottom-left-radius:.25rem}.xl\:rounded-l{border-top-left-radius:.25rem}.xl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-tl-md{border-top-left-radius:.375rem}.xl\:rounded-tr-md{border-top-right-radius:.375rem}.xl\:rounded-br-md{border-bottom-right-radius:.375rem}.xl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-tl-xl{border-top-left-radius:.75rem}.xl\:rounded-tr-xl{border-top-right-radius:.75rem}.xl\:rounded-br-xl{border-bottom-right-radius:.75rem}.xl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xl\:rounded-tl-2xl{border-top-left-radius:1rem}.xl\:rounded-tr-2xl{border-top-right-radius:1rem}.xl\:rounded-br-2xl{border-bottom-right-radius:1rem}.xl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-double{border-style:double}.xl\:border-none{border-style:none}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-r-0{border-right-width:0}.xl\:border-b-0{border-bottom-width:0}.xl\:border-l-0{border-left-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-r-2{border-right-width:2px}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-l-2{border-left-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-r-4{border-right-width:4px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-l-4{border-left-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-r-8{border-right-width:8px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-l-8{border-left-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r{border-right-width:1px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l{border-left-width:1px}.xl\:box-border{box-sizing:border-box}.xl\:box-content{box-sizing:content-box}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-wait{cursor:wait}.xl\:cursor-text{cursor:text}.xl\:cursor-move{cursor:move}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:table{display:table}.xl\:table-caption{display:table-caption}.xl\:table-cell{display:table-cell}.xl\:table-column{display:table-column}.xl\:table-column-group{display:table-column-group}.xl\:table-footer-group{display:table-footer-group}.xl\:table-header-group{display:table-header-group}.xl\:table-row-group{display:table-row-group}.xl\:table-row{display:table-row}.xl\:flow-root{display:flow-root}.xl\:grid{display:grid}.xl\:inline-grid{display:inline-grid}.xl\:contents{display:contents}.xl\:hidden{display:none}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-no-wrap{flex-wrap:nowrap}.xl\:place-items-auto{place-items:auto}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch}.xl\:place-content-center{place-content:center}.xl\:place-content-start{place-content:start}.xl\:place-content-end{place-content:end}.xl\:place-content-between{place-content:space-between}.xl\:place-content-around{place-content:space-around}.xl\:place-content-evenly{place-content:space-evenly}.xl\:place-content-stretch{place-content:stretch}.xl\:place-self-auto{place-self:auto}.xl\:place-self-start{place-self:start}.xl\:place-self-end{place-self:end}.xl\:place-self-center{place-self:center}.xl\:place-self-stretch{place-self:stretch}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:content-evenly{align-content:space-evenly}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:justify-items-auto{justify-items:auto}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:justify-self-auto{justify-self:auto}.xl\:justify-self-start{justify-self:start}.xl\:justify-self-end{justify-self:end}.xl\:justify-self-center{justify-self:center}.xl\:justify-self-stretch{justify-self:stretch}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-initial{flex:0 1 auto}.xl\:flex-none{flex:none}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink{flex-shrink:1}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-6{order:6}.xl\:order-7{order:7}.xl\:order-8{order:8}.xl\:order-9{order:9}.xl\:order-10{order:10}.xl\:order-11{order:11}.xl\:order-12{order:12}.xl\:order-first{order:-9999}.xl\:order-last{order:9999}.xl\:order-none{order:0}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clearfix:after{content:"";display:table;clear:both}.xl\:clear-left{clear:left}.xl\:clear-right{clear:right}.xl\:clear-both{clear:both}.xl\:clear-none{clear:none}.xl\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xl\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xl\:font-hairline{font-weight:100}.xl\:font-thin{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:hover\:font-hairline:hover{font-weight:100}.xl\:hover\:font-thin:hover{font-weight:200}.xl\:hover\:font-light:hover{font-weight:300}.xl\:hover\:font-normal:hover{font-weight:400}.xl\:hover\:font-medium:hover{font-weight:500}.xl\:hover\:font-semibold:hover{font-weight:600}.xl\:hover\:font-bold:hover{font-weight:700}.xl\:hover\:font-extrabold:hover{font-weight:800}.xl\:hover\:font-black:hover{font-weight:900}.xl\:focus\:font-hairline:focus{font-weight:100}.xl\:focus\:font-thin:focus{font-weight:200}.xl\:focus\:font-light:focus{font-weight:300}.xl\:focus\:font-normal:focus{font-weight:400}.xl\:focus\:font-medium:focus{font-weight:500}.xl\:focus\:font-semibold:focus{font-weight:600}.xl\:focus\:font-bold:focus{font-weight:700}.xl\:focus\:font-extrabold:focus{font-weight:800}.xl\:focus\:font-black:focus{font-weight:900}.xl\:h-0{height:0}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-5{height:1.25rem}.xl\:h-6{height:1.5rem}.xl\:h-8{height:2rem}.xl\:h-10{height:2.5rem}.xl\:h-12{height:3rem}.xl\:h-16{height:4rem}.xl\:h-20{height:5rem}.xl\:h-24{height:6rem}.xl\:h-32{height:8rem}.xl\:h-40{height:10rem}.xl\:h-48{height:12rem}.xl\:h-56{height:14rem}.xl\:h-64{height:16rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:text-xs{font-size:.75rem}.xl\:text-sm{font-size:.875rem}.xl\:text-base{font-size:1rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.25rem}.xl\:text-2xl{font-size:1.5rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-5xl{font-size:3rem}.xl\:text-6xl{font-size:4rem}.xl\:leading-3{line-height:.75rem}.xl\:leading-4{line-height:1rem}.xl\:leading-5{line-height:1.25rem}.xl\:leading-6{line-height:1.5rem}.xl\:leading-7{line-height:1.75rem}.xl\:leading-8{line-height:2rem}.xl\:leading-9{line-height:2.25rem}.xl\:leading-10{line-height:2.5rem}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-snug{line-height:1.375}.xl\:leading-normal{line-height:1.5}.xl\:leading-relaxed{line-height:1.625}.xl\:leading-loose{line-height:2}.xl\:list-inside{list-style-position:inside}.xl\:list-outside{list-style-position:outside}.xl\:list-none{list-style-type:none}.xl\:list-disc{list-style-type:disc}.xl\:list-decimal{list-style-type:decimal}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-8{margin:2rem}.xl\:m-10{margin:2.5rem}.xl\:m-12{margin:3rem}.xl\:m-16{margin:4rem}.xl\:m-20{margin:5rem}.xl\:m-24{margin:6rem}.xl\:m-32{margin:8rem}.xl\:m-40{margin:10rem}.xl\:m-48{margin:12rem}.xl\:m-56{margin:14rem}.xl\:m-64{margin:16rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-5{margin:-1.25rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-8{margin:-2rem}.xl\:-m-10{margin:-2.5rem}.xl\:-m-12{margin:-3rem}.xl\:-m-16{margin:-4rem}.xl\:-m-20{margin:-5rem}.xl\:-m-24{margin:-6rem}.xl\:-m-32{margin:-8rem}.xl\:-m-40{margin:-10rem}.xl\:-m-48{margin:-12rem}.xl\:-m-56{margin:-14rem}.xl\:-m-64{margin:-16rem}.xl\:-m-px{margin:-1px}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\:mx-12{margin-left:3rem;margin-right:3rem}.xl\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\:mx-16{margin-left:4rem;margin-right:4rem}.xl\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\:mx-24{margin-left:6rem;margin-right:6rem}.xl\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\:mx-32{margin-left:8rem;margin-right:8rem}.xl\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\:mx-40{margin-left:10rem;margin-right:10rem}.xl\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\:mx-48{margin-left:12rem;margin-right:12rem}.xl\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\:mx-56{margin-left:14rem;margin-right:14rem}.xl\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\:mx-64{margin-left:16rem;margin-right:16rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:mt-0{margin-top:0}.xl\:mr-0{margin-right:0}.xl\:mb-0{margin-bottom:0}.xl\:ml-0{margin-left:0}.xl\:mt-1{margin-top:.25rem}.xl\:mr-1{margin-right:.25rem}.xl\:mb-1{margin-bottom:.25rem}.xl\:ml-1{margin-left:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mr-2{margin-right:.5rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-2{margin-left:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mr-3{margin-right:.75rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:ml-3{margin-left:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mr-4{margin-right:1rem}.xl\:mb-4{margin-bottom:1rem}.xl\:ml-4{margin-left:1rem}.xl\:mt-5{margin-top:1.25rem}.xl\:mr-5{margin-right:1.25rem}.xl\:mb-5{margin-bottom:1.25rem}.xl\:ml-5{margin-left:1.25rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-6{margin-left:1.5rem}.xl\:mt-8{margin-top:2rem}.xl\:mr-8{margin-right:2rem}.xl\:mb-8{margin-bottom:2rem}.xl\:ml-8{margin-left:2rem}.xl\:mt-10{margin-top:2.5rem}.xl\:mr-10{margin-right:2.5rem}.xl\:mb-10{margin-bottom:2.5rem}.xl\:ml-10{margin-left:2.5rem}.xl\:mt-12{margin-top:3rem}.xl\:mr-12{margin-right:3rem}.xl\:mb-12{margin-bottom:3rem}.xl\:ml-12{margin-left:3rem}.xl\:mt-16{margin-top:4rem}.xl\:mr-16{margin-right:4rem}.xl\:mb-16{margin-bottom:4rem}.xl\:ml-16{margin-left:4rem}.xl\:mt-20{margin-top:5rem}.xl\:mr-20{margin-right:5rem}.xl\:mb-20{margin-bottom:5rem}.xl\:ml-20{margin-left:5rem}.xl\:mt-24{margin-top:6rem}.xl\:mr-24{margin-right:6rem}.xl\:mb-24{margin-bottom:6rem}.xl\:ml-24{margin-left:6rem}.xl\:mt-32{margin-top:8rem}.xl\:mr-32{margin-right:8rem}.xl\:mb-32{margin-bottom:8rem}.xl\:ml-32{margin-left:8rem}.xl\:mt-40{margin-top:10rem}.xl\:mr-40{margin-right:10rem}.xl\:mb-40{margin-bottom:10rem}.xl\:ml-40{margin-left:10rem}.xl\:mt-48{margin-top:12rem}.xl\:mr-48{margin-right:12rem}.xl\:mb-48{margin-bottom:12rem}.xl\:ml-48{margin-left:12rem}.xl\:mt-56{margin-top:14rem}.xl\:mr-56{margin-right:14rem}.xl\:mb-56{margin-bottom:14rem}.xl\:ml-56{margin-left:14rem}.xl\:mt-64{margin-top:16rem}.xl\:mr-64{margin-right:16rem}.xl\:mb-64{margin-bottom:16rem}.xl\:ml-64{margin-left:16rem}.xl\:mt-auto{margin-top:auto}.xl\:mr-auto{margin-right:auto}.xl\:mb-auto{margin-bottom:auto}.xl\:ml-auto{margin-left:auto}.xl\:mt-px{margin-top:1px}.xl\:mr-px{margin-right:1px}.xl\:mb-px{margin-bottom:1px}.xl\:ml-px{margin-left:1px}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-ml-1{margin-left:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mt-5{margin-top:-1.25rem}.xl\:-mr-5{margin-right:-1.25rem}.xl\:-mb-5{margin-bottom:-1.25rem}.xl\:-ml-5{margin-left:-1.25rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-mt-10{margin-top:-2.5rem}.xl\:-mr-10{margin-right:-2.5rem}.xl\:-mb-10{margin-bottom:-2.5rem}.xl\:-ml-10{margin-left:-2.5rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mr-12{margin-right:-3rem}.xl\:-mb-12{margin-bottom:-3rem}.xl\:-ml-12{margin-left:-3rem}.xl\:-mt-16{margin-top:-4rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mb-16{margin-bottom:-4rem}.xl\:-ml-16{margin-left:-4rem}.xl\:-mt-20{margin-top:-5rem}.xl\:-mr-20{margin-right:-5rem}.xl\:-mb-20{margin-bottom:-5rem}.xl\:-ml-20{margin-left:-5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mr-24{margin-right:-6rem}.xl\:-mb-24{margin-bottom:-6rem}.xl\:-ml-24{margin-left:-6rem}.xl\:-mt-32{margin-top:-8rem}.xl\:-mr-32{margin-right:-8rem}.xl\:-mb-32{margin-bottom:-8rem}.xl\:-ml-32{margin-left:-8rem}.xl\:-mt-40{margin-top:-10rem}.xl\:-mr-40{margin-right:-10rem}.xl\:-mb-40{margin-bottom:-10rem}.xl\:-ml-40{margin-left:-10rem}.xl\:-mt-48{margin-top:-12rem}.xl\:-mr-48{margin-right:-12rem}.xl\:-mb-48{margin-bottom:-12rem}.xl\:-ml-48{margin-left:-12rem}.xl\:-mt-56{margin-top:-14rem}.xl\:-mr-56{margin-right:-14rem}.xl\:-mb-56{margin-bottom:-14rem}.xl\:-ml-56{margin-left:-14rem}.xl\:-mt-64{margin-top:-16rem}.xl\:-mr-64{margin-right:-16rem}.xl\:-mb-64{margin-bottom:-16rem}.xl\:-ml-64{margin-left:-16rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mr-px{margin-right:-1px}.xl\:-mb-px{margin-bottom:-1px}.xl\:-ml-px{margin-left:-1px}.xl\:max-h-full{max-height:100%}.xl\:max-h-screen{max-height:100vh}.xl\:max-w-none{max-width:none}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:24rem}.xl\:max-w-md{max-width:28rem}.xl\:max-w-lg{max-width:32rem}.xl\:max-w-xl{max-width:36rem}.xl\:max-w-2xl{max-width:42rem}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-4xl{max-width:56rem}.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-6xl{max-width:72rem}.xl\:max-w-full{max-width:100%}.xl\:max-w-screen-xs{max-width:360px}.xl\:max-w-screen-sm{max-width:640px}.xl\:max-w-screen-md{max-width:768px}.xl\:max-w-screen-lg{max-width:1024px}.xl\:max-w-screen-xl{max-width:1280px}.xl\:max-w-screen-xxl{max-width:1480px}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:object-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-none{-o-object-fit:none;object-fit:none}.xl\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-bottom{-o-object-position:bottom;object-position:bottom}.xl\:object-center{-o-object-position:center;object-position:center}.xl\:object-left{-o-object-position:left;object-position:left}.xl\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xl\:object-left-top{-o-object-position:left top;object-position:left top}.xl\:object-right{-o-object-position:right;object-position:right}.xl\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xl\:object-right-top{-o-object-position:right top;object-position:right top}.xl\:object-top{-o-object-position:top;object-position:top}.xl\:opacity-0{opacity:0}.xl\:opacity-25{opacity:.25}.xl\:opacity-50{opacity:.5}.xl\:opacity-75{opacity:.75}.xl\:opacity-100{opacity:1}.xl\:hover\:opacity-0:hover{opacity:0}.xl\:hover\:opacity-25:hover{opacity:.25}.xl\:hover\:opacity-50:hover{opacity:.5}.xl\:hover\:opacity-75:hover{opacity:.75}.xl\:hover\:opacity-100:hover{opacity:1}.xl\:focus\:opacity-0:focus{opacity:0}.xl\:focus\:opacity-25:focus{opacity:.25}.xl\:focus\:opacity-50:focus{opacity:.5}.xl\:focus\:opacity-75:focus{opacity:.75}.xl\:focus\:opacity-100:focus{opacity:1}.xl\:outline-none{outline:2px solid transparent;outline-offset:2px}.xl\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xl\:outline-black{outline:2px dotted #000;outline-offset:2px}.xl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xl\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xl\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-auto{overflow-x:auto}.xl\:overflow-y-auto{overflow-y:auto}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:overflow-y-hidden{overflow-y:hidden}.xl\:overflow-x-visible{overflow-x:visible}.xl\:overflow-y-visible{overflow-y:visible}.xl\:overflow-x-scroll{overflow-x:scroll}.xl\:overflow-y-scroll{overflow-y:scroll}.xl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xl\:overscroll-auto{overscroll-behavior:auto}.xl\:overscroll-contain{overscroll-behavior:contain}.xl\:overscroll-none{overscroll-behavior:none}.xl\:overscroll-y-auto{overscroll-behavior-y:auto}.xl\:overscroll-y-contain{overscroll-behavior-y:contain}.xl\:overscroll-y-none{overscroll-behavior-y:none}.xl\:overscroll-x-auto{overscroll-behavior-x:auto}.xl\:overscroll-x-contain{overscroll-behavior-x:contain}.xl\:overscroll-x-none{overscroll-behavior-x:none}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-8{padding:2rem}.xl\:p-10{padding:2.5rem}.xl\:p-12{padding:3rem}.xl\:p-16{padding:4rem}.xl\:p-20{padding:5rem}.xl\:p-24{padding:6rem}.xl\:p-32{padding:8rem}.xl\:p-40{padding:10rem}.xl\:p-48{padding:12rem}.xl\:p-56{padding:14rem}.xl\:p-64{padding:16rem}.xl\:p-px{padding:1px}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:px-0{padding-left:0;padding-right:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:px-32{padding-left:8rem;padding-right:8rem}.xl\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\:px-40{padding-left:10rem;padding-right:10rem}.xl\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\:px-48{padding-left:12rem;padding-right:12rem}.xl\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\:px-56{padding-left:14rem;padding-right:14rem}.xl\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\:px-64{padding-left:16rem;padding-right:16rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:pt-0{padding-top:0}.xl\:pr-0{padding-right:0}.xl\:pb-0{padding-bottom:0}.xl\:pl-0{padding-left:0}.xl\:pt-1{padding-top:.25rem}.xl\:pr-1{padding-right:.25rem}.xl\:pb-1{padding-bottom:.25rem}.xl\:pl-1{padding-left:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pr-2{padding-right:.5rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pl-2{padding-left:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pr-3{padding-right:.75rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pl-3{padding-left:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pr-4{padding-right:1rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pl-4{padding-left:1rem}.xl\:pt-5{padding-top:1.25rem}.xl\:pr-5{padding-right:1.25rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:pl-5{padding-left:1.25rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:pr-8{padding-right:2rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pl-8{padding-left:2rem}.xl\:pt-10{padding-top:2.5rem}.xl\:pr-10{padding-right:2.5rem}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pl-10{padding-left:2.5rem}.xl\:pt-12{padding-top:3rem}.xl\:pr-12{padding-right:3rem}.xl\:pb-12{padding-bottom:3rem}.xl\:pl-12{padding-left:3rem}.xl\:pt-16{padding-top:4rem}.xl\:pr-16{padding-right:4rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pl-16{padding-left:4rem}.xl\:pt-20{padding-top:5rem}.xl\:pr-20{padding-right:5rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pl-20{padding-left:5rem}.xl\:pt-24{padding-top:6rem}.xl\:pr-24{padding-right:6rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pl-24{padding-left:6rem}.xl\:pt-32{padding-top:8rem}.xl\:pr-32{padding-right:8rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pl-32{padding-left:8rem}.xl\:pt-40{padding-top:10rem}.xl\:pr-40{padding-right:10rem}.xl\:pb-40{padding-bottom:10rem}.xl\:pl-40{padding-left:10rem}.xl\:pt-48{padding-top:12rem}.xl\:pr-48{padding-right:12rem}.xl\:pb-48{padding-bottom:12rem}.xl\:pl-48{padding-left:12rem}.xl\:pt-56{padding-top:14rem}.xl\:pr-56{padding-right:14rem}.xl\:pb-56{padding-bottom:14rem}.xl\:pl-56{padding-left:14rem}.xl\:pt-64{padding-top:16rem}.xl\:pr-64{padding-right:16rem}.xl\:pb-64{padding-bottom:16rem}.xl\:pl-64{padding-left:16rem}.xl\:pt-px{padding-top:1px}.xl\:pr-px{padding-right:1px}.xl\:pb-px{padding-bottom:1px}.xl\:pl-px{padding-left:1px}.xl\:placeholder-transparent::placeholder{color:transparent}.xl\:placeholder-current::placeholder{color:currentColor}.xl\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xl\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xl\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xl\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xl\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xl\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xl\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xl\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xl\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xl\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xl\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xl\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xl\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xl\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xl\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xl\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xl\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xl\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xl\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xl\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xl\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xl\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xl\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xl\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xl\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xl\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xl\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xl\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xl\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xl\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xl\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xl\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xl\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xl\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xl\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xl\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xl\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xl\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xl\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xl\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xl\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xl\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xl\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xl\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xl\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xl\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xl\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xl\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xl\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xl\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xl\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xl\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xl\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xl\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xl\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xl\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xl\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xl\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xl\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xl\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xl\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xl\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xl\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xl\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xl\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xl\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xl\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xl\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xl\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xl\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xl\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xl\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xl\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xl\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xl\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xl\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xl\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xl\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xl\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xl\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xl\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xl\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xl\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xl\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xl\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xl\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xl\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xl\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xl\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xl\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xl\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xl\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:sticky{position:sticky}.xl\:inset-0{top:0;right:0;bottom:0;left:0}.xl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\:inset-y-0{top:0;bottom:0}.xl\:inset-x-0{right:0;left:0}.xl\:inset-y-auto{top:auto;bottom:auto}.xl\:inset-x-auto{right:auto;left:auto}.xl\:top-0{top:0}.xl\:right-0{right:0}.xl\:bottom-0{bottom:0}.xl\:left-0{left:0}.xl\:top-auto{top:auto}.xl\:right-auto{right:auto}.xl\:bottom-auto{bottom:auto}.xl\:left-auto{left:auto}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:shadow-none{box-shadow:none}.xl\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:hover\:shadow-none:hover{box-shadow:none}.xl\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:focus\:shadow-none:focus{box-shadow:none}.xl\:fill-current{fill:currentColor}.xl\:stroke-current{stroke:currentColor}.xl\:stroke-0{stroke-width:0}.xl\:stroke-1{stroke-width:1}.xl\:stroke-2{stroke-width:2}.xl\:table-auto{table-layout:auto}.xl\:table-fixed{table-layout:fixed}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:text-transparent{color:transparent}.xl\:text-current{color:currentColor}.xl\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-current:hover{color:currentColor}.xl\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:focus\:text-transparent:focus{color:transparent}.xl\:focus\:text-current:focus{color:currentColor}.xl\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:text-opacity-0{--text-opacity:0}.xl\:text-opacity-25{--text-opacity:0.25}.xl\:text-opacity-50{--text-opacity:0.5}.xl\:text-opacity-75{--text-opacity:0.75}.xl\:text-opacity-100{--text-opacity:1}.xl\:hover\:text-opacity-0:hover{--text-opacity:0}.xl\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xl\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xl\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xl\:hover\:text-opacity-100:hover{--text-opacity:1}.xl\:focus\:text-opacity-0:focus{--text-opacity:0}.xl\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xl\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xl\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xl\:focus\:text-opacity-100:focus{--text-opacity:1}.xl\:italic{font-style:italic}.xl\:not-italic{font-style:normal}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:focus\:underline:focus{text-decoration:underline}.xl\:focus\:line-through:focus{text-decoration:line-through}.xl\:focus\:no-underline:focus{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:diagonal-fractions,.xl\:lining-nums,.xl\:oldstyle-nums,.xl\:ordinal,.xl\:proportional-nums,.xl\:slashed-zero,.xl\:stacked-fractions,.xl\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xl\:normal-nums{font-variant-numeric:normal}.xl\:ordinal{--font-variant-numeric-ordinal:ordinal}.xl\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xl\:lining-nums{--font-variant-numeric-figure:lining-nums}.xl\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xl\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xl\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xl\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xl\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xl\:tracking-tighter{letter-spacing:-.05em}.xl\:tracking-tight{letter-spacing:-.025em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.025em}.xl\:tracking-wider{letter-spacing:.05em}.xl\:tracking-widest{letter-spacing:.1em}.xl\:select-none{-webkit-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;user-select:text}.xl\:select-all{-webkit-user-select:all;user-select:all}.xl\:select-auto{-webkit-user-select:auto;user-select:auto}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-no-wrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xl\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xl\:break-all{word-break:break-all}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:w-0{width:0}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-5{width:1.25rem}.xl\:w-6{width:1.5rem}.xl\:w-8{width:2rem}.xl\:w-10{width:2.5rem}.xl\:w-12{width:3rem}.xl\:w-16{width:4rem}.xl\:w-20{width:5rem}.xl\:w-24{width:6rem}.xl\:w-32{width:8rem}.xl\:w-40{width:10rem}.xl\:w-48{width:12rem}.xl\:w-56{width:14rem}.xl\:w-64{width:16rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.333333%}.xl\:w-2\/3{width:66.666667%}.xl\:w-1\/4{width:25%}.xl\:w-2\/4{width:50%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.666667%}.xl\:w-2\/6{width:33.333333%}.xl\:w-3\/6{width:50%}.xl\:w-4\/6{width:66.666667%}.xl\:w-5\/6{width:83.333333%}.xl\:w-1\/12{width:8.333333%}.xl\:w-2\/12{width:16.666667%}.xl\:w-3\/12{width:25%}.xl\:w-4\/12{width:33.333333%}.xl\:w-5\/12{width:41.666667%}.xl\:w-6\/12{width:50%}.xl\:w-7\/12{width:58.333333%}.xl\:w-8\/12{width:66.666667%}.xl\:w-9\/12{width:75%}.xl\:w-10\/12{width:83.333333%}.xl\:w-11\/12{width:91.666667%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}.xl\:gap-0{grid-gap:0;gap:0}.xl\:gap-1{grid-gap:.25rem;gap:.25rem}.xl\:gap-2{grid-gap:.5rem;gap:.5rem}.xl\:gap-3{grid-gap:.75rem;gap:.75rem}.xl\:gap-4{grid-gap:1rem;gap:1rem}.xl\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xl\:gap-8{grid-gap:2rem;gap:2rem}.xl\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xl\:gap-12{grid-gap:3rem;gap:3rem}.xl\:gap-16{grid-gap:4rem;gap:4rem}.xl\:gap-20{grid-gap:5rem;gap:5rem}.xl\:gap-24{grid-gap:6rem;gap:6rem}.xl\:gap-32{grid-gap:8rem;gap:8rem}.xl\:gap-40{grid-gap:10rem;gap:10rem}.xl\:gap-48{grid-gap:12rem;gap:12rem}.xl\:gap-56{grid-gap:14rem;gap:14rem}.xl\:gap-64{grid-gap:16rem;gap:16rem}.xl\:gap-px{grid-gap:1px;gap:1px}.xl\:col-gap-0{grid-column-gap:0;column-gap:0}.xl\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xl\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xl\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xl\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xl\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xl\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xl\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xl\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xl\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xl\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xl\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xl\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xl\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xl\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xl\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xl\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xl\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xl\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xl\:gap-x-0{grid-column-gap:0;column-gap:0}.xl\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xl\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xl\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xl\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xl\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xl\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xl\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xl\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xl\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xl\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xl\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xl\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xl\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xl\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xl\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xl\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xl\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xl\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xl\:row-gap-0{grid-row-gap:0;row-gap:0}.xl\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xl\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xl\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xl\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xl\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xl\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xl\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xl\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xl\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xl\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xl\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xl\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xl\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xl\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xl\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xl\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xl\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xl\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xl\:gap-y-0{grid-row-gap:0;row-gap:0}.xl\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xl\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xl\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xl\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xl\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xl\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xl\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xl\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xl\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xl\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xl\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xl\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xl\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xl\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xl\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xl\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xl\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xl\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xl\:grid-flow-row{grid-auto-flow:row}.xl\:grid-flow-col{grid-auto-flow:column}.xl\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-none{grid-template-columns:none}.xl\:auto-cols-auto{grid-auto-columns:auto}.xl\:auto-cols-min{grid-auto-columns:min-content}.xl\:auto-cols-max{grid-auto-columns:max-content}.xl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xl\:col-auto{grid-column:auto}.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}.xl\:col-start-1{grid-column-start:1}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:col-start-13{grid-column-start:13}.xl\:col-start-auto{grid-column-start:auto}.xl\:col-end-1{grid-column-end:1}.xl\:col-end-2{grid-column-end:2}.xl\:col-end-3{grid-column-end:3}.xl\:col-end-4{grid-column-end:4}.xl\:col-end-5{grid-column-end:5}.xl\:col-end-6{grid-column-end:6}.xl\:col-end-7{grid-column-end:7}.xl\:col-end-8{grid-column-end:8}.xl\:col-end-9{grid-column-end:9}.xl\:col-end-10{grid-column-end:10}.xl\:col-end-11{grid-column-end:11}.xl\:col-end-12{grid-column-end:12}.xl\:col-end-13{grid-column-end:13}.xl\:col-end-auto{grid-column-end:auto}.xl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xl\:grid-rows-none{grid-template-rows:none}.xl\:auto-rows-auto{grid-auto-rows:auto}.xl\:auto-rows-min{grid-auto-rows:min-content}.xl\:auto-rows-max{grid-auto-rows:max-content}.xl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xl\:row-auto{grid-row:auto}.xl\:row-span-1{grid-row:span 1/span 1}.xl\:row-span-2{grid-row:span 2/span 2}.xl\:row-span-3{grid-row:span 3/span 3}.xl\:row-span-4{grid-row:span 4/span 4}.xl\:row-span-5{grid-row:span 5/span 5}.xl\:row-span-6{grid-row:span 6/span 6}.xl\:row-span-full{grid-row:1/-1}.xl\:row-start-1{grid-row-start:1}.xl\:row-start-2{grid-row-start:2}.xl\:row-start-3{grid-row-start:3}.xl\:row-start-4{grid-row-start:4}.xl\:row-start-5{grid-row-start:5}.xl\:row-start-6{grid-row-start:6}.xl\:row-start-7{grid-row-start:7}.xl\:row-start-auto{grid-row-start:auto}.xl\:row-end-1{grid-row-end:1}.xl\:row-end-2{grid-row-end:2}.xl\:row-end-3{grid-row-end:3}.xl\:row-end-4{grid-row-end:4}.xl\:row-end-5{grid-row-end:5}.xl\:row-end-6{grid-row-end:6}.xl\:row-end-7{grid-row-end:7}.xl\:row-end-auto{grid-row-end:auto}.xl\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xl\:transform-none{transform:none}.xl\:origin-center{transform-origin:center}.xl\:origin-top{transform-origin:top}.xl\:origin-top-right{transform-origin:top right}.xl\:origin-right{transform-origin:right}.xl\:origin-bottom-right{transform-origin:bottom right}.xl\:origin-bottom{transform-origin:bottom}.xl\:origin-bottom-left{transform-origin:bottom left}.xl\:origin-left{transform-origin:left}.xl\:origin-top-left{transform-origin:top left}.xl\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xl\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xl\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:scale-x-0{--transform-scale-x:0}.xl\:scale-x-50{--transform-scale-x:.5}.xl\:scale-x-75{--transform-scale-x:.75}.xl\:scale-x-90{--transform-scale-x:.9}.xl\:scale-x-95{--transform-scale-x:.95}.xl\:scale-x-100{--transform-scale-x:1}.xl\:scale-x-105{--transform-scale-x:1.05}.xl\:scale-x-110{--transform-scale-x:1.1}.xl\:scale-x-125{--transform-scale-x:1.25}.xl\:scale-x-150{--transform-scale-x:1.5}.xl\:scale-y-0{--transform-scale-y:0}.xl\:scale-y-50{--transform-scale-y:.5}.xl\:scale-y-75{--transform-scale-y:.75}.xl\:scale-y-90{--transform-scale-y:.9}.xl\:scale-y-95{--transform-scale-y:.95}.xl\:scale-y-100{--transform-scale-y:1}.xl\:scale-y-105{--transform-scale-y:1.05}.xl\:scale-y-110{--transform-scale-y:1.1}.xl\:scale-y-125{--transform-scale-y:1.25}.xl\:scale-y-150{--transform-scale-y:1.5}.xl\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xl\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xl\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:hover\:scale-x-0:hover{--transform-scale-x:0}.xl\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xl\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xl\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xl\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xl\:hover\:scale-x-100:hover{--transform-scale-x:1}.xl\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xl\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xl\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xl\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xl\:hover\:scale-y-0:hover{--transform-scale-y:0}.xl\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xl\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xl\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xl\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xl\:hover\:scale-y-100:hover{--transform-scale-y:1}.xl\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xl\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xl\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xl\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xl\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xl\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xl\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:focus\:scale-x-0:focus{--transform-scale-x:0}.xl\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xl\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xl\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xl\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xl\:focus\:scale-x-100:focus{--transform-scale-x:1}.xl\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xl\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xl\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xl\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xl\:focus\:scale-y-0:focus{--transform-scale-y:0}.xl\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xl\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xl\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xl\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xl\:focus\:scale-y-100:focus{--transform-scale-y:1}.xl\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xl\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xl\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xl\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xl\:rotate-0{--transform-rotate:0}.xl\:rotate-1{--transform-rotate:1deg}.xl\:rotate-2{--transform-rotate:2deg}.xl\:rotate-3{--transform-rotate:3deg}.xl\:rotate-6{--transform-rotate:6deg}.xl\:rotate-12{--transform-rotate:12deg}.xl\:rotate-45{--transform-rotate:45deg}.xl\:rotate-90{--transform-rotate:90deg}.xl\:rotate-180{--transform-rotate:180deg}.xl\:-rotate-180{--transform-rotate:-180deg}.xl\:-rotate-90{--transform-rotate:-90deg}.xl\:-rotate-45{--transform-rotate:-45deg}.xl\:-rotate-12{--transform-rotate:-12deg}.xl\:-rotate-6{--transform-rotate:-6deg}.xl\:-rotate-3{--transform-rotate:-3deg}.xl\:-rotate-2{--transform-rotate:-2deg}.xl\:-rotate-1{--transform-rotate:-1deg}.xl\:hover\:rotate-0:hover{--transform-rotate:0}.xl\:hover\:rotate-1:hover{--transform-rotate:1deg}.xl\:hover\:rotate-2:hover{--transform-rotate:2deg}.xl\:hover\:rotate-3:hover{--transform-rotate:3deg}.xl\:hover\:rotate-6:hover{--transform-rotate:6deg}.xl\:hover\:rotate-12:hover{--transform-rotate:12deg}.xl\:hover\:rotate-45:hover{--transform-rotate:45deg}.xl\:hover\:rotate-90:hover{--transform-rotate:90deg}.xl\:hover\:rotate-180:hover{--transform-rotate:180deg}.xl\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xl\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xl\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xl\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xl\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xl\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xl\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xl\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xl\:focus\:rotate-0:focus{--transform-rotate:0}.xl\:focus\:rotate-1:focus{--transform-rotate:1deg}.xl\:focus\:rotate-2:focus{--transform-rotate:2deg}.xl\:focus\:rotate-3:focus{--transform-rotate:3deg}.xl\:focus\:rotate-6:focus{--transform-rotate:6deg}.xl\:focus\:rotate-12:focus{--transform-rotate:12deg}.xl\:focus\:rotate-45:focus{--transform-rotate:45deg}.xl\:focus\:rotate-90:focus{--transform-rotate:90deg}.xl\:focus\:rotate-180:focus{--transform-rotate:180deg}.xl\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xl\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xl\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xl\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xl\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xl\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xl\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xl\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xl\:translate-x-0{--transform-translate-x:0}.xl\:translate-x-1{--transform-translate-x:0.25rem}.xl\:translate-x-2{--transform-translate-x:0.5rem}.xl\:translate-x-3{--transform-translate-x:0.75rem}.xl\:translate-x-4{--transform-translate-x:1rem}.xl\:translate-x-5{--transform-translate-x:1.25rem}.xl\:translate-x-6{--transform-translate-x:1.5rem}.xl\:translate-x-8{--transform-translate-x:2rem}.xl\:translate-x-10{--transform-translate-x:2.5rem}.xl\:translate-x-12{--transform-translate-x:3rem}.xl\:translate-x-16{--transform-translate-x:4rem}.xl\:translate-x-20{--transform-translate-x:5rem}.xl\:translate-x-24{--transform-translate-x:6rem}.xl\:translate-x-32{--transform-translate-x:8rem}.xl\:translate-x-40{--transform-translate-x:10rem}.xl\:translate-x-48{--transform-translate-x:12rem}.xl\:translate-x-56{--transform-translate-x:14rem}.xl\:translate-x-64{--transform-translate-x:16rem}.xl\:translate-x-px{--transform-translate-x:1px}.xl\:-translate-x-1{--transform-translate-x:-0.25rem}.xl\:-translate-x-2{--transform-translate-x:-0.5rem}.xl\:-translate-x-3{--transform-translate-x:-0.75rem}.xl\:-translate-x-4{--transform-translate-x:-1rem}.xl\:-translate-x-5{--transform-translate-x:-1.25rem}.xl\:-translate-x-6{--transform-translate-x:-1.5rem}.xl\:-translate-x-8{--transform-translate-x:-2rem}.xl\:-translate-x-10{--transform-translate-x:-2.5rem}.xl\:-translate-x-12{--transform-translate-x:-3rem}.xl\:-translate-x-16{--transform-translate-x:-4rem}.xl\:-translate-x-20{--transform-translate-x:-5rem}.xl\:-translate-x-24{--transform-translate-x:-6rem}.xl\:-translate-x-32{--transform-translate-x:-8rem}.xl\:-translate-x-40{--transform-translate-x:-10rem}.xl\:-translate-x-48{--transform-translate-x:-12rem}.xl\:-translate-x-56{--transform-translate-x:-14rem}.xl\:-translate-x-64{--transform-translate-x:-16rem}.xl\:-translate-x-px{--transform-translate-x:-1px}.xl\:-translate-x-full{--transform-translate-x:-100%}.xl\:-translate-x-1\/2{--transform-translate-x:-50%}.xl\:translate-x-1\/2{--transform-translate-x:50%}.xl\:translate-x-full{--transform-translate-x:100%}.xl\:translate-y-0{--transform-translate-y:0}.xl\:translate-y-1{--transform-translate-y:0.25rem}.xl\:translate-y-2{--transform-translate-y:0.5rem}.xl\:translate-y-3{--transform-translate-y:0.75rem}.xl\:translate-y-4{--transform-translate-y:1rem}.xl\:translate-y-5{--transform-translate-y:1.25rem}.xl\:translate-y-6{--transform-translate-y:1.5rem}.xl\:translate-y-8{--transform-translate-y:2rem}.xl\:translate-y-10{--transform-translate-y:2.5rem}.xl\:translate-y-12{--transform-translate-y:3rem}.xl\:translate-y-16{--transform-translate-y:4rem}.xl\:translate-y-20{--transform-translate-y:5rem}.xl\:translate-y-24{--transform-translate-y:6rem}.xl\:translate-y-32{--transform-translate-y:8rem}.xl\:translate-y-40{--transform-translate-y:10rem}.xl\:translate-y-48{--transform-translate-y:12rem}.xl\:translate-y-56{--transform-translate-y:14rem}.xl\:translate-y-64{--transform-translate-y:16rem}.xl\:translate-y-px{--transform-translate-y:1px}.xl\:-translate-y-1{--transform-translate-y:-0.25rem}.xl\:-translate-y-2{--transform-translate-y:-0.5rem}.xl\:-translate-y-3{--transform-translate-y:-0.75rem}.xl\:-translate-y-4{--transform-translate-y:-1rem}.xl\:-translate-y-5{--transform-translate-y:-1.25rem}.xl\:-translate-y-6{--transform-translate-y:-1.5rem}.xl\:-translate-y-8{--transform-translate-y:-2rem}.xl\:-translate-y-10{--transform-translate-y:-2.5rem}.xl\:-translate-y-12{--transform-translate-y:-3rem}.xl\:-translate-y-16{--transform-translate-y:-4rem}.xl\:-translate-y-20{--transform-translate-y:-5rem}.xl\:-translate-y-24{--transform-translate-y:-6rem}.xl\:-translate-y-32{--transform-translate-y:-8rem}.xl\:-translate-y-40{--transform-translate-y:-10rem}.xl\:-translate-y-48{--transform-translate-y:-12rem}.xl\:-translate-y-56{--transform-translate-y:-14rem}.xl\:-translate-y-64{--transform-translate-y:-16rem}.xl\:-translate-y-px{--transform-translate-y:-1px}.xl\:-translate-y-full{--transform-translate-y:-100%}.xl\:-translate-y-1\/2{--transform-translate-y:-50%}.xl\:translate-y-1\/2{--transform-translate-y:50%}.xl\:translate-y-full{--transform-translate-y:100%}.xl\:hover\:translate-x-0:hover{--transform-translate-x:0}.xl\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xl\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xl\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xl\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xl\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xl\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xl\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xl\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xl\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xl\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xl\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xl\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xl\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xl\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xl\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xl\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xl\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xl\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xl\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xl\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xl\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xl\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xl\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xl\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xl\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xl\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xl\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xl\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xl\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xl\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xl\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xl\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xl\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xl\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xl\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xl\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xl\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xl\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xl\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xl\:hover\:translate-y-0:hover{--transform-translate-y:0}.xl\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xl\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xl\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xl\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xl\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xl\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xl\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xl\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xl\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xl\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xl\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xl\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xl\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xl\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xl\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xl\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xl\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xl\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xl\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xl\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xl\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xl\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xl\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xl\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xl\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xl\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xl\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xl\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xl\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xl\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xl\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xl\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xl\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xl\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xl\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xl\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xl\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xl\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xl\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xl\:focus\:translate-x-0:focus{--transform-translate-x:0}.xl\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xl\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xl\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xl\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xl\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xl\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xl\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xl\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xl\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xl\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xl\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xl\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xl\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xl\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xl\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xl\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xl\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xl\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xl\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xl\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xl\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xl\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xl\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xl\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xl\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xl\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xl\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xl\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xl\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xl\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xl\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xl\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xl\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xl\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xl\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xl\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xl\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xl\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xl\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xl\:focus\:translate-y-0:focus{--transform-translate-y:0}.xl\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xl\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xl\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xl\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xl\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xl\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xl\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xl\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xl\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xl\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xl\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xl\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xl\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xl\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xl\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xl\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xl\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xl\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xl\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xl\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xl\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xl\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xl\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xl\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xl\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xl\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xl\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xl\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xl\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xl\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xl\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xl\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xl\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xl\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xl\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xl\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xl\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xl\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xl\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xl\:skew-x-0{--transform-skew-x:0}.xl\:skew-x-1{--transform-skew-x:1deg}.xl\:skew-x-2{--transform-skew-x:2deg}.xl\:skew-x-3{--transform-skew-x:3deg}.xl\:skew-x-6{--transform-skew-x:6deg}.xl\:skew-x-12{--transform-skew-x:12deg}.xl\:-skew-x-12{--transform-skew-x:-12deg}.xl\:-skew-x-6{--transform-skew-x:-6deg}.xl\:-skew-x-3{--transform-skew-x:-3deg}.xl\:-skew-x-2{--transform-skew-x:-2deg}.xl\:-skew-x-1{--transform-skew-x:-1deg}.xl\:skew-y-0{--transform-skew-y:0}.xl\:skew-y-1{--transform-skew-y:1deg}.xl\:skew-y-2{--transform-skew-y:2deg}.xl\:skew-y-3{--transform-skew-y:3deg}.xl\:skew-y-6{--transform-skew-y:6deg}.xl\:skew-y-12{--transform-skew-y:12deg}.xl\:-skew-y-12{--transform-skew-y:-12deg}.xl\:-skew-y-6{--transform-skew-y:-6deg}.xl\:-skew-y-3{--transform-skew-y:-3deg}.xl\:-skew-y-2{--transform-skew-y:-2deg}.xl\:-skew-y-1{--transform-skew-y:-1deg}.xl\:hover\:skew-x-0:hover{--transform-skew-x:0}.xl\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xl\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xl\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xl\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xl\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xl\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xl\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xl\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xl\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xl\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xl\:hover\:skew-y-0:hover{--transform-skew-y:0}.xl\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xl\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xl\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xl\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xl\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xl\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xl\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xl\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xl\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xl\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xl\:focus\:skew-x-0:focus{--transform-skew-x:0}.xl\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xl\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xl\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xl\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xl\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xl\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xl\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xl\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xl\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xl\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xl\:focus\:skew-y-0:focus{--transform-skew-y:0}.xl\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xl\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xl\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xl\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xl\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xl\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xl\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xl\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xl\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xl\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xl\:transition-none{transition-property:none}.xl\:transition-all{transition-property:all}.xl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xl\:transition-opacity{transition-property:opacity}.xl\:transition-shadow{transition-property:box-shadow}.xl\:transition-transform{transition-property:transform}.xl\:ease-linear{transition-timing-function:linear}.xl\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xl\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xl\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xl\:duration-75{transition-duration:75ms}.xl\:duration-100{transition-duration:.1s}.xl\:duration-150{transition-duration:.15s}.xl\:duration-200{transition-duration:.2s}.xl\:duration-300{transition-duration:.3s}.xl\:duration-500{transition-duration:.5s}.xl\:duration-700{transition-duration:.7s}.xl\:duration-1000{transition-duration:1s}.xl\:delay-75{transition-delay:75ms}.xl\:delay-100{transition-delay:.1s}.xl\:delay-150{transition-delay:.15s}.xl\:delay-200{transition-delay:.2s}.xl\:delay-300{transition-delay:.3s}.xl\:delay-500{transition-delay:.5s}.xl\:delay-700{transition-delay:.7s}.xl\:delay-1000{transition-delay:1s}.xl\:animate-none{animation:none}.xl\:animate-spin{animation:spin 1s linear infinite}.xl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xl\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1480px){.xxl\:container{width:100%}@media (min-width:360px){.xxl\:container{max-width:360px}}@media (min-width:640px){.xxl\:container{max-width:640px}}@media (min-width:768px){.xxl\:container{max-width:768px}}@media (min-width:1024px){.xxl\:container{max-width:1024px}}@media (min-width:1280px){.xxl\:container{max-width:1280px}}@media (min-width:1480px){.xxl\:container{max-width:1480px}}.xxl\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xxl\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xxl\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xxl\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xxl\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xxl\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xxl\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xxl\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xxl\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xxl\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xxl\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xxl\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xxl\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xxl\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xxl\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xxl\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xxl\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xxl\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xxl\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xxl\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xxl\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xxl\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xxl\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xxl\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xxl\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xxl\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xxl\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xxl\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xxl\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xxl\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xxl\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xxl\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xxl\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xxl\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xxl\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xxl\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xxl\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xxl\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xxl\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xxl\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xxl\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xxl\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xxl\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xxl\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xxl\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xxl\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xxl\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xxl\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xxl\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xxl\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xxl\:divide-current>:not(template)~:not(template){border-color:currentColor}.xxl\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xxl\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xxl\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xxl\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xxl\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xxl\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xxl\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xxl\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xxl\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xxl\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xxl\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xxl\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xxl\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xxl\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xxl\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xxl\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xxl\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xxl\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xxl\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xxl\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xxl\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xxl\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xxl\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xxl\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xxl\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xxl\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xxl\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xxl\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xxl\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xxl\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xxl\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xxl\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xxl\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xxl\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xxl\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xxl\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xxl\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xxl\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xxl\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xxl\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xxl\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xxl\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xxl\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xxl\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xxl\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xxl\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xxl\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xxl\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xxl\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xxl\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xxl\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xxl\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xxl\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xxl\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xxl\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xxl\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xxl\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xxl\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xxl\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xxl\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xxl\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xxl\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xxl\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xxl\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xxl\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xxl\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xxl\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xxl\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xxl\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xxl\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xxl\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xxl\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xxl\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xxl\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xxl\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xxl\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xxl\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xxl\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xxl\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xxl\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xxl\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xxl\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xxl\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xxl\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xxl\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xxl\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xxl\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xxl\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xxl\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xxl\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xxl\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xxl\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xxl\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xxl\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xxl\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xxl\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xxl\:divide-solid>:not(template)~:not(template){border-style:solid}.xxl\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xxl\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xxl\:divide-double>:not(template)~:not(template){border-style:double}.xxl\:divide-none>:not(template)~:not(template){border-style:none}.xxl\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xxl\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xxl\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xxl\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xxl\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xxl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xxl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xxl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xxl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xxl\:appearance-none{-webkit-appearance:none;appearance:none}.xxl\:bg-fixed{background-attachment:fixed}.xxl\:bg-local{background-attachment:local}.xxl\:bg-scroll{background-attachment:scroll}.xxl\:bg-clip-border{background-clip:border-box}.xxl\:bg-clip-padding{background-clip:padding-box}.xxl\:bg-clip-content{background-clip:content-box}.xxl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xxl\:bg-transparent{background-color:transparent}.xxl\:bg-current{background-color:currentColor}.xxl\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:hover\:bg-transparent:hover{background-color:transparent}.xxl\:hover\:bg-current:hover{background-color:currentColor}.xxl\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:focus\:bg-transparent:focus{background-color:transparent}.xxl\:focus\:bg-current:focus{background-color:currentColor}.xxl\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:bg-none{background-image:none}.xxl\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xxl\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xxl\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xxl\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xxl\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:to-transparent{--gradient-to-color:transparent}.xxl\:to-current{--gradient-to-color:currentColor}.xxl\:to-black{--gradient-to-color:#000}.xxl\:to-white{--gradient-to-color:#fff}.xxl\:to-gray-100{--gradient-to-color:#f7fafc}.xxl\:to-gray-200{--gradient-to-color:#edf2f7}.xxl\:to-gray-300{--gradient-to-color:#e2e8f0}.xxl\:to-gray-400{--gradient-to-color:#cbd5e0}.xxl\:to-gray-500{--gradient-to-color:#a0aec0}.xxl\:to-gray-600{--gradient-to-color:#718096}.xxl\:to-gray-700{--gradient-to-color:#4a5568}.xxl\:to-gray-800{--gradient-to-color:#2d3748}.xxl\:to-gray-900{--gradient-to-color:#1a202c}.xxl\:to-red-100{--gradient-to-color:#fff5f5}.xxl\:to-red-200{--gradient-to-color:#fed7d7}.xxl\:to-red-300{--gradient-to-color:#feb2b2}.xxl\:to-red-400{--gradient-to-color:#fc8181}.xxl\:to-red-500{--gradient-to-color:#f56565}.xxl\:to-red-600{--gradient-to-color:#e53e3e}.xxl\:to-red-700{--gradient-to-color:#c53030}.xxl\:to-red-800{--gradient-to-color:#9b2c2c}.xxl\:to-red-900{--gradient-to-color:#742a2a}.xxl\:to-orange-100{--gradient-to-color:#fffaf0}.xxl\:to-orange-200{--gradient-to-color:#feebc8}.xxl\:to-orange-300{--gradient-to-color:#fbd38d}.xxl\:to-orange-400{--gradient-to-color:#f6ad55}.xxl\:to-orange-500{--gradient-to-color:#ed8936}.xxl\:to-orange-600{--gradient-to-color:#dd6b20}.xxl\:to-orange-700{--gradient-to-color:#c05621}.xxl\:to-orange-800{--gradient-to-color:#9c4221}.xxl\:to-orange-900{--gradient-to-color:#7b341e}.xxl\:to-yellow-100{--gradient-to-color:ivory}.xxl\:to-yellow-200{--gradient-to-color:#fefcbf}.xxl\:to-yellow-300{--gradient-to-color:#faf089}.xxl\:to-yellow-400{--gradient-to-color:#f6e05e}.xxl\:to-yellow-500{--gradient-to-color:#ecc94b}.xxl\:to-yellow-600{--gradient-to-color:#d69e2e}.xxl\:to-yellow-700{--gradient-to-color:#b7791f}.xxl\:to-yellow-800{--gradient-to-color:#975a16}.xxl\:to-yellow-900{--gradient-to-color:#744210}.xxl\:to-green-100{--gradient-to-color:#f0fff4}.xxl\:to-green-200{--gradient-to-color:#c6f6d5}.xxl\:to-green-300{--gradient-to-color:#9ae6b4}.xxl\:to-green-400{--gradient-to-color:#68d391}.xxl\:to-green-500{--gradient-to-color:#48bb78}.xxl\:to-green-600{--gradient-to-color:#38a169}.xxl\:to-green-700{--gradient-to-color:#2f855a}.xxl\:to-green-800{--gradient-to-color:#276749}.xxl\:to-green-900{--gradient-to-color:#22543d}.xxl\:to-teal-100{--gradient-to-color:#e6fffa}.xxl\:to-teal-200{--gradient-to-color:#b2f5ea}.xxl\:to-teal-300{--gradient-to-color:#81e6d9}.xxl\:to-teal-400{--gradient-to-color:#4fd1c5}.xxl\:to-teal-500{--gradient-to-color:#38b2ac}.xxl\:to-teal-600{--gradient-to-color:#319795}.xxl\:to-teal-700{--gradient-to-color:#2c7a7b}.xxl\:to-teal-800{--gradient-to-color:#285e61}.xxl\:to-teal-900{--gradient-to-color:#234e52}.xxl\:to-blue-100{--gradient-to-color:#ebf8ff}.xxl\:to-blue-200{--gradient-to-color:#bee3f8}.xxl\:to-blue-300{--gradient-to-color:#90cdf4}.xxl\:to-blue-400{--gradient-to-color:#63b3ed}.xxl\:to-blue-500{--gradient-to-color:#4299e1}.xxl\:to-blue-600{--gradient-to-color:#3182ce}.xxl\:to-blue-700{--gradient-to-color:#2b6cb0}.xxl\:to-blue-800{--gradient-to-color:#2c5282}.xxl\:to-blue-900{--gradient-to-color:#2a4365}.xxl\:to-indigo-100{--gradient-to-color:#ebf4ff}.xxl\:to-indigo-200{--gradient-to-color:#c3dafe}.xxl\:to-indigo-300{--gradient-to-color:#a3bffa}.xxl\:to-indigo-400{--gradient-to-color:#7f9cf5}.xxl\:to-indigo-500{--gradient-to-color:#667eea}.xxl\:to-indigo-600{--gradient-to-color:#5a67d8}.xxl\:to-indigo-700{--gradient-to-color:#4c51bf}.xxl\:to-indigo-800{--gradient-to-color:#434190}.xxl\:to-indigo-900{--gradient-to-color:#3c366b}.xxl\:to-purple-100{--gradient-to-color:#faf5ff}.xxl\:to-purple-200{--gradient-to-color:#e9d8fd}.xxl\:to-purple-300{--gradient-to-color:#d6bcfa}.xxl\:to-purple-400{--gradient-to-color:#b794f4}.xxl\:to-purple-500{--gradient-to-color:#9f7aea}.xxl\:to-purple-600{--gradient-to-color:#805ad5}.xxl\:to-purple-700{--gradient-to-color:#6b46c1}.xxl\:to-purple-800{--gradient-to-color:#553c9a}.xxl\:to-purple-900{--gradient-to-color:#44337a}.xxl\:to-pink-100{--gradient-to-color:#fff5f7}.xxl\:to-pink-200{--gradient-to-color:#fed7e2}.xxl\:to-pink-300{--gradient-to-color:#fbb6ce}.xxl\:to-pink-400{--gradient-to-color:#f687b3}.xxl\:to-pink-500{--gradient-to-color:#ed64a6}.xxl\:to-pink-600{--gradient-to-color:#d53f8c}.xxl\:to-pink-700{--gradient-to-color:#b83280}.xxl\:to-pink-800{--gradient-to-color:#97266d}.xxl\:to-pink-900{--gradient-to-color:#702459}.xxl\:to-primary{--gradient-to-color:#00d1ff}.xxl\:to-secondary{--gradient-to-color:#e077ff}.xxl\:to-greenish-blue{--gradient-to-color:#adffed}.xxl\:to-blue-gray{--gradient-to-color:#cfe1e6}.xxl\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xxl\:hover\:to-current:hover{--gradient-to-color:currentColor}.xxl\:hover\:to-black:hover{--gradient-to-color:#000}.xxl\:hover\:to-white:hover{--gradient-to-color:#fff}.xxl\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xxl\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xxl\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xxl\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xxl\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xxl\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xxl\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xxl\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xxl\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xxl\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xxl\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xxl\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xxl\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xxl\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xxl\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xxl\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xxl\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xxl\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xxl\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xxl\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xxl\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xxl\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xxl\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xxl\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xxl\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xxl\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xxl\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xxl\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xxl\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xxl\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xxl\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xxl\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xxl\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xxl\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xxl\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xxl\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xxl\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xxl\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xxl\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xxl\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xxl\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xxl\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xxl\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xxl\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xxl\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xxl\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xxl\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xxl\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xxl\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xxl\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xxl\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xxl\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xxl\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xxl\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xxl\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xxl\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xxl\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xxl\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xxl\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xxl\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xxl\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xxl\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xxl\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xxl\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xxl\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xxl\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xxl\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xxl\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xxl\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xxl\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xxl\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xxl\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xxl\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xxl\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xxl\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xxl\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xxl\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xxl\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xxl\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xxl\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xxl\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xxl\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xxl\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xxl\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xxl\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xxl\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xxl\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xxl\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xxl\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xxl\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xxl\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xxl\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xxl\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xxl\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xxl\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xxl\:focus\:to-current:focus{--gradient-to-color:currentColor}.xxl\:focus\:to-black:focus{--gradient-to-color:#000}.xxl\:focus\:to-white:focus{--gradient-to-color:#fff}.xxl\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xxl\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xxl\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xxl\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xxl\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xxl\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xxl\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xxl\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xxl\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xxl\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xxl\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xxl\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xxl\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xxl\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xxl\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xxl\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xxl\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xxl\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xxl\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xxl\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xxl\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xxl\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xxl\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xxl\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xxl\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xxl\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xxl\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xxl\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xxl\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xxl\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xxl\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xxl\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xxl\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xxl\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xxl\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xxl\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xxl\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xxl\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xxl\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xxl\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xxl\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xxl\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xxl\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xxl\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xxl\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xxl\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xxl\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xxl\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xxl\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xxl\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xxl\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xxl\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xxl\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xxl\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xxl\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xxl\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xxl\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xxl\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xxl\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xxl\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xxl\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xxl\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xxl\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xxl\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xxl\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xxl\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xxl\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xxl\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xxl\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xxl\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xxl\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xxl\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xxl\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xxl\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xxl\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xxl\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xxl\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xxl\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xxl\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xxl\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xxl\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xxl\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xxl\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xxl\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xxl\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xxl\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xxl\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xxl\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xxl\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xxl\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xxl\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xxl\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xxl\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xxl\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xxl\:bg-opacity-0{--bg-opacity:0}.xxl\:bg-opacity-25{--bg-opacity:0.25}.xxl\:bg-opacity-50{--bg-opacity:0.5}.xxl\:bg-opacity-75{--bg-opacity:0.75}.xxl\:bg-opacity-100{--bg-opacity:1}.xxl\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xxl\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xxl\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xxl\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xxl\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xxl\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xxl\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xxl\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xxl\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xxl\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xxl\:bg-bottom{background-position:bottom}.xxl\:bg-center{background-position:50%}.xxl\:bg-left{background-position:0}.xxl\:bg-left-bottom{background-position:0 100%}.xxl\:bg-left-top{background-position:0 0}.xxl\:bg-right{background-position:100%}.xxl\:bg-right-bottom{background-position:100% 100%}.xxl\:bg-right-top{background-position:100% 0}.xxl\:bg-top{background-position:top}.xxl\:bg-repeat{background-repeat:repeat}.xxl\:bg-no-repeat{background-repeat:no-repeat}.xxl\:bg-repeat-x{background-repeat:repeat-x}.xxl\:bg-repeat-y{background-repeat:repeat-y}.xxl\:bg-repeat-round{background-repeat:round}.xxl\:bg-repeat-space{background-repeat:space}.xxl\:bg-auto{background-size:auto}.xxl\:bg-cover{background-size:cover}.xxl\:bg-contain{background-size:contain}.xxl\:border-collapse{border-collapse:collapse}.xxl\:border-separate{border-collapse:separate}.xxl\:border-transparent{border-color:transparent}.xxl\:border-current{border-color:currentColor}.xxl\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:hover\:border-transparent:hover{border-color:transparent}.xxl\:hover\:border-current:hover{border-color:currentColor}.xxl\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:focus\:border-transparent:focus{border-color:transparent}.xxl\:focus\:border-current:focus{border-color:currentColor}.xxl\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:border-opacity-0{--border-opacity:0}.xxl\:border-opacity-25{--border-opacity:0.25}.xxl\:border-opacity-50{--border-opacity:0.5}.xxl\:border-opacity-75{--border-opacity:0.75}.xxl\:border-opacity-100{--border-opacity:1}.xxl\:hover\:border-opacity-0:hover{--border-opacity:0}.xxl\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xxl\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xxl\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xxl\:hover\:border-opacity-100:hover{--border-opacity:1}.xxl\:focus\:border-opacity-0:focus{--border-opacity:0}.xxl\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xxl\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xxl\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xxl\:focus\:border-opacity-100:focus{--border-opacity:1}.xxl\:rounded-none{border-radius:0}.xxl\:rounded-sm{border-radius:.125rem}.xxl\:rounded{border-radius:.25rem}.xxl\:rounded-md{border-radius:.375rem}.xxl\:rounded-lg{border-radius:.5rem}.xxl\:rounded-xl{border-radius:.75rem}.xxl\:rounded-2xl{border-radius:1rem}.xxl\:rounded-3xl{border-radius:1.5rem}.xxl\:rounded-full{border-radius:9999px}.xxl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xxl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xxl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xxl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xxl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xxl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xxl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xxl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xxl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xxl\:rounded-r{border-top-right-radius:.25rem}.xxl\:rounded-b,.xxl\:rounded-r{border-bottom-right-radius:.25rem}.xxl\:rounded-b,.xxl\:rounded-l{border-bottom-left-radius:.25rem}.xxl\:rounded-l{border-top-left-radius:.25rem}.xxl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xxl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xxl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xxl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xxl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xxl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xxl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xxl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xxl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xxl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xxl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xxl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xxl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xxl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xxl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xxl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xxl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xxl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xxl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xxl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xxl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xxl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xxl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xxl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xxl\:rounded-tl-none{border-top-left-radius:0}.xxl\:rounded-tr-none{border-top-right-radius:0}.xxl\:rounded-br-none{border-bottom-right-radius:0}.xxl\:rounded-bl-none{border-bottom-left-radius:0}.xxl\:rounded-tl-sm{border-top-left-radius:.125rem}.xxl\:rounded-tr-sm{border-top-right-radius:.125rem}.xxl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xxl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xxl\:rounded-tl{border-top-left-radius:.25rem}.xxl\:rounded-tr{border-top-right-radius:.25rem}.xxl\:rounded-br{border-bottom-right-radius:.25rem}.xxl\:rounded-bl{border-bottom-left-radius:.25rem}.xxl\:rounded-tl-md{border-top-left-radius:.375rem}.xxl\:rounded-tr-md{border-top-right-radius:.375rem}.xxl\:rounded-br-md{border-bottom-right-radius:.375rem}.xxl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xxl\:rounded-tl-lg{border-top-left-radius:.5rem}.xxl\:rounded-tr-lg{border-top-right-radius:.5rem}.xxl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xxl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xxl\:rounded-tl-xl{border-top-left-radius:.75rem}.xxl\:rounded-tr-xl{border-top-right-radius:.75rem}.xxl\:rounded-br-xl{border-bottom-right-radius:.75rem}.xxl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xxl\:rounded-tl-2xl{border-top-left-radius:1rem}.xxl\:rounded-tr-2xl{border-top-right-radius:1rem}.xxl\:rounded-br-2xl{border-bottom-right-radius:1rem}.xxl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xxl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xxl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xxl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xxl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xxl\:rounded-tl-full{border-top-left-radius:9999px}.xxl\:rounded-tr-full{border-top-right-radius:9999px}.xxl\:rounded-br-full{border-bottom-right-radius:9999px}.xxl\:rounded-bl-full{border-bottom-left-radius:9999px}.xxl\:border-solid{border-style:solid}.xxl\:border-dashed{border-style:dashed}.xxl\:border-dotted{border-style:dotted}.xxl\:border-double{border-style:double}.xxl\:border-none{border-style:none}.xxl\:border-0{border-width:0}.xxl\:border-2{border-width:2px}.xxl\:border-4{border-width:4px}.xxl\:border-8{border-width:8px}.xxl\:border{border-width:1px}.xxl\:border-t-0{border-top-width:0}.xxl\:border-r-0{border-right-width:0}.xxl\:border-b-0{border-bottom-width:0}.xxl\:border-l-0{border-left-width:0}.xxl\:border-t-2{border-top-width:2px}.xxl\:border-r-2{border-right-width:2px}.xxl\:border-b-2{border-bottom-width:2px}.xxl\:border-l-2{border-left-width:2px}.xxl\:border-t-4{border-top-width:4px}.xxl\:border-r-4{border-right-width:4px}.xxl\:border-b-4{border-bottom-width:4px}.xxl\:border-l-4{border-left-width:4px}.xxl\:border-t-8{border-top-width:8px}.xxl\:border-r-8{border-right-width:8px}.xxl\:border-b-8{border-bottom-width:8px}.xxl\:border-l-8{border-left-width:8px}.xxl\:border-t{border-top-width:1px}.xxl\:border-r{border-right-width:1px}.xxl\:border-b{border-bottom-width:1px}.xxl\:border-l{border-left-width:1px}.xxl\:box-border{box-sizing:border-box}.xxl\:box-content{box-sizing:content-box}.xxl\:cursor-auto{cursor:auto}.xxl\:cursor-default{cursor:default}.xxl\:cursor-pointer{cursor:pointer}.xxl\:cursor-wait{cursor:wait}.xxl\:cursor-text{cursor:text}.xxl\:cursor-move{cursor:move}.xxl\:cursor-not-allowed{cursor:not-allowed}.xxl\:block{display:block}.xxl\:inline-block{display:inline-block}.xxl\:inline{display:inline}.xxl\:flex{display:flex}.xxl\:inline-flex{display:inline-flex}.xxl\:table{display:table}.xxl\:table-caption{display:table-caption}.xxl\:table-cell{display:table-cell}.xxl\:table-column{display:table-column}.xxl\:table-column-group{display:table-column-group}.xxl\:table-footer-group{display:table-footer-group}.xxl\:table-header-group{display:table-header-group}.xxl\:table-row-group{display:table-row-group}.xxl\:table-row{display:table-row}.xxl\:flow-root{display:flow-root}.xxl\:grid{display:grid}.xxl\:inline-grid{display:inline-grid}.xxl\:contents{display:contents}.xxl\:hidden{display:none}.xxl\:flex-row{flex-direction:row}.xxl\:flex-row-reverse{flex-direction:row-reverse}.xxl\:flex-col{flex-direction:column}.xxl\:flex-col-reverse{flex-direction:column-reverse}.xxl\:flex-wrap{flex-wrap:wrap}.xxl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xxl\:flex-no-wrap{flex-wrap:nowrap}.xxl\:place-items-auto{place-items:auto}.xxl\:place-items-start{place-items:start}.xxl\:place-items-end{place-items:end}.xxl\:place-items-center{place-items:center}.xxl\:place-items-stretch{place-items:stretch}.xxl\:place-content-center{place-content:center}.xxl\:place-content-start{place-content:start}.xxl\:place-content-end{place-content:end}.xxl\:place-content-between{place-content:space-between}.xxl\:place-content-around{place-content:space-around}.xxl\:place-content-evenly{place-content:space-evenly}.xxl\:place-content-stretch{place-content:stretch}.xxl\:place-self-auto{place-self:auto}.xxl\:place-self-start{place-self:start}.xxl\:place-self-end{place-self:end}.xxl\:place-self-center{place-self:center}.xxl\:place-self-stretch{place-self:stretch}.xxl\:items-start{align-items:flex-start}.xxl\:items-end{align-items:flex-end}.xxl\:items-center{align-items:center}.xxl\:items-baseline{align-items:baseline}.xxl\:items-stretch{align-items:stretch}.xxl\:content-center{align-content:center}.xxl\:content-start{align-content:flex-start}.xxl\:content-end{align-content:flex-end}.xxl\:content-between{align-content:space-between}.xxl\:content-around{align-content:space-around}.xxl\:content-evenly{align-content:space-evenly}.xxl\:self-auto{align-self:auto}.xxl\:self-start{align-self:flex-start}.xxl\:self-end{align-self:flex-end}.xxl\:self-center{align-self:center}.xxl\:self-stretch{align-self:stretch}.xxl\:justify-items-auto{justify-items:auto}.xxl\:justify-items-start{justify-items:start}.xxl\:justify-items-end{justify-items:end}.xxl\:justify-items-center{justify-items:center}.xxl\:justify-items-stretch{justify-items:stretch}.xxl\:justify-start{justify-content:flex-start}.xxl\:justify-end{justify-content:flex-end}.xxl\:justify-center{justify-content:center}.xxl\:justify-between{justify-content:space-between}.xxl\:justify-around{justify-content:space-around}.xxl\:justify-evenly{justify-content:space-evenly}.xxl\:justify-self-auto{justify-self:auto}.xxl\:justify-self-start{justify-self:start}.xxl\:justify-self-end{justify-self:end}.xxl\:justify-self-center{justify-self:center}.xxl\:justify-self-stretch{justify-self:stretch}.xxl\:flex-1{flex:1 1 0%}.xxl\:flex-auto{flex:1 1 auto}.xxl\:flex-initial{flex:0 1 auto}.xxl\:flex-none{flex:none}.xxl\:flex-grow-0{flex-grow:0}.xxl\:flex-grow{flex-grow:1}.xxl\:flex-shrink-0{flex-shrink:0}.xxl\:flex-shrink{flex-shrink:1}.xxl\:order-1{order:1}.xxl\:order-2{order:2}.xxl\:order-3{order:3}.xxl\:order-4{order:4}.xxl\:order-5{order:5}.xxl\:order-6{order:6}.xxl\:order-7{order:7}.xxl\:order-8{order:8}.xxl\:order-9{order:9}.xxl\:order-10{order:10}.xxl\:order-11{order:11}.xxl\:order-12{order:12}.xxl\:order-first{order:-9999}.xxl\:order-last{order:9999}.xxl\:order-none{order:0}.xxl\:float-right{float:right}.xxl\:float-left{float:left}.xxl\:float-none{float:none}.xxl\:clearfix:after{content:"";display:table;clear:both}.xxl\:clear-left{clear:left}.xxl\:clear-right{clear:right}.xxl\:clear-both{clear:both}.xxl\:clear-none{clear:none}.xxl\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xxl\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xxl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xxl\:font-hairline{font-weight:100}.xxl\:font-thin{font-weight:200}.xxl\:font-light{font-weight:300}.xxl\:font-normal{font-weight:400}.xxl\:font-medium{font-weight:500}.xxl\:font-semibold{font-weight:600}.xxl\:font-bold{font-weight:700}.xxl\:font-extrabold{font-weight:800}.xxl\:font-black{font-weight:900}.xxl\:hover\:font-hairline:hover{font-weight:100}.xxl\:hover\:font-thin:hover{font-weight:200}.xxl\:hover\:font-light:hover{font-weight:300}.xxl\:hover\:font-normal:hover{font-weight:400}.xxl\:hover\:font-medium:hover{font-weight:500}.xxl\:hover\:font-semibold:hover{font-weight:600}.xxl\:hover\:font-bold:hover{font-weight:700}.xxl\:hover\:font-extrabold:hover{font-weight:800}.xxl\:hover\:font-black:hover{font-weight:900}.xxl\:focus\:font-hairline:focus{font-weight:100}.xxl\:focus\:font-thin:focus{font-weight:200}.xxl\:focus\:font-light:focus{font-weight:300}.xxl\:focus\:font-normal:focus{font-weight:400}.xxl\:focus\:font-medium:focus{font-weight:500}.xxl\:focus\:font-semibold:focus{font-weight:600}.xxl\:focus\:font-bold:focus{font-weight:700}.xxl\:focus\:font-extrabold:focus{font-weight:800}.xxl\:focus\:font-black:focus{font-weight:900}.xxl\:h-0{height:0}.xxl\:h-1{height:.25rem}.xxl\:h-2{height:.5rem}.xxl\:h-3{height:.75rem}.xxl\:h-4{height:1rem}.xxl\:h-5{height:1.25rem}.xxl\:h-6{height:1.5rem}.xxl\:h-8{height:2rem}.xxl\:h-10{height:2.5rem}.xxl\:h-12{height:3rem}.xxl\:h-16{height:4rem}.xxl\:h-20{height:5rem}.xxl\:h-24{height:6rem}.xxl\:h-32{height:8rem}.xxl\:h-40{height:10rem}.xxl\:h-48{height:12rem}.xxl\:h-56{height:14rem}.xxl\:h-64{height:16rem}.xxl\:h-auto{height:auto}.xxl\:h-px{height:1px}.xxl\:h-full{height:100%}.xxl\:h-screen{height:100vh}.xxl\:text-xs{font-size:.75rem}.xxl\:text-sm{font-size:.875rem}.xxl\:text-base{font-size:1rem}.xxl\:text-lg{font-size:1.125rem}.xxl\:text-xl{font-size:1.25rem}.xxl\:text-2xl{font-size:1.5rem}.xxl\:text-3xl{font-size:1.875rem}.xxl\:text-4xl{font-size:2.25rem}.xxl\:text-5xl{font-size:3rem}.xxl\:text-6xl{font-size:4rem}.xxl\:leading-3{line-height:.75rem}.xxl\:leading-4{line-height:1rem}.xxl\:leading-5{line-height:1.25rem}.xxl\:leading-6{line-height:1.5rem}.xxl\:leading-7{line-height:1.75rem}.xxl\:leading-8{line-height:2rem}.xxl\:leading-9{line-height:2.25rem}.xxl\:leading-10{line-height:2.5rem}.xxl\:leading-none{line-height:1}.xxl\:leading-tight{line-height:1.25}.xxl\:leading-snug{line-height:1.375}.xxl\:leading-normal{line-height:1.5}.xxl\:leading-relaxed{line-height:1.625}.xxl\:leading-loose{line-height:2}.xxl\:list-inside{list-style-position:inside}.xxl\:list-outside{list-style-position:outside}.xxl\:list-none{list-style-type:none}.xxl\:list-disc{list-style-type:disc}.xxl\:list-decimal{list-style-type:decimal}.xxl\:m-0{margin:0}.xxl\:m-1{margin:.25rem}.xxl\:m-2{margin:.5rem}.xxl\:m-3{margin:.75rem}.xxl\:m-4{margin:1rem}.xxl\:m-5{margin:1.25rem}.xxl\:m-6{margin:1.5rem}.xxl\:m-8{margin:2rem}.xxl\:m-10{margin:2.5rem}.xxl\:m-12{margin:3rem}.xxl\:m-16{margin:4rem}.xxl\:m-20{margin:5rem}.xxl\:m-24{margin:6rem}.xxl\:m-32{margin:8rem}.xxl\:m-40{margin:10rem}.xxl\:m-48{margin:12rem}.xxl\:m-56{margin:14rem}.xxl\:m-64{margin:16rem}.xxl\:m-auto{margin:auto}.xxl\:m-px{margin:1px}.xxl\:-m-1{margin:-.25rem}.xxl\:-m-2{margin:-.5rem}.xxl\:-m-3{margin:-.75rem}.xxl\:-m-4{margin:-1rem}.xxl\:-m-5{margin:-1.25rem}.xxl\:-m-6{margin:-1.5rem}.xxl\:-m-8{margin:-2rem}.xxl\:-m-10{margin:-2.5rem}.xxl\:-m-12{margin:-3rem}.xxl\:-m-16{margin:-4rem}.xxl\:-m-20{margin:-5rem}.xxl\:-m-24{margin:-6rem}.xxl\:-m-32{margin:-8rem}.xxl\:-m-40{margin:-10rem}.xxl\:-m-48{margin:-12rem}.xxl\:-m-56{margin:-14rem}.xxl\:-m-64{margin:-16rem}.xxl\:-m-px{margin:-1px}.xxl\:my-0{margin-top:0;margin-bottom:0}.xxl\:mx-0{margin-left:0;margin-right:0}.xxl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xxl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xxl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xxl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xxl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xxl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xxl\:my-4{margin-top:1rem;margin-bottom:1rem}.xxl\:mx-4{margin-left:1rem;margin-right:1rem}.xxl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xxl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xxl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xxl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xxl\:my-8{margin-top:2rem;margin-bottom:2rem}.xxl\:mx-8{margin-left:2rem;margin-right:2rem}.xxl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xxl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xxl\:my-12{margin-top:3rem;margin-bottom:3rem}.xxl\:mx-12{margin-left:3rem;margin-right:3rem}.xxl\:my-16{margin-top:4rem;margin-bottom:4rem}.xxl\:mx-16{margin-left:4rem;margin-right:4rem}.xxl\:my-20{margin-top:5rem;margin-bottom:5rem}.xxl\:mx-20{margin-left:5rem;margin-right:5rem}.xxl\:my-24{margin-top:6rem;margin-bottom:6rem}.xxl\:mx-24{margin-left:6rem;margin-right:6rem}.xxl\:my-32{margin-top:8rem;margin-bottom:8rem}.xxl\:mx-32{margin-left:8rem;margin-right:8rem}.xxl\:my-40{margin-top:10rem;margin-bottom:10rem}.xxl\:mx-40{margin-left:10rem;margin-right:10rem}.xxl\:my-48{margin-top:12rem;margin-bottom:12rem}.xxl\:mx-48{margin-left:12rem;margin-right:12rem}.xxl\:my-56{margin-top:14rem;margin-bottom:14rem}.xxl\:mx-56{margin-left:14rem;margin-right:14rem}.xxl\:my-64{margin-top:16rem;margin-bottom:16rem}.xxl\:mx-64{margin-left:16rem;margin-right:16rem}.xxl\:my-auto{margin-top:auto;margin-bottom:auto}.xxl\:mx-auto{margin-left:auto;margin-right:auto}.xxl\:my-px{margin-top:1px;margin-bottom:1px}.xxl\:mx-px{margin-left:1px;margin-right:1px}.xxl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xxl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xxl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xxl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xxl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xxl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xxl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xxl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xxl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xxl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xxl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xxl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xxl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xxl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xxl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xxl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xxl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xxl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xxl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xxl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xxl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xxl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xxl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xxl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xxl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xxl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xxl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xxl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xxl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xxl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xxl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xxl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xxl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xxl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xxl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xxl\:-mx-px{margin-left:-1px;margin-right:-1px}.xxl\:mt-0{margin-top:0}.xxl\:mr-0{margin-right:0}.xxl\:mb-0{margin-bottom:0}.xxl\:ml-0{margin-left:0}.xxl\:mt-1{margin-top:.25rem}.xxl\:mr-1{margin-right:.25rem}.xxl\:mb-1{margin-bottom:.25rem}.xxl\:ml-1{margin-left:.25rem}.xxl\:mt-2{margin-top:.5rem}.xxl\:mr-2{margin-right:.5rem}.xxl\:mb-2{margin-bottom:.5rem}.xxl\:ml-2{margin-left:.5rem}.xxl\:mt-3{margin-top:.75rem}.xxl\:mr-3{margin-right:.75rem}.xxl\:mb-3{margin-bottom:.75rem}.xxl\:ml-3{margin-left:.75rem}.xxl\:mt-4{margin-top:1rem}.xxl\:mr-4{margin-right:1rem}.xxl\:mb-4{margin-bottom:1rem}.xxl\:ml-4{margin-left:1rem}.xxl\:mt-5{margin-top:1.25rem}.xxl\:mr-5{margin-right:1.25rem}.xxl\:mb-5{margin-bottom:1.25rem}.xxl\:ml-5{margin-left:1.25rem}.xxl\:mt-6{margin-top:1.5rem}.xxl\:mr-6{margin-right:1.5rem}.xxl\:mb-6{margin-bottom:1.5rem}.xxl\:ml-6{margin-left:1.5rem}.xxl\:mt-8{margin-top:2rem}.xxl\:mr-8{margin-right:2rem}.xxl\:mb-8{margin-bottom:2rem}.xxl\:ml-8{margin-left:2rem}.xxl\:mt-10{margin-top:2.5rem}.xxl\:mr-10{margin-right:2.5rem}.xxl\:mb-10{margin-bottom:2.5rem}.xxl\:ml-10{margin-left:2.5rem}.xxl\:mt-12{margin-top:3rem}.xxl\:mr-12{margin-right:3rem}.xxl\:mb-12{margin-bottom:3rem}.xxl\:ml-12{margin-left:3rem}.xxl\:mt-16{margin-top:4rem}.xxl\:mr-16{margin-right:4rem}.xxl\:mb-16{margin-bottom:4rem}.xxl\:ml-16{margin-left:4rem}.xxl\:mt-20{margin-top:5rem}.xxl\:mr-20{margin-right:5rem}.xxl\:mb-20{margin-bottom:5rem}.xxl\:ml-20{margin-left:5rem}.xxl\:mt-24{margin-top:6rem}.xxl\:mr-24{margin-right:6rem}.xxl\:mb-24{margin-bottom:6rem}.xxl\:ml-24{margin-left:6rem}.xxl\:mt-32{margin-top:8rem}.xxl\:mr-32{margin-right:8rem}.xxl\:mb-32{margin-bottom:8rem}.xxl\:ml-32{margin-left:8rem}.xxl\:mt-40{margin-top:10rem}.xxl\:mr-40{margin-right:10rem}.xxl\:mb-40{margin-bottom:10rem}.xxl\:ml-40{margin-left:10rem}.xxl\:mt-48{margin-top:12rem}.xxl\:mr-48{margin-right:12rem}.xxl\:mb-48{margin-bottom:12rem}.xxl\:ml-48{margin-left:12rem}.xxl\:mt-56{margin-top:14rem}.xxl\:mr-56{margin-right:14rem}.xxl\:mb-56{margin-bottom:14rem}.xxl\:ml-56{margin-left:14rem}.xxl\:mt-64{margin-top:16rem}.xxl\:mr-64{margin-right:16rem}.xxl\:mb-64{margin-bottom:16rem}.xxl\:ml-64{margin-left:16rem}.xxl\:mt-auto{margin-top:auto}.xxl\:mr-auto{margin-right:auto}.xxl\:mb-auto{margin-bottom:auto}.xxl\:ml-auto{margin-left:auto}.xxl\:mt-px{margin-top:1px}.xxl\:mr-px{margin-right:1px}.xxl\:mb-px{margin-bottom:1px}.xxl\:ml-px{margin-left:1px}.xxl\:-mt-1{margin-top:-.25rem}.xxl\:-mr-1{margin-right:-.25rem}.xxl\:-mb-1{margin-bottom:-.25rem}.xxl\:-ml-1{margin-left:-.25rem}.xxl\:-mt-2{margin-top:-.5rem}.xxl\:-mr-2{margin-right:-.5rem}.xxl\:-mb-2{margin-bottom:-.5rem}.xxl\:-ml-2{margin-left:-.5rem}.xxl\:-mt-3{margin-top:-.75rem}.xxl\:-mr-3{margin-right:-.75rem}.xxl\:-mb-3{margin-bottom:-.75rem}.xxl\:-ml-3{margin-left:-.75rem}.xxl\:-mt-4{margin-top:-1rem}.xxl\:-mr-4{margin-right:-1rem}.xxl\:-mb-4{margin-bottom:-1rem}.xxl\:-ml-4{margin-left:-1rem}.xxl\:-mt-5{margin-top:-1.25rem}.xxl\:-mr-5{margin-right:-1.25rem}.xxl\:-mb-5{margin-bottom:-1.25rem}.xxl\:-ml-5{margin-left:-1.25rem}.xxl\:-mt-6{margin-top:-1.5rem}.xxl\:-mr-6{margin-right:-1.5rem}.xxl\:-mb-6{margin-bottom:-1.5rem}.xxl\:-ml-6{margin-left:-1.5rem}.xxl\:-mt-8{margin-top:-2rem}.xxl\:-mr-8{margin-right:-2rem}.xxl\:-mb-8{margin-bottom:-2rem}.xxl\:-ml-8{margin-left:-2rem}.xxl\:-mt-10{margin-top:-2.5rem}.xxl\:-mr-10{margin-right:-2.5rem}.xxl\:-mb-10{margin-bottom:-2.5rem}.xxl\:-ml-10{margin-left:-2.5rem}.xxl\:-mt-12{margin-top:-3rem}.xxl\:-mr-12{margin-right:-3rem}.xxl\:-mb-12{margin-bottom:-3rem}.xxl\:-ml-12{margin-left:-3rem}.xxl\:-mt-16{margin-top:-4rem}.xxl\:-mr-16{margin-right:-4rem}.xxl\:-mb-16{margin-bottom:-4rem}.xxl\:-ml-16{margin-left:-4rem}.xxl\:-mt-20{margin-top:-5rem}.xxl\:-mr-20{margin-right:-5rem}.xxl\:-mb-20{margin-bottom:-5rem}.xxl\:-ml-20{margin-left:-5rem}.xxl\:-mt-24{margin-top:-6rem}.xxl\:-mr-24{margin-right:-6rem}.xxl\:-mb-24{margin-bottom:-6rem}.xxl\:-ml-24{margin-left:-6rem}.xxl\:-mt-32{margin-top:-8rem}.xxl\:-mr-32{margin-right:-8rem}.xxl\:-mb-32{margin-bottom:-8rem}.xxl\:-ml-32{margin-left:-8rem}.xxl\:-mt-40{margin-top:-10rem}.xxl\:-mr-40{margin-right:-10rem}.xxl\:-mb-40{margin-bottom:-10rem}.xxl\:-ml-40{margin-left:-10rem}.xxl\:-mt-48{margin-top:-12rem}.xxl\:-mr-48{margin-right:-12rem}.xxl\:-mb-48{margin-bottom:-12rem}.xxl\:-ml-48{margin-left:-12rem}.xxl\:-mt-56{margin-top:-14rem}.xxl\:-mr-56{margin-right:-14rem}.xxl\:-mb-56{margin-bottom:-14rem}.xxl\:-ml-56{margin-left:-14rem}.xxl\:-mt-64{margin-top:-16rem}.xxl\:-mr-64{margin-right:-16rem}.xxl\:-mb-64{margin-bottom:-16rem}.xxl\:-ml-64{margin-left:-16rem}.xxl\:-mt-px{margin-top:-1px}.xxl\:-mr-px{margin-right:-1px}.xxl\:-mb-px{margin-bottom:-1px}.xxl\:-ml-px{margin-left:-1px}.xxl\:max-h-full{max-height:100%}.xxl\:max-h-screen{max-height:100vh}.xxl\:max-w-none{max-width:none}.xxl\:max-w-xs{max-width:20rem}.xxl\:max-w-sm{max-width:24rem}.xxl\:max-w-md{max-width:28rem}.xxl\:max-w-lg{max-width:32rem}.xxl\:max-w-xl{max-width:36rem}.xxl\:max-w-2xl{max-width:42rem}.xxl\:max-w-3xl{max-width:48rem}.xxl\:max-w-4xl{max-width:56rem}.xxl\:max-w-5xl{max-width:64rem}.xxl\:max-w-6xl{max-width:72rem}.xxl\:max-w-full{max-width:100%}.xxl\:max-w-screen-xs{max-width:360px}.xxl\:max-w-screen-sm{max-width:640px}.xxl\:max-w-screen-md{max-width:768px}.xxl\:max-w-screen-lg{max-width:1024px}.xxl\:max-w-screen-xl{max-width:1280px}.xxl\:max-w-screen-xxl{max-width:1480px}.xxl\:min-h-0{min-height:0}.xxl\:min-h-full{min-height:100%}.xxl\:min-h-screen{min-height:100vh}.xxl\:min-w-0{min-width:0}.xxl\:min-w-full{min-width:100%}.xxl\:object-contain{-o-object-fit:contain;object-fit:contain}.xxl\:object-cover{-o-object-fit:cover;object-fit:cover}.xxl\:object-fill{-o-object-fit:fill;object-fit:fill}.xxl\:object-none{-o-object-fit:none;object-fit:none}.xxl\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xxl\:object-bottom{-o-object-position:bottom;object-position:bottom}.xxl\:object-center{-o-object-position:center;object-position:center}.xxl\:object-left{-o-object-position:left;object-position:left}.xxl\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xxl\:object-left-top{-o-object-position:left top;object-position:left top}.xxl\:object-right{-o-object-position:right;object-position:right}.xxl\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xxl\:object-right-top{-o-object-position:right top;object-position:right top}.xxl\:object-top{-o-object-position:top;object-position:top}.xxl\:opacity-0{opacity:0}.xxl\:opacity-25{opacity:.25}.xxl\:opacity-50{opacity:.5}.xxl\:opacity-75{opacity:.75}.xxl\:opacity-100{opacity:1}.xxl\:hover\:opacity-0:hover{opacity:0}.xxl\:hover\:opacity-25:hover{opacity:.25}.xxl\:hover\:opacity-50:hover{opacity:.5}.xxl\:hover\:opacity-75:hover{opacity:.75}.xxl\:hover\:opacity-100:hover{opacity:1}.xxl\:focus\:opacity-0:focus{opacity:0}.xxl\:focus\:opacity-25:focus{opacity:.25}.xxl\:focus\:opacity-50:focus{opacity:.5}.xxl\:focus\:opacity-75:focus{opacity:.75}.xxl\:focus\:opacity-100:focus{opacity:1}.xxl\:outline-none{outline:2px solid transparent;outline-offset:2px}.xxl\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xxl\:outline-black{outline:2px dotted #000;outline-offset:2px}.xxl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xxl\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xxl\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xxl\:overflow-auto{overflow:auto}.xxl\:overflow-hidden{overflow:hidden}.xxl\:overflow-visible{overflow:visible}.xxl\:overflow-scroll{overflow:scroll}.xxl\:overflow-x-auto{overflow-x:auto}.xxl\:overflow-y-auto{overflow-y:auto}.xxl\:overflow-x-hidden{overflow-x:hidden}.xxl\:overflow-y-hidden{overflow-y:hidden}.xxl\:overflow-x-visible{overflow-x:visible}.xxl\:overflow-y-visible{overflow-y:visible}.xxl\:overflow-x-scroll{overflow-x:scroll}.xxl\:overflow-y-scroll{overflow-y:scroll}.xxl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xxl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xxl\:overscroll-auto{overscroll-behavior:auto}.xxl\:overscroll-contain{overscroll-behavior:contain}.xxl\:overscroll-none{overscroll-behavior:none}.xxl\:overscroll-y-auto{overscroll-behavior-y:auto}.xxl\:overscroll-y-contain{overscroll-behavior-y:contain}.xxl\:overscroll-y-none{overscroll-behavior-y:none}.xxl\:overscroll-x-auto{overscroll-behavior-x:auto}.xxl\:overscroll-x-contain{overscroll-behavior-x:contain}.xxl\:overscroll-x-none{overscroll-behavior-x:none}.xxl\:p-0{padding:0}.xxl\:p-1{padding:.25rem}.xxl\:p-2{padding:.5rem}.xxl\:p-3{padding:.75rem}.xxl\:p-4{padding:1rem}.xxl\:p-5{padding:1.25rem}.xxl\:p-6{padding:1.5rem}.xxl\:p-8{padding:2rem}.xxl\:p-10{padding:2.5rem}.xxl\:p-12{padding:3rem}.xxl\:p-16{padding:4rem}.xxl\:p-20{padding:5rem}.xxl\:p-24{padding:6rem}.xxl\:p-32{padding:8rem}.xxl\:p-40{padding:10rem}.xxl\:p-48{padding:12rem}.xxl\:p-56{padding:14rem}.xxl\:p-64{padding:16rem}.xxl\:p-px{padding:1px}.xxl\:py-0{padding-top:0;padding-bottom:0}.xxl\:px-0{padding-left:0;padding-right:0}.xxl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xxl\:px-1{padding-left:.25rem;padding-right:.25rem}.xxl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xxl\:px-2{padding-left:.5rem;padding-right:.5rem}.xxl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xxl\:px-3{padding-left:.75rem;padding-right:.75rem}.xxl\:py-4{padding-top:1rem;padding-bottom:1rem}.xxl\:px-4{padding-left:1rem;padding-right:1rem}.xxl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xxl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xxl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xxl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xxl\:py-8{padding-top:2rem;padding-bottom:2rem}.xxl\:px-8{padding-left:2rem;padding-right:2rem}.xxl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xxl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xxl\:py-12{padding-top:3rem;padding-bottom:3rem}.xxl\:px-12{padding-left:3rem;padding-right:3rem}.xxl\:py-16{padding-top:4rem;padding-bottom:4rem}.xxl\:px-16{padding-left:4rem;padding-right:4rem}.xxl\:py-20{padding-top:5rem;padding-bottom:5rem}.xxl\:px-20{padding-left:5rem;padding-right:5rem}.xxl\:py-24{padding-top:6rem;padding-bottom:6rem}.xxl\:px-24{padding-left:6rem;padding-right:6rem}.xxl\:py-32{padding-top:8rem;padding-bottom:8rem}.xxl\:px-32{padding-left:8rem;padding-right:8rem}.xxl\:py-40{padding-top:10rem;padding-bottom:10rem}.xxl\:px-40{padding-left:10rem;padding-right:10rem}.xxl\:py-48{padding-top:12rem;padding-bottom:12rem}.xxl\:px-48{padding-left:12rem;padding-right:12rem}.xxl\:py-56{padding-top:14rem;padding-bottom:14rem}.xxl\:px-56{padding-left:14rem;padding-right:14rem}.xxl\:py-64{padding-top:16rem;padding-bottom:16rem}.xxl\:px-64{padding-left:16rem;padding-right:16rem}.xxl\:py-px{padding-top:1px;padding-bottom:1px}.xxl\:px-px{padding-left:1px;padding-right:1px}.xxl\:pt-0{padding-top:0}.xxl\:pr-0{padding-right:0}.xxl\:pb-0{padding-bottom:0}.xxl\:pl-0{padding-left:0}.xxl\:pt-1{padding-top:.25rem}.xxl\:pr-1{padding-right:.25rem}.xxl\:pb-1{padding-bottom:.25rem}.xxl\:pl-1{padding-left:.25rem}.xxl\:pt-2{padding-top:.5rem}.xxl\:pr-2{padding-right:.5rem}.xxl\:pb-2{padding-bottom:.5rem}.xxl\:pl-2{padding-left:.5rem}.xxl\:pt-3{padding-top:.75rem}.xxl\:pr-3{padding-right:.75rem}.xxl\:pb-3{padding-bottom:.75rem}.xxl\:pl-3{padding-left:.75rem}.xxl\:pt-4{padding-top:1rem}.xxl\:pr-4{padding-right:1rem}.xxl\:pb-4{padding-bottom:1rem}.xxl\:pl-4{padding-left:1rem}.xxl\:pt-5{padding-top:1.25rem}.xxl\:pr-5{padding-right:1.25rem}.xxl\:pb-5{padding-bottom:1.25rem}.xxl\:pl-5{padding-left:1.25rem}.xxl\:pt-6{padding-top:1.5rem}.xxl\:pr-6{padding-right:1.5rem}.xxl\:pb-6{padding-bottom:1.5rem}.xxl\:pl-6{padding-left:1.5rem}.xxl\:pt-8{padding-top:2rem}.xxl\:pr-8{padding-right:2rem}.xxl\:pb-8{padding-bottom:2rem}.xxl\:pl-8{padding-left:2rem}.xxl\:pt-10{padding-top:2.5rem}.xxl\:pr-10{padding-right:2.5rem}.xxl\:pb-10{padding-bottom:2.5rem}.xxl\:pl-10{padding-left:2.5rem}.xxl\:pt-12{padding-top:3rem}.xxl\:pr-12{padding-right:3rem}.xxl\:pb-12{padding-bottom:3rem}.xxl\:pl-12{padding-left:3rem}.xxl\:pt-16{padding-top:4rem}.xxl\:pr-16{padding-right:4rem}.xxl\:pb-16{padding-bottom:4rem}.xxl\:pl-16{padding-left:4rem}.xxl\:pt-20{padding-top:5rem}.xxl\:pr-20{padding-right:5rem}.xxl\:pb-20{padding-bottom:5rem}.xxl\:pl-20{padding-left:5rem}.xxl\:pt-24{padding-top:6rem}.xxl\:pr-24{padding-right:6rem}.xxl\:pb-24{padding-bottom:6rem}.xxl\:pl-24{padding-left:6rem}.xxl\:pt-32{padding-top:8rem}.xxl\:pr-32{padding-right:8rem}.xxl\:pb-32{padding-bottom:8rem}.xxl\:pl-32{padding-left:8rem}.xxl\:pt-40{padding-top:10rem}.xxl\:pr-40{padding-right:10rem}.xxl\:pb-40{padding-bottom:10rem}.xxl\:pl-40{padding-left:10rem}.xxl\:pt-48{padding-top:12rem}.xxl\:pr-48{padding-right:12rem}.xxl\:pb-48{padding-bottom:12rem}.xxl\:pl-48{padding-left:12rem}.xxl\:pt-56{padding-top:14rem}.xxl\:pr-56{padding-right:14rem}.xxl\:pb-56{padding-bottom:14rem}.xxl\:pl-56{padding-left:14rem}.xxl\:pt-64{padding-top:16rem}.xxl\:pr-64{padding-right:16rem}.xxl\:pb-64{padding-bottom:16rem}.xxl\:pl-64{padding-left:16rem}.xxl\:pt-px{padding-top:1px}.xxl\:pr-px{padding-right:1px}.xxl\:pb-px{padding-bottom:1px}.xxl\:pl-px{padding-left:1px}.xxl\:placeholder-transparent::placeholder{color:transparent}.xxl\:placeholder-current::placeholder{color:currentColor}.xxl\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xxl\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xxl\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xxl\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xxl\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xxl\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xxl\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xxl\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xxl\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xxl\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xxl\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xxl\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xxl\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xxl\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xxl\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xxl\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xxl\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xxl\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xxl\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xxl\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xxl\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xxl\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xxl\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xxl\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xxl\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xxl\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xxl\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xxl\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xxl\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xxl\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xxl\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xxl\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xxl\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xxl\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xxl\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xxl\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xxl\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xxl\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xxl\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xxl\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xxl\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xxl\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xxl\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xxl\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xxl\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xxl\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xxl\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xxl\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xxl\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xxl\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xxl\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xxl\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xxl\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xxl\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xxl\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xxl\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xxl\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xxl\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xxl\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xxl\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xxl\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xxl\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xxl\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xxl\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xxl\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xxl\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xxl\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xxl\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xxl\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xxl\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xxl\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xxl\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xxl\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xxl\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xxl\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xxl\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xxl\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xxl\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xxl\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xxl\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xxl\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xxl\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xxl\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xxl\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xxl\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xxl\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xxl\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xxl\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xxl\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xxl\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xxl\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xxl\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xxl\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xxl\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xxl\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xxl\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xxl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xxl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xxl\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xxl\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xxl\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xxl\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xxl\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xxl\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xxl\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xxl\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xxl\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xxl\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xxl\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xxl\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xxl\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xxl\:pointer-events-none{pointer-events:none}.xxl\:pointer-events-auto{pointer-events:auto}.xxl\:static{position:static}.xxl\:fixed{position:fixed}.xxl\:absolute{position:absolute}.xxl\:relative{position:relative}.xxl\:sticky{position:sticky}.xxl\:inset-0{top:0;right:0;bottom:0;left:0}.xxl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xxl\:inset-y-0{top:0;bottom:0}.xxl\:inset-x-0{right:0;left:0}.xxl\:inset-y-auto{top:auto;bottom:auto}.xxl\:inset-x-auto{right:auto;left:auto}.xxl\:top-0{top:0}.xxl\:right-0{right:0}.xxl\:bottom-0{bottom:0}.xxl\:left-0{left:0}.xxl\:top-auto{top:auto}.xxl\:right-auto{right:auto}.xxl\:bottom-auto{bottom:auto}.xxl\:left-auto{left:auto}.xxl\:resize-none{resize:none}.xxl\:resize-y{resize:vertical}.xxl\:resize-x{resize:horizontal}.xxl\:resize{resize:both}.xxl\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:shadow-none{box-shadow:none}.xxl\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:hover\:shadow-none:hover{box-shadow:none}.xxl\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:focus\:shadow-none:focus{box-shadow:none}.xxl\:fill-current{fill:currentColor}.xxl\:stroke-current{stroke:currentColor}.xxl\:stroke-0{stroke-width:0}.xxl\:stroke-1{stroke-width:1}.xxl\:stroke-2{stroke-width:2}.xxl\:table-auto{table-layout:auto}.xxl\:table-fixed{table-layout:fixed}.xxl\:text-left{text-align:left}.xxl\:text-center{text-align:center}.xxl\:text-right{text-align:right}.xxl\:text-justify{text-align:justify}.xxl\:text-transparent{color:transparent}.xxl\:text-current{color:currentColor}.xxl\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:hover\:text-transparent:hover{color:transparent}.xxl\:hover\:text-current:hover{color:currentColor}.xxl\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:focus\:text-transparent:focus{color:transparent}.xxl\:focus\:text-current:focus{color:currentColor}.xxl\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:text-opacity-0{--text-opacity:0}.xxl\:text-opacity-25{--text-opacity:0.25}.xxl\:text-opacity-50{--text-opacity:0.5}.xxl\:text-opacity-75{--text-opacity:0.75}.xxl\:text-opacity-100{--text-opacity:1}.xxl\:hover\:text-opacity-0:hover{--text-opacity:0}.xxl\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xxl\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xxl\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xxl\:hover\:text-opacity-100:hover{--text-opacity:1}.xxl\:focus\:text-opacity-0:focus{--text-opacity:0}.xxl\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xxl\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xxl\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xxl\:focus\:text-opacity-100:focus{--text-opacity:1}.xxl\:italic{font-style:italic}.xxl\:not-italic{font-style:normal}.xxl\:uppercase{text-transform:uppercase}.xxl\:lowercase{text-transform:lowercase}.xxl\:capitalize{text-transform:capitalize}.xxl\:normal-case{text-transform:none}.xxl\:underline{text-decoration:underline}.xxl\:line-through{text-decoration:line-through}.xxl\:no-underline{text-decoration:none}.xxl\:hover\:underline:hover{text-decoration:underline}.xxl\:hover\:line-through:hover{text-decoration:line-through}.xxl\:hover\:no-underline:hover{text-decoration:none}.xxl\:focus\:underline:focus{text-decoration:underline}.xxl\:focus\:line-through:focus{text-decoration:line-through}.xxl\:focus\:no-underline:focus{text-decoration:none}.xxl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xxl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xxl\:diagonal-fractions,.xxl\:lining-nums,.xxl\:oldstyle-nums,.xxl\:ordinal,.xxl\:proportional-nums,.xxl\:slashed-zero,.xxl\:stacked-fractions,.xxl\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xxl\:normal-nums{font-variant-numeric:normal}.xxl\:ordinal{--font-variant-numeric-ordinal:ordinal}.xxl\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xxl\:lining-nums{--font-variant-numeric-figure:lining-nums}.xxl\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xxl\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xxl\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xxl\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xxl\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xxl\:tracking-tighter{letter-spacing:-.05em}.xxl\:tracking-tight{letter-spacing:-.025em}.xxl\:tracking-normal{letter-spacing:0}.xxl\:tracking-wide{letter-spacing:.025em}.xxl\:tracking-wider{letter-spacing:.05em}.xxl\:tracking-widest{letter-spacing:.1em}.xxl\:select-none{-webkit-user-select:none;user-select:none}.xxl\:select-text{-webkit-user-select:text;user-select:text}.xxl\:select-all{-webkit-user-select:all;user-select:all}.xxl\:select-auto{-webkit-user-select:auto;user-select:auto}.xxl\:align-baseline{vertical-align:baseline}.xxl\:align-top{vertical-align:top}.xxl\:align-middle{vertical-align:middle}.xxl\:align-bottom{vertical-align:bottom}.xxl\:align-text-top{vertical-align:text-top}.xxl\:align-text-bottom{vertical-align:text-bottom}.xxl\:visible{visibility:visible}.xxl\:invisible{visibility:hidden}.xxl\:whitespace-normal{white-space:normal}.xxl\:whitespace-no-wrap{white-space:nowrap}.xxl\:whitespace-pre{white-space:pre}.xxl\:whitespace-pre-line{white-space:pre-line}.xxl\:whitespace-pre-wrap{white-space:pre-wrap}.xxl\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xxl\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xxl\:break-all{word-break:break-all}.xxl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xxl\:w-0{width:0}.xxl\:w-1{width:.25rem}.xxl\:w-2{width:.5rem}.xxl\:w-3{width:.75rem}.xxl\:w-4{width:1rem}.xxl\:w-5{width:1.25rem}.xxl\:w-6{width:1.5rem}.xxl\:w-8{width:2rem}.xxl\:w-10{width:2.5rem}.xxl\:w-12{width:3rem}.xxl\:w-16{width:4rem}.xxl\:w-20{width:5rem}.xxl\:w-24{width:6rem}.xxl\:w-32{width:8rem}.xxl\:w-40{width:10rem}.xxl\:w-48{width:12rem}.xxl\:w-56{width:14rem}.xxl\:w-64{width:16rem}.xxl\:w-auto{width:auto}.xxl\:w-px{width:1px}.xxl\:w-1\/2{width:50%}.xxl\:w-1\/3{width:33.333333%}.xxl\:w-2\/3{width:66.666667%}.xxl\:w-1\/4{width:25%}.xxl\:w-2\/4{width:50%}.xxl\:w-3\/4{width:75%}.xxl\:w-1\/5{width:20%}.xxl\:w-2\/5{width:40%}.xxl\:w-3\/5{width:60%}.xxl\:w-4\/5{width:80%}.xxl\:w-1\/6{width:16.666667%}.xxl\:w-2\/6{width:33.333333%}.xxl\:w-3\/6{width:50%}.xxl\:w-4\/6{width:66.666667%}.xxl\:w-5\/6{width:83.333333%}.xxl\:w-1\/12{width:8.333333%}.xxl\:w-2\/12{width:16.666667%}.xxl\:w-3\/12{width:25%}.xxl\:w-4\/12{width:33.333333%}.xxl\:w-5\/12{width:41.666667%}.xxl\:w-6\/12{width:50%}.xxl\:w-7\/12{width:58.333333%}.xxl\:w-8\/12{width:66.666667%}.xxl\:w-9\/12{width:75%}.xxl\:w-10\/12{width:83.333333%}.xxl\:w-11\/12{width:91.666667%}.xxl\:w-full{width:100%}.xxl\:w-screen{width:100vw}.xxl\:z-0{z-index:0}.xxl\:z-10{z-index:10}.xxl\:z-20{z-index:20}.xxl\:z-30{z-index:30}.xxl\:z-40{z-index:40}.xxl\:z-50{z-index:50}.xxl\:z-auto{z-index:auto}.xxl\:gap-0{grid-gap:0;gap:0}.xxl\:gap-1{grid-gap:.25rem;gap:.25rem}.xxl\:gap-2{grid-gap:.5rem;gap:.5rem}.xxl\:gap-3{grid-gap:.75rem;gap:.75rem}.xxl\:gap-4{grid-gap:1rem;gap:1rem}.xxl\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xxl\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xxl\:gap-8{grid-gap:2rem;gap:2rem}.xxl\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xxl\:gap-12{grid-gap:3rem;gap:3rem}.xxl\:gap-16{grid-gap:4rem;gap:4rem}.xxl\:gap-20{grid-gap:5rem;gap:5rem}.xxl\:gap-24{grid-gap:6rem;gap:6rem}.xxl\:gap-32{grid-gap:8rem;gap:8rem}.xxl\:gap-40{grid-gap:10rem;gap:10rem}.xxl\:gap-48{grid-gap:12rem;gap:12rem}.xxl\:gap-56{grid-gap:14rem;gap:14rem}.xxl\:gap-64{grid-gap:16rem;gap:16rem}.xxl\:gap-px{grid-gap:1px;gap:1px}.xxl\:col-gap-0{grid-column-gap:0;column-gap:0}.xxl\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xxl\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xxl\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xxl\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xxl\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xxl\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xxl\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xxl\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xxl\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xxl\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xxl\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xxl\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xxl\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xxl\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xxl\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xxl\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xxl\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xxl\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xxl\:gap-x-0{grid-column-gap:0;column-gap:0}.xxl\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xxl\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xxl\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xxl\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xxl\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xxl\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xxl\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xxl\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xxl\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xxl\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xxl\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xxl\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xxl\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xxl\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xxl\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xxl\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xxl\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xxl\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xxl\:row-gap-0{grid-row-gap:0;row-gap:0}.xxl\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xxl\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xxl\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xxl\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xxl\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xxl\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xxl\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xxl\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xxl\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xxl\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xxl\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xxl\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xxl\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xxl\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xxl\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xxl\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xxl\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xxl\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xxl\:gap-y-0{grid-row-gap:0;row-gap:0}.xxl\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xxl\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xxl\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xxl\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xxl\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xxl\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xxl\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xxl\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xxl\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xxl\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xxl\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xxl\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xxl\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xxl\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xxl\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xxl\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xxl\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xxl\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xxl\:grid-flow-row{grid-auto-flow:row}.xxl\:grid-flow-col{grid-auto-flow:column}.xxl\:grid-flow-row-dense{grid-auto-flow:row dense}.xxl\:grid-flow-col-dense{grid-auto-flow:column dense}.xxl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xxl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xxl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xxl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xxl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xxl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xxl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xxl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xxl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xxl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xxl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xxl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xxl\:grid-cols-none{grid-template-columns:none}.xxl\:auto-cols-auto{grid-auto-columns:auto}.xxl\:auto-cols-min{grid-auto-columns:min-content}.xxl\:auto-cols-max{grid-auto-columns:max-content}.xxl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xxl\:col-auto{grid-column:auto}.xxl\:col-span-1{grid-column:span 1/span 1}.xxl\:col-span-2{grid-column:span 2/span 2}.xxl\:col-span-3{grid-column:span 3/span 3}.xxl\:col-span-4{grid-column:span 4/span 4}.xxl\:col-span-5{grid-column:span 5/span 5}.xxl\:col-span-6{grid-column:span 6/span 6}.xxl\:col-span-7{grid-column:span 7/span 7}.xxl\:col-span-8{grid-column:span 8/span 8}.xxl\:col-span-9{grid-column:span 9/span 9}.xxl\:col-span-10{grid-column:span 10/span 10}.xxl\:col-span-11{grid-column:span 11/span 11}.xxl\:col-span-12{grid-column:span 12/span 12}.xxl\:col-span-full{grid-column:1/-1}.xxl\:col-start-1{grid-column-start:1}.xxl\:col-start-2{grid-column-start:2}.xxl\:col-start-3{grid-column-start:3}.xxl\:col-start-4{grid-column-start:4}.xxl\:col-start-5{grid-column-start:5}.xxl\:col-start-6{grid-column-start:6}.xxl\:col-start-7{grid-column-start:7}.xxl\:col-start-8{grid-column-start:8}.xxl\:col-start-9{grid-column-start:9}.xxl\:col-start-10{grid-column-start:10}.xxl\:col-start-11{grid-column-start:11}.xxl\:col-start-12{grid-column-start:12}.xxl\:col-start-13{grid-column-start:13}.xxl\:col-start-auto{grid-column-start:auto}.xxl\:col-end-1{grid-column-end:1}.xxl\:col-end-2{grid-column-end:2}.xxl\:col-end-3{grid-column-end:3}.xxl\:col-end-4{grid-column-end:4}.xxl\:col-end-5{grid-column-end:5}.xxl\:col-end-6{grid-column-end:6}.xxl\:col-end-7{grid-column-end:7}.xxl\:col-end-8{grid-column-end:8}.xxl\:col-end-9{grid-column-end:9}.xxl\:col-end-10{grid-column-end:10}.xxl\:col-end-11{grid-column-end:11}.xxl\:col-end-12{grid-column-end:12}.xxl\:col-end-13{grid-column-end:13}.xxl\:col-end-auto{grid-column-end:auto}.xxl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xxl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xxl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xxl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xxl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xxl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xxl\:grid-rows-none{grid-template-rows:none}.xxl\:auto-rows-auto{grid-auto-rows:auto}.xxl\:auto-rows-min{grid-auto-rows:min-content}.xxl\:auto-rows-max{grid-auto-rows:max-content}.xxl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xxl\:row-auto{grid-row:auto}.xxl\:row-span-1{grid-row:span 1/span 1}.xxl\:row-span-2{grid-row:span 2/span 2}.xxl\:row-span-3{grid-row:span 3/span 3}.xxl\:row-span-4{grid-row:span 4/span 4}.xxl\:row-span-5{grid-row:span 5/span 5}.xxl\:row-span-6{grid-row:span 6/span 6}.xxl\:row-span-full{grid-row:1/-1}.xxl\:row-start-1{grid-row-start:1}.xxl\:row-start-2{grid-row-start:2}.xxl\:row-start-3{grid-row-start:3}.xxl\:row-start-4{grid-row-start:4}.xxl\:row-start-5{grid-row-start:5}.xxl\:row-start-6{grid-row-start:6}.xxl\:row-start-7{grid-row-start:7}.xxl\:row-start-auto{grid-row-start:auto}.xxl\:row-end-1{grid-row-end:1}.xxl\:row-end-2{grid-row-end:2}.xxl\:row-end-3{grid-row-end:3}.xxl\:row-end-4{grid-row-end:4}.xxl\:row-end-5{grid-row-end:5}.xxl\:row-end-6{grid-row-end:6}.xxl\:row-end-7{grid-row-end:7}.xxl\:row-end-auto{grid-row-end:auto}.xxl\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xxl\:transform-none{transform:none}.xxl\:origin-center{transform-origin:center}.xxl\:origin-top{transform-origin:top}.xxl\:origin-top-right{transform-origin:top right}.xxl\:origin-right{transform-origin:right}.xxl\:origin-bottom-right{transform-origin:bottom right}.xxl\:origin-bottom{transform-origin:bottom}.xxl\:origin-bottom-left{transform-origin:bottom left}.xxl\:origin-left{transform-origin:left}.xxl\:origin-top-left{transform-origin:top left}.xxl\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xxl\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xxl\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:scale-x-0{--transform-scale-x:0}.xxl\:scale-x-50{--transform-scale-x:.5}.xxl\:scale-x-75{--transform-scale-x:.75}.xxl\:scale-x-90{--transform-scale-x:.9}.xxl\:scale-x-95{--transform-scale-x:.95}.xxl\:scale-x-100{--transform-scale-x:1}.xxl\:scale-x-105{--transform-scale-x:1.05}.xxl\:scale-x-110{--transform-scale-x:1.1}.xxl\:scale-x-125{--transform-scale-x:1.25}.xxl\:scale-x-150{--transform-scale-x:1.5}.xxl\:scale-y-0{--transform-scale-y:0}.xxl\:scale-y-50{--transform-scale-y:.5}.xxl\:scale-y-75{--transform-scale-y:.75}.xxl\:scale-y-90{--transform-scale-y:.9}.xxl\:scale-y-95{--transform-scale-y:.95}.xxl\:scale-y-100{--transform-scale-y:1}.xxl\:scale-y-105{--transform-scale-y:1.05}.xxl\:scale-y-110{--transform-scale-y:1.1}.xxl\:scale-y-125{--transform-scale-y:1.25}.xxl\:scale-y-150{--transform-scale-y:1.5}.xxl\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xxl\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xxl\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:hover\:scale-x-0:hover{--transform-scale-x:0}.xxl\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xxl\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xxl\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xxl\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xxl\:hover\:scale-x-100:hover{--transform-scale-x:1}.xxl\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xxl\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xxl\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xxl\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xxl\:hover\:scale-y-0:hover{--transform-scale-y:0}.xxl\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xxl\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xxl\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xxl\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xxl\:hover\:scale-y-100:hover{--transform-scale-y:1}.xxl\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xxl\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xxl\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xxl\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xxl\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xxl\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xxl\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:focus\:scale-x-0:focus{--transform-scale-x:0}.xxl\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xxl\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xxl\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xxl\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xxl\:focus\:scale-x-100:focus{--transform-scale-x:1}.xxl\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xxl\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xxl\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xxl\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xxl\:focus\:scale-y-0:focus{--transform-scale-y:0}.xxl\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xxl\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xxl\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xxl\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xxl\:focus\:scale-y-100:focus{--transform-scale-y:1}.xxl\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xxl\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xxl\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xxl\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xxl\:rotate-0{--transform-rotate:0}.xxl\:rotate-1{--transform-rotate:1deg}.xxl\:rotate-2{--transform-rotate:2deg}.xxl\:rotate-3{--transform-rotate:3deg}.xxl\:rotate-6{--transform-rotate:6deg}.xxl\:rotate-12{--transform-rotate:12deg}.xxl\:rotate-45{--transform-rotate:45deg}.xxl\:rotate-90{--transform-rotate:90deg}.xxl\:rotate-180{--transform-rotate:180deg}.xxl\:-rotate-180{--transform-rotate:-180deg}.xxl\:-rotate-90{--transform-rotate:-90deg}.xxl\:-rotate-45{--transform-rotate:-45deg}.xxl\:-rotate-12{--transform-rotate:-12deg}.xxl\:-rotate-6{--transform-rotate:-6deg}.xxl\:-rotate-3{--transform-rotate:-3deg}.xxl\:-rotate-2{--transform-rotate:-2deg}.xxl\:-rotate-1{--transform-rotate:-1deg}.xxl\:hover\:rotate-0:hover{--transform-rotate:0}.xxl\:hover\:rotate-1:hover{--transform-rotate:1deg}.xxl\:hover\:rotate-2:hover{--transform-rotate:2deg}.xxl\:hover\:rotate-3:hover{--transform-rotate:3deg}.xxl\:hover\:rotate-6:hover{--transform-rotate:6deg}.xxl\:hover\:rotate-12:hover{--transform-rotate:12deg}.xxl\:hover\:rotate-45:hover{--transform-rotate:45deg}.xxl\:hover\:rotate-90:hover{--transform-rotate:90deg}.xxl\:hover\:rotate-180:hover{--transform-rotate:180deg}.xxl\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xxl\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xxl\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xxl\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xxl\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xxl\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xxl\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xxl\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xxl\:focus\:rotate-0:focus{--transform-rotate:0}.xxl\:focus\:rotate-1:focus{--transform-rotate:1deg}.xxl\:focus\:rotate-2:focus{--transform-rotate:2deg}.xxl\:focus\:rotate-3:focus{--transform-rotate:3deg}.xxl\:focus\:rotate-6:focus{--transform-rotate:6deg}.xxl\:focus\:rotate-12:focus{--transform-rotate:12deg}.xxl\:focus\:rotate-45:focus{--transform-rotate:45deg}.xxl\:focus\:rotate-90:focus{--transform-rotate:90deg}.xxl\:focus\:rotate-180:focus{--transform-rotate:180deg}.xxl\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xxl\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xxl\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xxl\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xxl\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xxl\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xxl\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xxl\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xxl\:translate-x-0{--transform-translate-x:0}.xxl\:translate-x-1{--transform-translate-x:0.25rem}.xxl\:translate-x-2{--transform-translate-x:0.5rem}.xxl\:translate-x-3{--transform-translate-x:0.75rem}.xxl\:translate-x-4{--transform-translate-x:1rem}.xxl\:translate-x-5{--transform-translate-x:1.25rem}.xxl\:translate-x-6{--transform-translate-x:1.5rem}.xxl\:translate-x-8{--transform-translate-x:2rem}.xxl\:translate-x-10{--transform-translate-x:2.5rem}.xxl\:translate-x-12{--transform-translate-x:3rem}.xxl\:translate-x-16{--transform-translate-x:4rem}.xxl\:translate-x-20{--transform-translate-x:5rem}.xxl\:translate-x-24{--transform-translate-x:6rem}.xxl\:translate-x-32{--transform-translate-x:8rem}.xxl\:translate-x-40{--transform-translate-x:10rem}.xxl\:translate-x-48{--transform-translate-x:12rem}.xxl\:translate-x-56{--transform-translate-x:14rem}.xxl\:translate-x-64{--transform-translate-x:16rem}.xxl\:translate-x-px{--transform-translate-x:1px}.xxl\:-translate-x-1{--transform-translate-x:-0.25rem}.xxl\:-translate-x-2{--transform-translate-x:-0.5rem}.xxl\:-translate-x-3{--transform-translate-x:-0.75rem}.xxl\:-translate-x-4{--transform-translate-x:-1rem}.xxl\:-translate-x-5{--transform-translate-x:-1.25rem}.xxl\:-translate-x-6{--transform-translate-x:-1.5rem}.xxl\:-translate-x-8{--transform-translate-x:-2rem}.xxl\:-translate-x-10{--transform-translate-x:-2.5rem}.xxl\:-translate-x-12{--transform-translate-x:-3rem}.xxl\:-translate-x-16{--transform-translate-x:-4rem}.xxl\:-translate-x-20{--transform-translate-x:-5rem}.xxl\:-translate-x-24{--transform-translate-x:-6rem}.xxl\:-translate-x-32{--transform-translate-x:-8rem}.xxl\:-translate-x-40{--transform-translate-x:-10rem}.xxl\:-translate-x-48{--transform-translate-x:-12rem}.xxl\:-translate-x-56{--transform-translate-x:-14rem}.xxl\:-translate-x-64{--transform-translate-x:-16rem}.xxl\:-translate-x-px{--transform-translate-x:-1px}.xxl\:-translate-x-full{--transform-translate-x:-100%}.xxl\:-translate-x-1\/2{--transform-translate-x:-50%}.xxl\:translate-x-1\/2{--transform-translate-x:50%}.xxl\:translate-x-full{--transform-translate-x:100%}.xxl\:translate-y-0{--transform-translate-y:0}.xxl\:translate-y-1{--transform-translate-y:0.25rem}.xxl\:translate-y-2{--transform-translate-y:0.5rem}.xxl\:translate-y-3{--transform-translate-y:0.75rem}.xxl\:translate-y-4{--transform-translate-y:1rem}.xxl\:translate-y-5{--transform-translate-y:1.25rem}.xxl\:translate-y-6{--transform-translate-y:1.5rem}.xxl\:translate-y-8{--transform-translate-y:2rem}.xxl\:translate-y-10{--transform-translate-y:2.5rem}.xxl\:translate-y-12{--transform-translate-y:3rem}.xxl\:translate-y-16{--transform-translate-y:4rem}.xxl\:translate-y-20{--transform-translate-y:5rem}.xxl\:translate-y-24{--transform-translate-y:6rem}.xxl\:translate-y-32{--transform-translate-y:8rem}.xxl\:translate-y-40{--transform-translate-y:10rem}.xxl\:translate-y-48{--transform-translate-y:12rem}.xxl\:translate-y-56{--transform-translate-y:14rem}.xxl\:translate-y-64{--transform-translate-y:16rem}.xxl\:translate-y-px{--transform-translate-y:1px}.xxl\:-translate-y-1{--transform-translate-y:-0.25rem}.xxl\:-translate-y-2{--transform-translate-y:-0.5rem}.xxl\:-translate-y-3{--transform-translate-y:-0.75rem}.xxl\:-translate-y-4{--transform-translate-y:-1rem}.xxl\:-translate-y-5{--transform-translate-y:-1.25rem}.xxl\:-translate-y-6{--transform-translate-y:-1.5rem}.xxl\:-translate-y-8{--transform-translate-y:-2rem}.xxl\:-translate-y-10{--transform-translate-y:-2.5rem}.xxl\:-translate-y-12{--transform-translate-y:-3rem}.xxl\:-translate-y-16{--transform-translate-y:-4rem}.xxl\:-translate-y-20{--transform-translate-y:-5rem}.xxl\:-translate-y-24{--transform-translate-y:-6rem}.xxl\:-translate-y-32{--transform-translate-y:-8rem}.xxl\:-translate-y-40{--transform-translate-y:-10rem}.xxl\:-translate-y-48{--transform-translate-y:-12rem}.xxl\:-translate-y-56{--transform-translate-y:-14rem}.xxl\:-translate-y-64{--transform-translate-y:-16rem}.xxl\:-translate-y-px{--transform-translate-y:-1px}.xxl\:-translate-y-full{--transform-translate-y:-100%}.xxl\:-translate-y-1\/2{--transform-translate-y:-50%}.xxl\:translate-y-1\/2{--transform-translate-y:50%}.xxl\:translate-y-full{--transform-translate-y:100%}.xxl\:hover\:translate-x-0:hover{--transform-translate-x:0}.xxl\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xxl\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xxl\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xxl\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xxl\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xxl\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xxl\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xxl\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xxl\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xxl\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xxl\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xxl\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xxl\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xxl\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xxl\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xxl\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xxl\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xxl\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xxl\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xxl\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xxl\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xxl\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xxl\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xxl\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xxl\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xxl\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xxl\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xxl\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xxl\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xxl\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xxl\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xxl\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xxl\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xxl\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xxl\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xxl\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xxl\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xxl\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xxl\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xxl\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xxl\:hover\:translate-y-0:hover{--transform-translate-y:0}.xxl\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xxl\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xxl\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xxl\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xxl\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xxl\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xxl\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xxl\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xxl\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xxl\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xxl\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xxl\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xxl\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xxl\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xxl\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xxl\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xxl\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xxl\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xxl\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xxl\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xxl\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xxl\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xxl\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xxl\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xxl\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xxl\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xxl\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xxl\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xxl\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xxl\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xxl\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xxl\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xxl\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xxl\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xxl\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xxl\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xxl\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xxl\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xxl\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xxl\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xxl\:focus\:translate-x-0:focus{--transform-translate-x:0}.xxl\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xxl\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xxl\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xxl\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xxl\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xxl\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xxl\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xxl\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xxl\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xxl\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xxl\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xxl\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xxl\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xxl\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xxl\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xxl\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xxl\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xxl\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xxl\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xxl\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xxl\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xxl\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xxl\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xxl\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xxl\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xxl\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xxl\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xxl\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xxl\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xxl\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xxl\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xxl\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xxl\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xxl\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xxl\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xxl\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xxl\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xxl\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xxl\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xxl\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xxl\:focus\:translate-y-0:focus{--transform-translate-y:0}.xxl\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xxl\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xxl\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xxl\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xxl\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xxl\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xxl\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xxl\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xxl\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xxl\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xxl\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xxl\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xxl\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xxl\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xxl\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xxl\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xxl\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xxl\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xxl\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xxl\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xxl\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xxl\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xxl\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xxl\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xxl\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xxl\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xxl\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xxl\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xxl\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xxl\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xxl\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xxl\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xxl\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xxl\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xxl\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xxl\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xxl\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xxl\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xxl\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xxl\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xxl\:skew-x-0{--transform-skew-x:0}.xxl\:skew-x-1{--transform-skew-x:1deg}.xxl\:skew-x-2{--transform-skew-x:2deg}.xxl\:skew-x-3{--transform-skew-x:3deg}.xxl\:skew-x-6{--transform-skew-x:6deg}.xxl\:skew-x-12{--transform-skew-x:12deg}.xxl\:-skew-x-12{--transform-skew-x:-12deg}.xxl\:-skew-x-6{--transform-skew-x:-6deg}.xxl\:-skew-x-3{--transform-skew-x:-3deg}.xxl\:-skew-x-2{--transform-skew-x:-2deg}.xxl\:-skew-x-1{--transform-skew-x:-1deg}.xxl\:skew-y-0{--transform-skew-y:0}.xxl\:skew-y-1{--transform-skew-y:1deg}.xxl\:skew-y-2{--transform-skew-y:2deg}.xxl\:skew-y-3{--transform-skew-y:3deg}.xxl\:skew-y-6{--transform-skew-y:6deg}.xxl\:skew-y-12{--transform-skew-y:12deg}.xxl\:-skew-y-12{--transform-skew-y:-12deg}.xxl\:-skew-y-6{--transform-skew-y:-6deg}.xxl\:-skew-y-3{--transform-skew-y:-3deg}.xxl\:-skew-y-2{--transform-skew-y:-2deg}.xxl\:-skew-y-1{--transform-skew-y:-1deg}.xxl\:hover\:skew-x-0:hover{--transform-skew-x:0}.xxl\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xxl\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xxl\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xxl\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xxl\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xxl\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xxl\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xxl\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xxl\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xxl\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xxl\:hover\:skew-y-0:hover{--transform-skew-y:0}.xxl\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xxl\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xxl\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xxl\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xxl\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xxl\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xxl\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xxl\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xxl\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xxl\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xxl\:focus\:skew-x-0:focus{--transform-skew-x:0}.xxl\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xxl\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xxl\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xxl\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xxl\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xxl\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xxl\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xxl\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xxl\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xxl\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xxl\:focus\:skew-y-0:focus{--transform-skew-y:0}.xxl\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xxl\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xxl\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xxl\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xxl\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xxl\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xxl\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xxl\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xxl\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xxl\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xxl\:transition-none{transition-property:none}.xxl\:transition-all{transition-property:all}.xxl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xxl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xxl\:transition-opacity{transition-property:opacity}.xxl\:transition-shadow{transition-property:box-shadow}.xxl\:transition-transform{transition-property:transform}.xxl\:ease-linear{transition-timing-function:linear}.xxl\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xxl\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xxl\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xxl\:duration-75{transition-duration:75ms}.xxl\:duration-100{transition-duration:.1s}.xxl\:duration-150{transition-duration:.15s}.xxl\:duration-200{transition-duration:.2s}.xxl\:duration-300{transition-duration:.3s}.xxl\:duration-500{transition-duration:.5s}.xxl\:duration-700{transition-duration:.7s}.xxl\:duration-1000{transition-duration:1s}.xxl\:delay-75{transition-delay:75ms}.xxl\:delay-100{transition-delay:.1s}.xxl\:delay-150{transition-delay:.15s}.xxl\:delay-200{transition-delay:.2s}.xxl\:delay-300{transition-delay:.3s}.xxl\:delay-500{transition-delay:.5s}.xxl\:delay-700{transition-delay:.7s}.xxl\:delay-1000{transition-delay:1s}.xxl\:animate-none{animation:none}.xxl\:animate-spin{animation:spin 1s linear infinite}.xxl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xxl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xxl\:animate-bounce{animation:bounce 1s infinite}}#nprogress{pointer-events:none}#nprogress .bar{background:#00d1ff;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #00d1ff,0 0 5px #00d1ff;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#00d1ff transparent transparent #00d1ff;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.go-to-top[data-v-5fd4ef0c]{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;color:#00d1ff;z-index:1}.go-to-top[data-v-5fd4ef0c]:hover{color:#4ddfff}@media (max-width:959px){.go-to-top[data-v-5fd4ef0c]{display:none}}.fade-enter-active[data-v-5fd4ef0c],.fade-leave-active[data-v-5fd4ef0c]{transition:opacity .3s}.fade-enter[data-v-5fd4ef0c],.fade-leave-to[data-v-5fd4ef0c]{opacity:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.blog-home[data-v-23ea4d9e]{padding:4.6rem 2rem 0;max-width:820px;margin:0 auto}h1[data-v-23ea4d9e]{font-size:3rem;margin:1.8rem auto;text-align:center}ul[data-v-23ea4d9e]{list-style-type:none}.hero-home{background:radial-gradient(70% 70% at 50% 100%,#e8e8e8 0,#fafafa 100%)}.content{padding-top:5rem;padding-bottom:2rem;margin:0 4rem}.smalltext{color:#999;font-size:1rem;letter-spacing:.1rem;font-weight:500}@media (max-width:719px){.content{padding-top:4rem;margin:0 .5rem}}@media (max-width:419px){.content{padding-top:4rem;margin:0 .5rem}}.text-blue{color:#cfe1e6}.bg-orange:hover{background-color:#ffd278}.hero-button:hover{background-color:#e077ff;color:#fff}.product .hero{text-align:center}.product .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.product .hero h1{font-size:3rem}.product .hero .action,.product .hero .description,.product .hero h1{margin:1.8rem auto}.product .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.product .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#00d1ff;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #00bce6}.product .hero .action-button:hover{background-color:#1ad6ff}.blog-home[data-v-f5824a9c]{padding:4.6rem 2rem 0;max-width:820px;margin:0 auto}h1[data-v-f5824a9c]{font-size:3rem;margin:1.8rem auto;text-align:center}ul[data-v-f5824a9c]{list-style-type:none}.jobs-diagram[data-v-64a1ff08]{height:370px;min-width:900px}polygon[data-v-64a1ff08],text[data-v-64a1ff08]{cursor:pointer}.job .hero{text-align:center}.job .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.job .hero h1{font-size:3rem}.job .hero .action,.job .hero .description,.job .hero h1{margin:1.8rem auto}.job .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.job .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#00d1ff;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #00bce6}.job .hero .action-button:hover{background-color:#1ad6ff}.job p{margin:50px 0}.job h2{margin:60px 0 50px}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#00d1ff}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#00d1ff}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#00d1ff}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#00d1ff}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #00d1ff;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#00d1ff}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #14d5ff}}.navbaricon{filter:invert(10%) sepia(66%) saturate(12%) hue-rotate(28deg) brightness(91%) contrast(93%)}.navbaricon:hover{filter:invert(55%) sepia(9%) saturate(3922%) hue-rotate(329deg) brightness(97%) contrast(85%)}.navbar{padding:.7rem 1.5rem;line-height:3.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:3.2rem;min-width:3.2rem;margin-right:.8rem;vertical-align:top;position:relative;z-index:10}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:13.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}ul[data-v-08abc9d6]{list-style-type:none;padding-left:0}li>a[data-v-08abc9d6]:hover{font-weight:600}.page{padding-bottom:2rem;display:block}.hor-line{max-width:740px}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#00d1ff;border-left-color:#00d1ff}.sidebar-heading.clickable:hover{color:#00d1ff}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#00d1ff}a.sidebar-link.active{font-weight:600;color:#00d1ff;border-left-color:#00d1ff}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}li[data-v-69abe1b0]{list-style:none}.footer-bg[data-v-69abe1b0]{background-color:#00d1ff;border-top:1px solid #cfe1e6}li>a[data-v-69abe1b0]{color:#000;font-weight:700;font-size:1rem}li>a[data-v-69abe1b0]:hover{color:#fff}.footer-title[data-v-69abe1b0]{color:#000;font-size:1.1rem;font-weight:700}.footer-items[data-v-69abe1b0]{margin-left:8em}.footer-logo[data-v-69abe1b0]{margin-left:2.5em}.bottom-padding[data-v-69abe1b0]{padding-bottom:1em}.jobs-diagram[data-v-6fc3c561]{height:470px;min-width:1000px}polygon[data-v-6fc3c561],text[data-v-6fc3c561]{cursor:pointer}.gray-section{background-color:#eee}.inner-container{max-width:1200px;margin:0 auto}.inner-container h1{margin-bottom:16px}.inner-container p{font-size:16px;line-height:1.4}.usedby{max-width:900px}#video-section{background-image:url(/img/home/beam.svg);background-size:95% 42%;background-position:50%;background-repeat:no-repeat}.video{margin:auto;max-width:900px;width:100%}.video iframe{top:0;right:0;left:0;bottom:0;margin:auto;max-width:700px;height:400px}.container{margin-left:12px}.card-details{text-align:initial;margin-left:16px}.card-details p{font-size:16px;line-height:1.5;padding:0;margin:12px 0}hr{height:2px;color:#e077ff;background-color:#e077ff;border:none;width:160px}.tooling-card{min-width:14%;justify-content:center}.image-border,.tooling-card{display:flex;align-items:center}.image-border{padding:20px;border:2px solid #e47046;border-radius:50%;background:#eee;min-width:80px;min-height:80px}.image-border img{width:60px;height:60px}.image-border:hover{background-color:#fff}.orange-text{color:#e077ff}h2[data-v-c0ada04e]{width:100%;display:inline-block;border-bottom:none}h2[data-v-c0ada04e],h3[data-v-c0ada04e]{margin-top:-4.1rem;padding-top:5.6rem;margin-bottom:0}ul.timeline{list-style-type:none;position:relative;font-size:120%}ul.timeline:before{content:" ";background:#d4d9df;display:inline-block;position:absolute;left:29px;width:2px;height:100%;z-index:400}ul.timeline>li{margin:20px 0;padding-left:40px}ul.timeline>li:before{content:" ";background:#fff;display:inline-block;position:absolute;border-radius:50%;border:3px solid #000;left:20px;width:20px;height:20px;z-index:400}ul.timeline>li.done:before{background:green}ul.timeline>li.current:before{background:#ff0}.fluer{padding-left:1rem}.flex{justify-content:space-around}.team-core-font[data-v-036cb118]{text-transform:uppercase;font-size:.84em;font-weight:500}.list[data-v-036cb118],ul[data-v-036cb118]{list-style-type:none}div.language-mermaid{background-color:inherit}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983} \ No newline at end of file +code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#00d1ff}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:4.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:4.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:4.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#00d1ff}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-4.1rem;padding-top:5.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:4.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.container{width:100%}@media (min-width:360px){.container{max-width:360px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1480px){.container{max-width:1480px}}.space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.divide-transparent>:not(template)~:not(template){border-color:transparent}.divide-current>:not(template)~:not(template){border-color:currentColor}.divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.divide-solid>:not(template)~:not(template){border-style:solid}.divide-dashed>:not(template)~:not(template){border-style:dashed}.divide-dotted>:not(template)~:not(template){border-style:dotted}.divide-double>:not(template)~:not(template){border-style:double}.divide-none>:not(template)~:not(template){border-style:none}.divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.appearance-none{-webkit-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-clip-border{background-clip:border-box}.bg-clip-padding{background-clip:padding-box}.bg-clip-content{background-clip:content-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-current:hover{background-color:currentColor}.hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-current:focus{background-color:currentColor}.focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.bg-none{background-image:none}.bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.to-transparent{--gradient-to-color:transparent}.to-current{--gradient-to-color:currentColor}.to-black{--gradient-to-color:#000}.to-white{--gradient-to-color:#fff}.to-gray-100{--gradient-to-color:#f7fafc}.to-gray-200{--gradient-to-color:#edf2f7}.to-gray-300{--gradient-to-color:#e2e8f0}.to-gray-400{--gradient-to-color:#cbd5e0}.to-gray-500{--gradient-to-color:#a0aec0}.to-gray-600{--gradient-to-color:#718096}.to-gray-700{--gradient-to-color:#4a5568}.to-gray-800{--gradient-to-color:#2d3748}.to-gray-900{--gradient-to-color:#1a202c}.to-red-100{--gradient-to-color:#fff5f5}.to-red-200{--gradient-to-color:#fed7d7}.to-red-300{--gradient-to-color:#feb2b2}.to-red-400{--gradient-to-color:#fc8181}.to-red-500{--gradient-to-color:#f56565}.to-red-600{--gradient-to-color:#e53e3e}.to-red-700{--gradient-to-color:#c53030}.to-red-800{--gradient-to-color:#9b2c2c}.to-red-900{--gradient-to-color:#742a2a}.to-orange-100{--gradient-to-color:#fffaf0}.to-orange-200{--gradient-to-color:#feebc8}.to-orange-300{--gradient-to-color:#fbd38d}.to-orange-400{--gradient-to-color:#f6ad55}.to-orange-500{--gradient-to-color:#ed8936}.to-orange-600{--gradient-to-color:#dd6b20}.to-orange-700{--gradient-to-color:#c05621}.to-orange-800{--gradient-to-color:#9c4221}.to-orange-900{--gradient-to-color:#7b341e}.to-yellow-100{--gradient-to-color:ivory}.to-yellow-200{--gradient-to-color:#fefcbf}.to-yellow-300{--gradient-to-color:#faf089}.to-yellow-400{--gradient-to-color:#f6e05e}.to-yellow-500{--gradient-to-color:#ecc94b}.to-yellow-600{--gradient-to-color:#d69e2e}.to-yellow-700{--gradient-to-color:#b7791f}.to-yellow-800{--gradient-to-color:#975a16}.to-yellow-900{--gradient-to-color:#744210}.to-green-100{--gradient-to-color:#f0fff4}.to-green-200{--gradient-to-color:#c6f6d5}.to-green-300{--gradient-to-color:#9ae6b4}.to-green-400{--gradient-to-color:#68d391}.to-green-500{--gradient-to-color:#48bb78}.to-green-600{--gradient-to-color:#38a169}.to-green-700{--gradient-to-color:#2f855a}.to-green-800{--gradient-to-color:#276749}.to-green-900{--gradient-to-color:#22543d}.to-teal-100{--gradient-to-color:#e6fffa}.to-teal-200{--gradient-to-color:#b2f5ea}.to-teal-300{--gradient-to-color:#81e6d9}.to-teal-400{--gradient-to-color:#4fd1c5}.to-teal-500{--gradient-to-color:#38b2ac}.to-teal-600{--gradient-to-color:#319795}.to-teal-700{--gradient-to-color:#2c7a7b}.to-teal-800{--gradient-to-color:#285e61}.to-teal-900{--gradient-to-color:#234e52}.to-blue-100{--gradient-to-color:#ebf8ff}.to-blue-200{--gradient-to-color:#bee3f8}.to-blue-300{--gradient-to-color:#90cdf4}.to-blue-400{--gradient-to-color:#63b3ed}.to-blue-500{--gradient-to-color:#4299e1}.to-blue-600{--gradient-to-color:#3182ce}.to-blue-700{--gradient-to-color:#2b6cb0}.to-blue-800{--gradient-to-color:#2c5282}.to-blue-900{--gradient-to-color:#2a4365}.to-indigo-100{--gradient-to-color:#ebf4ff}.to-indigo-200{--gradient-to-color:#c3dafe}.to-indigo-300{--gradient-to-color:#a3bffa}.to-indigo-400{--gradient-to-color:#7f9cf5}.to-indigo-500{--gradient-to-color:#667eea}.to-indigo-600{--gradient-to-color:#5a67d8}.to-indigo-700{--gradient-to-color:#4c51bf}.to-indigo-800{--gradient-to-color:#434190}.to-indigo-900{--gradient-to-color:#3c366b}.to-purple-100{--gradient-to-color:#faf5ff}.to-purple-200{--gradient-to-color:#e9d8fd}.to-purple-300{--gradient-to-color:#d6bcfa}.to-purple-400{--gradient-to-color:#b794f4}.to-purple-500{--gradient-to-color:#9f7aea}.to-purple-600{--gradient-to-color:#805ad5}.to-purple-700{--gradient-to-color:#6b46c1}.to-purple-800{--gradient-to-color:#553c9a}.to-purple-900{--gradient-to-color:#44337a}.to-pink-100{--gradient-to-color:#fff5f7}.to-pink-200{--gradient-to-color:#fed7e2}.to-pink-300{--gradient-to-color:#fbb6ce}.to-pink-400{--gradient-to-color:#f687b3}.to-pink-500{--gradient-to-color:#ed64a6}.to-pink-600{--gradient-to-color:#d53f8c}.to-pink-700{--gradient-to-color:#b83280}.to-pink-800{--gradient-to-color:#97266d}.to-pink-900{--gradient-to-color:#702459}.to-primary{--gradient-to-color:#00d1ff}.to-secondary{--gradient-to-color:#e077ff}.to-greenish-blue{--gradient-to-color:#adffed}.to-blue-gray{--gradient-to-color:#cfe1e6}.hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.hover\:to-transparent:hover{--gradient-to-color:transparent}.hover\:to-current:hover{--gradient-to-color:currentColor}.hover\:to-black:hover{--gradient-to-color:#000}.hover\:to-white:hover{--gradient-to-color:#fff}.hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.hover\:to-gray-600:hover{--gradient-to-color:#718096}.hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.hover\:to-red-400:hover{--gradient-to-color:#fc8181}.hover\:to-red-500:hover{--gradient-to-color:#f56565}.hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.hover\:to-red-700:hover{--gradient-to-color:#c53030}.hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.hover\:to-red-900:hover{--gradient-to-color:#742a2a}.hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.hover\:to-orange-700:hover{--gradient-to-color:#c05621}.hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.hover\:to-yellow-100:hover{--gradient-to-color:ivory}.hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.hover\:to-yellow-900:hover{--gradient-to-color:#744210}.hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.hover\:to-green-400:hover{--gradient-to-color:#68d391}.hover\:to-green-500:hover{--gradient-to-color:#48bb78}.hover\:to-green-600:hover{--gradient-to-color:#38a169}.hover\:to-green-700:hover{--gradient-to-color:#2f855a}.hover\:to-green-800:hover{--gradient-to-color:#276749}.hover\:to-green-900:hover{--gradient-to-color:#22543d}.hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.hover\:to-teal-600:hover{--gradient-to-color:#319795}.hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.hover\:to-teal-800:hover{--gradient-to-color:#285e61}.hover\:to-teal-900:hover{--gradient-to-color:#234e52}.hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.hover\:to-indigo-800:hover{--gradient-to-color:#434190}.hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.hover\:to-purple-900:hover{--gradient-to-color:#44337a}.hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.hover\:to-pink-700:hover{--gradient-to-color:#b83280}.hover\:to-pink-800:hover{--gradient-to-color:#97266d}.hover\:to-pink-900:hover{--gradient-to-color:#702459}.hover\:to-primary:hover{--gradient-to-color:#00d1ff}.hover\:to-secondary:hover{--gradient-to-color:#e077ff}.hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.focus\:to-transparent:focus{--gradient-to-color:transparent}.focus\:to-current:focus{--gradient-to-color:currentColor}.focus\:to-black:focus{--gradient-to-color:#000}.focus\:to-white:focus{--gradient-to-color:#fff}.focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.focus\:to-gray-600:focus{--gradient-to-color:#718096}.focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.focus\:to-red-400:focus{--gradient-to-color:#fc8181}.focus\:to-red-500:focus{--gradient-to-color:#f56565}.focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.focus\:to-red-700:focus{--gradient-to-color:#c53030}.focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.focus\:to-red-900:focus{--gradient-to-color:#742a2a}.focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.focus\:to-orange-700:focus{--gradient-to-color:#c05621}.focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.focus\:to-yellow-100:focus{--gradient-to-color:ivory}.focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.focus\:to-yellow-900:focus{--gradient-to-color:#744210}.focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.focus\:to-green-400:focus{--gradient-to-color:#68d391}.focus\:to-green-500:focus{--gradient-to-color:#48bb78}.focus\:to-green-600:focus{--gradient-to-color:#38a169}.focus\:to-green-700:focus{--gradient-to-color:#2f855a}.focus\:to-green-800:focus{--gradient-to-color:#276749}.focus\:to-green-900:focus{--gradient-to-color:#22543d}.focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.focus\:to-teal-600:focus{--gradient-to-color:#319795}.focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.focus\:to-teal-800:focus{--gradient-to-color:#285e61}.focus\:to-teal-900:focus{--gradient-to-color:#234e52}.focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.focus\:to-indigo-800:focus{--gradient-to-color:#434190}.focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.focus\:to-purple-900:focus{--gradient-to-color:#44337a}.focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.focus\:to-pink-700:focus{--gradient-to-color:#b83280}.focus\:to-pink-800:focus{--gradient-to-color:#97266d}.focus\:to-pink-900:focus{--gradient-to-color:#702459}.focus\:to-primary:focus{--gradient-to-color:#00d1ff}.focus\:to-secondary:focus{--gradient-to-color:#e077ff}.focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.bg-opacity-0{--bg-opacity:0}.bg-opacity-25{--bg-opacity:0.25}.bg-opacity-50{--bg-opacity:0.5}.bg-opacity-75{--bg-opacity:0.75}.bg-opacity-100{--bg-opacity:1}.hover\:bg-opacity-0:hover{--bg-opacity:0}.hover\:bg-opacity-25:hover{--bg-opacity:0.25}.hover\:bg-opacity-50:hover{--bg-opacity:0.5}.hover\:bg-opacity-75:hover{--bg-opacity:0.75}.hover\:bg-opacity-100:hover{--bg-opacity:1}.focus\:bg-opacity-0:focus{--bg-opacity:0}.focus\:bg-opacity-25:focus{--bg-opacity:0.25}.focus\:bg-opacity-50:focus{--bg-opacity:0.5}.focus\:bg-opacity-75:focus{--bg-opacity:0.75}.focus\:bg-opacity-100:focus{--bg-opacity:1}.bg-bottom{background-position:bottom}.bg-center{background-position:50%}.bg-left{background-position:0}.bg-left-bottom{background-position:0 100%}.bg-left-top{background-position:0 0}.bg-right{background-position:100%}.bg-right-bottom{background-position:100% 100%}.bg-right-top{background-position:100% 0}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-repeat-round{background-repeat:round}.bg-repeat-space{background-repeat:space}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-current:hover{border-color:currentColor}.hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-current:focus{border-color:currentColor}.focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.border-opacity-0{--border-opacity:0}.border-opacity-25{--border-opacity:0.25}.border-opacity-50{--border-opacity:0.5}.border-opacity-75{--border-opacity:0.75}.border-opacity-100{--border-opacity:1}.hover\:border-opacity-0:hover{--border-opacity:0}.hover\:border-opacity-25:hover{--border-opacity:0.25}.hover\:border-opacity-50:hover{--border-opacity:0.5}.hover\:border-opacity-75:hover{--border-opacity:0.75}.hover\:border-opacity-100:hover{--border-opacity:1}.focus\:border-opacity-0:focus{--border-opacity:0}.focus\:border-opacity-25:focus{--border-opacity:0.25}.focus\:border-opacity-50:focus{--border-opacity:0.5}.focus\:border-opacity-75:focus{--border-opacity:0.75}.focus\:border-opacity-100:focus{--border-opacity:1}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem}.rounded-r-sm,.rounded-t-sm{border-top-right-radius:.125rem}.rounded-b-sm,.rounded-r-sm{border-bottom-right-radius:.125rem}.rounded-b-sm,.rounded-l-sm{border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem}.rounded-r,.rounded-t{border-top-right-radius:.25rem}.rounded-b,.rounded-r{border-bottom-right-radius:.25rem}.rounded-b,.rounded-l{border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem}.rounded-r-md,.rounded-t-md{border-top-right-radius:.375rem}.rounded-b-md,.rounded-r-md{border-bottom-right-radius:.375rem}.rounded-b-md,.rounded-l-md{border-bottom-left-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem}.rounded-r-xl,.rounded-t-xl{border-top-right-radius:.75rem}.rounded-b-xl,.rounded-r-xl{border-bottom-right-radius:.75rem}.rounded-b-xl,.rounded-l-xl{border-bottom-left-radius:.75rem}.rounded-l-xl{border-top-left-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-r-2xl{border-top-right-radius:1rem}.rounded-b-2xl,.rounded-r-2xl{border-bottom-right-radius:1rem}.rounded-b-2xl,.rounded-l-2xl{border-bottom-left-radius:1rem}.rounded-l-2xl{border-top-left-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem}.rounded-r-3xl,.rounded-t-3xl{border-top-right-radius:1.5rem}.rounded-b-3xl,.rounded-r-3xl{border-bottom-right-radius:1.5rem}.rounded-b-3xl,.rounded-l-3xl{border-bottom-left-radius:1.5rem}.rounded-l-3xl{border-top-left-radius:1.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px}.rounded-b-full,.rounded-r-full{border-bottom-right-radius:9999px}.rounded-b-full,.rounded-l-full{border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-md{border-top-left-radius:.375rem}.rounded-tr-md{border-top-right-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-xl{border-top-left-radius:.75rem}.rounded-tr-xl{border-top-right-radius:.75rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-bl-xl{border-bottom-left-radius:.75rem}.rounded-tl-2xl{border-top-left-radius:1rem}.rounded-tr-2xl{border-top-right-radius:1rem}.rounded-br-2xl{border-bottom-right-radius:1rem}.rounded-bl-2xl{border-bottom-left-radius:1rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.rounded-tr-3xl{border-top-right-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-double{border-style:double}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-no-wrap{flex-wrap:nowrap}.place-items-auto{place-items:auto}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-items-auto{justify-items:auto}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.justify-items-stretch{justify-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow-0{flex-grow:0}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.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}.order-first{order:-9999}.order-last{order:9999}.order-none{order:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.clear-none{clear:none}.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-hairline{font-weight:100}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\:font-hairline:hover{font-weight:100}.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-normal:hover{font-weight:400}.hover\:font-medium:hover{font-weight:500}.hover\:font-semibold:hover{font-weight:600}.hover\:font-bold:hover{font-weight:700}.hover\:font-extrabold:hover{font-weight:800}.hover\:font-black:hover{font-weight:900}.focus\:font-hairline:focus{font-weight:100}.focus\:font-thin:focus{font-weight:200}.focus\:font-light:focus{font-weight:300}.focus\:font-normal:focus{font-weight:400}.focus\:font-medium:focus{font-weight:500}.focus\:font-semibold:focus{font-weight:600}.focus\:font-bold:focus{font-weight:700}.focus\:font-extrabold:focus{font-weight:800}.focus\:font-black:focus{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-48{height:12rem}.h-56{height:14rem}.h-64{height:16rem}.h-auto{height:auto}.h-px{height:1px}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-6xl{font-size:4rem}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-10{margin:2.5rem}.m-12{margin:3rem}.m-16{margin:4rem}.m-20{margin:5rem}.m-24{margin:6rem}.m-32{margin:8rem}.m-40{margin:10rem}.m-48{margin:12rem}.m-56{margin:14rem}.m-64{margin:16rem}.m-auto{margin:auto}.m-px{margin:1px}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-5{margin:-1.25rem}.-m-6{margin:-1.5rem}.-m-8{margin:-2rem}.-m-10{margin:-2.5rem}.-m-12{margin:-3rem}.-m-16{margin:-4rem}.-m-20{margin:-5rem}.-m-24{margin:-6rem}.-m-32{margin:-8rem}.-m-40{margin:-10rem}.-m-48{margin:-12rem}.-m-56{margin:-14rem}.-m-64{margin:-16rem}.-m-px{margin:-1px}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-12{margin-left:3rem;margin-right:3rem}.my-16{margin-top:4rem;margin-bottom:4rem}.mx-16{margin-left:4rem;margin-right:4rem}.my-20{margin-top:5rem;margin-bottom:5rem}.mx-20{margin-left:5rem;margin-right:5rem}.my-24{margin-top:6rem;margin-bottom:6rem}.mx-24{margin-left:6rem;margin-right:6rem}.my-32{margin-top:8rem;margin-bottom:8rem}.mx-32{margin-left:8rem;margin-right:8rem}.my-40{margin-top:10rem;margin-bottom:10rem}.mx-40{margin-left:10rem;margin-right:10rem}.my-48{margin-top:12rem;margin-bottom:12rem}.mx-48{margin-left:12rem;margin-right:12rem}.my-56{margin-top:14rem;margin-bottom:14rem}.mx-56{margin-left:14rem;margin-right:14rem}.my-64{margin-top:16rem;margin-bottom:16rem}.mx-64{margin-left:16rem;margin-right:16rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.-my-12{margin-top:-3rem;margin-bottom:-3rem}.-mx-12{margin-left:-3rem;margin-right:-3rem}.-my-16{margin-top:-4rem;margin-bottom:-4rem}.-mx-16{margin-left:-4rem;margin-right:-4rem}.-my-20{margin-top:-5rem;margin-bottom:-5rem}.-mx-20{margin-left:-5rem;margin-right:-5rem}.-my-24{margin-top:-6rem;margin-bottom:-6rem}.-mx-24{margin-left:-6rem;margin-right:-6rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.-mx-32{margin-left:-8rem;margin-right:-8rem}.-my-40{margin-top:-10rem;margin-bottom:-10rem}.-mx-40{margin-left:-10rem;margin-right:-10rem}.-my-48{margin-top:-12rem;margin-bottom:-12rem}.-mx-48{margin-left:-12rem;margin-right:-12rem}.-my-56{margin-top:-14rem;margin-bottom:-14rem}.-mx-56{margin-left:-14rem;margin-right:-14rem}.-my-64{margin-top:-16rem;margin-bottom:-16rem}.-mx-64{margin-left:-16rem;margin-right:-16rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-10{margin-top:2.5rem}.mr-10{margin-right:2.5rem}.mb-10{margin-bottom:2.5rem}.ml-10{margin-left:2.5rem}.mt-12{margin-top:3rem}.mr-12{margin-right:3rem}.mb-12{margin-bottom:3rem}.ml-12{margin-left:3rem}.mt-16{margin-top:4rem}.mr-16{margin-right:4rem}.mb-16{margin-bottom:4rem}.ml-16{margin-left:4rem}.mt-20{margin-top:5rem}.mr-20{margin-right:5rem}.mb-20{margin-bottom:5rem}.ml-20{margin-left:5rem}.mt-24{margin-top:6rem}.mr-24{margin-right:6rem}.mb-24{margin-bottom:6rem}.ml-24{margin-left:6rem}.mt-32{margin-top:8rem}.mr-32{margin-right:8rem}.mb-32{margin-bottom:8rem}.ml-32{margin-left:8rem}.mt-40{margin-top:10rem}.mr-40{margin-right:10rem}.mb-40{margin-bottom:10rem}.ml-40{margin-left:10rem}.mt-48{margin-top:12rem}.mr-48{margin-right:12rem}.mb-48{margin-bottom:12rem}.ml-48{margin-left:12rem}.mt-56{margin-top:14rem}.mr-56{margin-right:14rem}.mb-56{margin-bottom:14rem}.ml-56{margin-left:14rem}.mt-64{margin-top:16rem}.mr-64{margin-right:16rem}.mb-64{margin-bottom:16rem}.ml-64{margin-left:16rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-1rem}.-mt-5{margin-top:-1.25rem}.-mr-5{margin-right:-1.25rem}.-mb-5{margin-bottom:-1.25rem}.-ml-5{margin-left:-1.25rem}.-mt-6{margin-top:-1.5rem}.-mr-6{margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.-ml-6{margin-left:-1.5rem}.-mt-8{margin-top:-2rem}.-mr-8{margin-right:-2rem}.-mb-8{margin-bottom:-2rem}.-ml-8{margin-left:-2rem}.-mt-10{margin-top:-2.5rem}.-mr-10{margin-right:-2.5rem}.-mb-10{margin-bottom:-2.5rem}.-ml-10{margin-left:-2.5rem}.-mt-12{margin-top:-3rem}.-mr-12{margin-right:-3rem}.-mb-12{margin-bottom:-3rem}.-ml-12{margin-left:-3rem}.-mt-16{margin-top:-4rem}.-mr-16{margin-right:-4rem}.-mb-16{margin-bottom:-4rem}.-ml-16{margin-left:-4rem}.-mt-20{margin-top:-5rem}.-mr-20{margin-right:-5rem}.-mb-20{margin-bottom:-5rem}.-ml-20{margin-left:-5rem}.-mt-24{margin-top:-6rem}.-mr-24{margin-right:-6rem}.-mb-24{margin-bottom:-6rem}.-ml-24{margin-left:-6rem}.-mt-32{margin-top:-8rem}.-mr-32{margin-right:-8rem}.-mb-32{margin-bottom:-8rem}.-ml-32{margin-left:-8rem}.-mt-40{margin-top:-10rem}.-mr-40{margin-right:-10rem}.-mb-40{margin-bottom:-10rem}.-ml-40{margin-left:-10rem}.-mt-48{margin-top:-12rem}.-mr-48{margin-right:-12rem}.-mb-48{margin-bottom:-12rem}.-ml-48{margin-left:-12rem}.-mt-56{margin-top:-14rem}.-mr-56{margin-right:-14rem}.-mb-56{margin-bottom:-14rem}.-ml-56{margin-left:-14rem}.-mt-64{margin-top:-16rem}.-mr-64{margin-right:-16rem}.-mb-64{margin-bottom:-16rem}.-ml-64{margin-left:-16rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-full{max-width:100%}.max-w-screen-xs{max-width:360px}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-xxl{max-width:1480px}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-left{-o-object-position:left;object-position:left}.object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.object-left-top{-o-object-position:left top;object-position:left top}.object-right{-o-object-position:right;object-position:right}.object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.object-right-top{-o-object-position:right top;object-position:right top}.object-top{-o-object-position:top;object-position:top}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.hover\:opacity-0:hover{opacity:0}.hover\:opacity-25:hover{opacity:.25}.hover\:opacity-50:hover{opacity:.5}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-100:hover{opacity:1}.focus\:opacity-0:focus{opacity:0}.focus\:opacity-25:focus{opacity:.25}.focus\:opacity-50:focus{opacity:.5}.focus\:opacity-75:focus{opacity:.75}.focus\:opacity-100:focus{opacity:1}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-white{outline:2px dotted #fff;outline-offset:2px}.outline-black{outline:2px dotted #000;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.overscroll-auto{overscroll-behavior:auto}.overscroll-contain{overscroll-behavior:contain}.overscroll-none{overscroll-behavior:none}.overscroll-y-auto{overscroll-behavior-y:auto}.overscroll-y-contain{overscroll-behavior-y:contain}.overscroll-y-none{overscroll-behavior-y:none}.overscroll-x-auto{overscroll-behavior-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.overscroll-x-none{overscroll-behavior-x:none}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-20{padding:5rem}.p-24{padding:6rem}.p-32{padding:8rem}.p-40{padding:10rem}.p-48{padding:12rem}.p-56{padding:14rem}.p-64{padding:16rem}.p-px{padding:1px}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-12{padding-left:3rem;padding-right:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-16{padding-left:4rem;padding-right:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-20{padding-left:5rem;padding-right:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.px-24{padding-left:6rem;padding-right:6rem}.py-32{padding-top:8rem;padding-bottom:8rem}.px-32{padding-left:8rem;padding-right:8rem}.py-40{padding-top:10rem;padding-bottom:10rem}.px-40{padding-left:10rem;padding-right:10rem}.py-48{padding-top:12rem;padding-bottom:12rem}.px-48{padding-left:12rem;padding-right:12rem}.py-56{padding-top:14rem;padding-bottom:14rem}.px-56{padding-left:14rem;padding-right:14rem}.py-64{padding-top:16rem;padding-bottom:16rem}.px-64{padding-left:16rem;padding-right:16rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pt-12{padding-top:3rem}.pr-12{padding-right:3rem}.pb-12{padding-bottom:3rem}.pl-12{padding-left:3rem}.pt-16{padding-top:4rem}.pr-16{padding-right:4rem}.pb-16{padding-bottom:4rem}.pl-16{padding-left:4rem}.pt-20{padding-top:5rem}.pr-20{padding-right:5rem}.pb-20{padding-bottom:5rem}.pl-20{padding-left:5rem}.pt-24{padding-top:6rem}.pr-24{padding-right:6rem}.pb-24{padding-bottom:6rem}.pl-24{padding-left:6rem}.pt-32{padding-top:8rem}.pr-32{padding-right:8rem}.pb-32{padding-bottom:8rem}.pl-32{padding-left:8rem}.pt-40{padding-top:10rem}.pr-40{padding-right:10rem}.pb-40{padding-bottom:10rem}.pl-40{padding-left:10rem}.pt-48{padding-top:12rem}.pr-48{padding-right:12rem}.pb-48{padding-bottom:12rem}.pl-48{padding-left:12rem}.pt-56{padding-top:14rem}.pr-56{padding-right:14rem}.pb-56{padding-bottom:14rem}.pl-56{padding-left:14rem}.pt-64{padding-top:16rem}.pr-64{padding-right:16rem}.pb-64{padding-bottom:16rem}.pl-64{padding-left:16rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.placeholder-transparent::placeholder{color:transparent}.placeholder-current::placeholder{color:currentColor}.placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.focus\:placeholder-transparent:focus::placeholder{color:transparent}.focus\:placeholder-current:focus::placeholder{color:currentColor}.focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.placeholder-opacity-0::placeholder{--placeholder-opacity:0}.placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.placeholder-opacity-100::placeholder{--placeholder-opacity:1}.focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.inset-y-0{top:0;bottom:0}.inset-x-0{right:0;left:0}.inset-y-auto{top:auto;bottom:auto}.inset-x-auto{right:auto;left:auto}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.shadow-none{box-shadow:none}.hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.hover\:shadow-none:hover{box-shadow:none}.focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.focus\:shadow-none:focus{box-shadow:none}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-0{stroke-width:0}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-transparent{color:transparent}.text-current{color:currentColor}.text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.hover\:text-transparent:hover{color:transparent}.hover\:text-current:hover{color:currentColor}.hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.focus\:text-transparent:focus{color:transparent}.focus\:text-current:focus{color:currentColor}.focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.text-opacity-0{--text-opacity:0}.text-opacity-25{--text-opacity:0.25}.text-opacity-50{--text-opacity:0.5}.text-opacity-75{--text-opacity:0.75}.text-opacity-100{--text-opacity:1}.hover\:text-opacity-0:hover{--text-opacity:0}.hover\:text-opacity-25:hover{--text-opacity:0.25}.hover\:text-opacity-50:hover{--text-opacity:0.5}.hover\:text-opacity-75:hover{--text-opacity:0.75}.hover\:text-opacity-100:hover{--text-opacity:1}.focus\:text-opacity-0:focus{--text-opacity:0}.focus\:text-opacity-25:focus{--text-opacity:0.25}.focus\:text-opacity-50:focus{--text-opacity:0.5}.focus\:text-opacity-75:focus{--text-opacity:0.75}.focus\:text-opacity-100:focus{--text-opacity:1}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.focus\:underline:focus{text-decoration:underline}.focus\:line-through:focus{text-decoration:line-through}.focus\:no-underline:focus{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.diagonal-fractions,.lining-nums,.oldstyle-nums,.ordinal,.proportional-nums,.slashed-zero,.stacked-fractions,.tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.normal-nums{font-variant-numeric:normal}.ordinal{--font-variant-numeric-ordinal:ordinal}.slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.lining-nums{--font-variant-numeric-figure:lining-nums}.oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.proportional-nums{--font-variant-numeric-spacing:proportional-nums}.tabular-nums{--font-variant-numeric-spacing:tabular-nums}.diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.break-words{word-wrap:break-word;overflow-wrap:break-word}.break-all{word-break:break-all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-auto{width:auto}.w-px{width:1px}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-2\/4{width:50%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.666667%}.w-2\/6{width:33.333333%}.w-3\/6{width:50%}.w-4\/6{width:66.666667%}.w-5\/6{width:83.333333%}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3\/12{width:25%}.w-4\/12{width:33.333333%}.w-5\/12{width:41.666667%}.w-6\/12{width:50%}.w-7\/12{width:58.333333%}.w-8\/12{width:66.666667%}.w-9\/12{width:75%}.w-10\/12{width:83.333333%}.w-11\/12{width:91.666667%}.w-full{width:100%}.w-screen{width:100vw}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.gap-0{grid-gap:0;gap:0}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-4{grid-gap:1rem;gap:1rem}.gap-5{grid-gap:1.25rem;gap:1.25rem}.gap-6{grid-gap:1.5rem;gap:1.5rem}.gap-8{grid-gap:2rem;gap:2rem}.gap-10{grid-gap:2.5rem;gap:2.5rem}.gap-12{grid-gap:3rem;gap:3rem}.gap-16{grid-gap:4rem;gap:4rem}.gap-20{grid-gap:5rem;gap:5rem}.gap-24{grid-gap:6rem;gap:6rem}.gap-32{grid-gap:8rem;gap:8rem}.gap-40{grid-gap:10rem;gap:10rem}.gap-48{grid-gap:12rem;gap:12rem}.gap-56{grid-gap:14rem;gap:14rem}.gap-64{grid-gap:16rem;gap:16rem}.gap-px{grid-gap:1px;gap:1px}.col-gap-0{grid-column-gap:0;column-gap:0}.col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.col-gap-4{grid-column-gap:1rem;column-gap:1rem}.col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.col-gap-8{grid-column-gap:2rem;column-gap:2rem}.col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.col-gap-12{grid-column-gap:3rem;column-gap:3rem}.col-gap-16{grid-column-gap:4rem;column-gap:4rem}.col-gap-20{grid-column-gap:5rem;column-gap:5rem}.col-gap-24{grid-column-gap:6rem;column-gap:6rem}.col-gap-32{grid-column-gap:8rem;column-gap:8rem}.col-gap-40{grid-column-gap:10rem;column-gap:10rem}.col-gap-48{grid-column-gap:12rem;column-gap:12rem}.col-gap-56{grid-column-gap:14rem;column-gap:14rem}.col-gap-64{grid-column-gap:16rem;column-gap:16rem}.col-gap-px{grid-column-gap:1px;column-gap:1px}.gap-x-0{grid-column-gap:0;column-gap:0}.gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.gap-x-4{grid-column-gap:1rem;column-gap:1rem}.gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{grid-column-gap:2rem;column-gap:2rem}.gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{grid-column-gap:3rem;column-gap:3rem}.gap-x-16{grid-column-gap:4rem;column-gap:4rem}.gap-x-20{grid-column-gap:5rem;column-gap:5rem}.gap-x-24{grid-column-gap:6rem;column-gap:6rem}.gap-x-32{grid-column-gap:8rem;column-gap:8rem}.gap-x-40{grid-column-gap:10rem;column-gap:10rem}.gap-x-48{grid-column-gap:12rem;column-gap:12rem}.gap-x-56{grid-column-gap:14rem;column-gap:14rem}.gap-x-64{grid-column-gap:16rem;column-gap:16rem}.gap-x-px{grid-column-gap:1px;column-gap:1px}.row-gap-0{grid-row-gap:0;row-gap:0}.row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.row-gap-4{grid-row-gap:1rem;row-gap:1rem}.row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.row-gap-8{grid-row-gap:2rem;row-gap:2rem}.row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.row-gap-12{grid-row-gap:3rem;row-gap:3rem}.row-gap-16{grid-row-gap:4rem;row-gap:4rem}.row-gap-20{grid-row-gap:5rem;row-gap:5rem}.row-gap-24{grid-row-gap:6rem;row-gap:6rem}.row-gap-32{grid-row-gap:8rem;row-gap:8rem}.row-gap-40{grid-row-gap:10rem;row-gap:10rem}.row-gap-48{grid-row-gap:12rem;row-gap:12rem}.row-gap-56{grid-row-gap:14rem;row-gap:14rem}.row-gap-64{grid-row-gap:16rem;row-gap:16rem}.row-gap-px{grid-row-gap:1px;row-gap:1px}.gap-y-0{grid-row-gap:0;row-gap:0}.gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.gap-y-4{grid-row-gap:1rem;row-gap:1rem}.gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.gap-y-8{grid-row-gap:2rem;row-gap:2rem}.gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.gap-y-12{grid-row-gap:3rem;row-gap:3rem}.gap-y-16{grid-row-gap:4rem;row-gap:4rem}.gap-y-20{grid-row-gap:5rem;row-gap:5rem}.gap-y-24{grid-row-gap:6rem;row-gap:6rem}.gap-y-32{grid-row-gap:8rem;row-gap:8rem}.gap-y-40{grid-row-gap:10rem;row-gap:10rem}.gap-y-48{grid-row-gap:12rem;row-gap:12rem}.gap-y-56{grid-row-gap:14rem;row-gap:14rem}.gap-y-64{grid-row-gap:16rem;row-gap:16rem}.gap-y-px{grid-row-gap:1px;row-gap:1px}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.auto-cols-auto{grid-auto-columns:auto}.auto-cols-min{grid-auto-columns:min-content}.auto-cols-max{grid-auto-columns:max-content}.auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.col-auto{grid-column:auto}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}.col-start-10{grid-column-start:10}.col-start-11{grid-column-start:11}.col-start-12{grid-column-start:12}.col-start-13{grid-column-start:13}.col-start-auto{grid-column-start:auto}.col-end-1{grid-column-end:1}.col-end-2{grid-column-end:2}.col-end-3{grid-column-end:3}.col-end-4{grid-column-end:4}.col-end-5{grid-column-end:5}.col-end-6{grid-column-end:6}.col-end-7{grid-column-end:7}.col-end-8{grid-column-end:8}.col-end-9{grid-column-end:9}.col-end-10{grid-column-end:10}.col-end-11{grid-column-end:11}.col-end-12{grid-column-end:12}.col-end-13{grid-column-end:13}.col-end-auto{grid-column-end:auto}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-rows-none{grid-template-rows:none}.auto-rows-auto{grid-auto-rows:auto}.auto-rows-min{grid-auto-rows:min-content}.auto-rows-max{grid-auto-rows:max-content}.auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.row-auto{grid-row:auto}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.row-start-4{grid-row-start:4}.row-start-5{grid-row-start:5}.row-start-6{grid-row-start:6}.row-start-7{grid-row-start:7}.row-start-auto{grid-row-start:auto}.row-end-1{grid-row-end:1}.row-end-2{grid-row-end:2}.row-end-3{grid-row-end:3}.row-end-4{grid-row-end:4}.row-end-5{grid-row-end:5}.row-end-6{grid-row-end:6}.row-end-7{grid-row-end:7}.row-end-auto{grid-row-end:auto}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.transform-none{transform:none}.origin-center{transform-origin:center}.origin-top{transform-origin:top}.origin-top-right{transform-origin:top right}.origin-right{transform-origin:right}.origin-bottom-right{transform-origin:bottom right}.origin-bottom{transform-origin:bottom}.origin-bottom-left{transform-origin:bottom left}.origin-left{transform-origin:left}.origin-top-left{transform-origin:top left}.scale-0{--transform-scale-x:0;--transform-scale-y:0}.scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.scale-x-0{--transform-scale-x:0}.scale-x-50{--transform-scale-x:.5}.scale-x-75{--transform-scale-x:.75}.scale-x-90{--transform-scale-x:.9}.scale-x-95{--transform-scale-x:.95}.scale-x-100{--transform-scale-x:1}.scale-x-105{--transform-scale-x:1.05}.scale-x-110{--transform-scale-x:1.1}.scale-x-125{--transform-scale-x:1.25}.scale-x-150{--transform-scale-x:1.5}.scale-y-0{--transform-scale-y:0}.scale-y-50{--transform-scale-y:.5}.scale-y-75{--transform-scale-y:.75}.scale-y-90{--transform-scale-y:.9}.scale-y-95{--transform-scale-y:.95}.scale-y-100{--transform-scale-y:1}.scale-y-105{--transform-scale-y:1.05}.scale-y-110{--transform-scale-y:1.1}.scale-y-125{--transform-scale-y:1.25}.scale-y-150{--transform-scale-y:1.5}.hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.hover\:scale-x-0:hover{--transform-scale-x:0}.hover\:scale-x-50:hover{--transform-scale-x:.5}.hover\:scale-x-75:hover{--transform-scale-x:.75}.hover\:scale-x-90:hover{--transform-scale-x:.9}.hover\:scale-x-95:hover{--transform-scale-x:.95}.hover\:scale-x-100:hover{--transform-scale-x:1}.hover\:scale-x-105:hover{--transform-scale-x:1.05}.hover\:scale-x-110:hover{--transform-scale-x:1.1}.hover\:scale-x-125:hover{--transform-scale-x:1.25}.hover\:scale-x-150:hover{--transform-scale-x:1.5}.hover\:scale-y-0:hover{--transform-scale-y:0}.hover\:scale-y-50:hover{--transform-scale-y:.5}.hover\:scale-y-75:hover{--transform-scale-y:.75}.hover\:scale-y-90:hover{--transform-scale-y:.9}.hover\:scale-y-95:hover{--transform-scale-y:.95}.hover\:scale-y-100:hover{--transform-scale-y:1}.hover\:scale-y-105:hover{--transform-scale-y:1.05}.hover\:scale-y-110:hover{--transform-scale-y:1.1}.hover\:scale-y-125:hover{--transform-scale-y:1.25}.hover\:scale-y-150:hover{--transform-scale-y:1.5}.focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.focus\:scale-x-0:focus{--transform-scale-x:0}.focus\:scale-x-50:focus{--transform-scale-x:.5}.focus\:scale-x-75:focus{--transform-scale-x:.75}.focus\:scale-x-90:focus{--transform-scale-x:.9}.focus\:scale-x-95:focus{--transform-scale-x:.95}.focus\:scale-x-100:focus{--transform-scale-x:1}.focus\:scale-x-105:focus{--transform-scale-x:1.05}.focus\:scale-x-110:focus{--transform-scale-x:1.1}.focus\:scale-x-125:focus{--transform-scale-x:1.25}.focus\:scale-x-150:focus{--transform-scale-x:1.5}.focus\:scale-y-0:focus{--transform-scale-y:0}.focus\:scale-y-50:focus{--transform-scale-y:.5}.focus\:scale-y-75:focus{--transform-scale-y:.75}.focus\:scale-y-90:focus{--transform-scale-y:.9}.focus\:scale-y-95:focus{--transform-scale-y:.95}.focus\:scale-y-100:focus{--transform-scale-y:1}.focus\:scale-y-105:focus{--transform-scale-y:1.05}.focus\:scale-y-110:focus{--transform-scale-y:1.1}.focus\:scale-y-125:focus{--transform-scale-y:1.25}.focus\:scale-y-150:focus{--transform-scale-y:1.5}.rotate-0{--transform-rotate:0}.rotate-1{--transform-rotate:1deg}.rotate-2{--transform-rotate:2deg}.rotate-3{--transform-rotate:3deg}.rotate-6{--transform-rotate:6deg}.rotate-12{--transform-rotate:12deg}.rotate-45{--transform-rotate:45deg}.rotate-90{--transform-rotate:90deg}.rotate-180{--transform-rotate:180deg}.-rotate-180{--transform-rotate:-180deg}.-rotate-90{--transform-rotate:-90deg}.-rotate-45{--transform-rotate:-45deg}.-rotate-12{--transform-rotate:-12deg}.-rotate-6{--transform-rotate:-6deg}.-rotate-3{--transform-rotate:-3deg}.-rotate-2{--transform-rotate:-2deg}.-rotate-1{--transform-rotate:-1deg}.hover\:rotate-0:hover{--transform-rotate:0}.hover\:rotate-1:hover{--transform-rotate:1deg}.hover\:rotate-2:hover{--transform-rotate:2deg}.hover\:rotate-3:hover{--transform-rotate:3deg}.hover\:rotate-6:hover{--transform-rotate:6deg}.hover\:rotate-12:hover{--transform-rotate:12deg}.hover\:rotate-45:hover{--transform-rotate:45deg}.hover\:rotate-90:hover{--transform-rotate:90deg}.hover\:rotate-180:hover{--transform-rotate:180deg}.hover\:-rotate-180:hover{--transform-rotate:-180deg}.hover\:-rotate-90:hover{--transform-rotate:-90deg}.hover\:-rotate-45:hover{--transform-rotate:-45deg}.hover\:-rotate-12:hover{--transform-rotate:-12deg}.hover\:-rotate-6:hover{--transform-rotate:-6deg}.hover\:-rotate-3:hover{--transform-rotate:-3deg}.hover\:-rotate-2:hover{--transform-rotate:-2deg}.hover\:-rotate-1:hover{--transform-rotate:-1deg}.focus\:rotate-0:focus{--transform-rotate:0}.focus\:rotate-1:focus{--transform-rotate:1deg}.focus\:rotate-2:focus{--transform-rotate:2deg}.focus\:rotate-3:focus{--transform-rotate:3deg}.focus\:rotate-6:focus{--transform-rotate:6deg}.focus\:rotate-12:focus{--transform-rotate:12deg}.focus\:rotate-45:focus{--transform-rotate:45deg}.focus\:rotate-90:focus{--transform-rotate:90deg}.focus\:rotate-180:focus{--transform-rotate:180deg}.focus\:-rotate-180:focus{--transform-rotate:-180deg}.focus\:-rotate-90:focus{--transform-rotate:-90deg}.focus\:-rotate-45:focus{--transform-rotate:-45deg}.focus\:-rotate-12:focus{--transform-rotate:-12deg}.focus\:-rotate-6:focus{--transform-rotate:-6deg}.focus\:-rotate-3:focus{--transform-rotate:-3deg}.focus\:-rotate-2:focus{--transform-rotate:-2deg}.focus\:-rotate-1:focus{--transform-rotate:-1deg}.translate-x-0{--transform-translate-x:0}.translate-x-1{--transform-translate-x:0.25rem}.translate-x-2{--transform-translate-x:0.5rem}.translate-x-3{--transform-translate-x:0.75rem}.translate-x-4{--transform-translate-x:1rem}.translate-x-5{--transform-translate-x:1.25rem}.translate-x-6{--transform-translate-x:1.5rem}.translate-x-8{--transform-translate-x:2rem}.translate-x-10{--transform-translate-x:2.5rem}.translate-x-12{--transform-translate-x:3rem}.translate-x-16{--transform-translate-x:4rem}.translate-x-20{--transform-translate-x:5rem}.translate-x-24{--transform-translate-x:6rem}.translate-x-32{--transform-translate-x:8rem}.translate-x-40{--transform-translate-x:10rem}.translate-x-48{--transform-translate-x:12rem}.translate-x-56{--transform-translate-x:14rem}.translate-x-64{--transform-translate-x:16rem}.translate-x-px{--transform-translate-x:1px}.-translate-x-1{--transform-translate-x:-0.25rem}.-translate-x-2{--transform-translate-x:-0.5rem}.-translate-x-3{--transform-translate-x:-0.75rem}.-translate-x-4{--transform-translate-x:-1rem}.-translate-x-5{--transform-translate-x:-1.25rem}.-translate-x-6{--transform-translate-x:-1.5rem}.-translate-x-8{--transform-translate-x:-2rem}.-translate-x-10{--transform-translate-x:-2.5rem}.-translate-x-12{--transform-translate-x:-3rem}.-translate-x-16{--transform-translate-x:-4rem}.-translate-x-20{--transform-translate-x:-5rem}.-translate-x-24{--transform-translate-x:-6rem}.-translate-x-32{--transform-translate-x:-8rem}.-translate-x-40{--transform-translate-x:-10rem}.-translate-x-48{--transform-translate-x:-12rem}.-translate-x-56{--transform-translate-x:-14rem}.-translate-x-64{--transform-translate-x:-16rem}.-translate-x-px{--transform-translate-x:-1px}.-translate-x-full{--transform-translate-x:-100%}.-translate-x-1\/2{--transform-translate-x:-50%}.translate-x-1\/2{--transform-translate-x:50%}.translate-x-full{--transform-translate-x:100%}.translate-y-0{--transform-translate-y:0}.translate-y-1{--transform-translate-y:0.25rem}.translate-y-2{--transform-translate-y:0.5rem}.translate-y-3{--transform-translate-y:0.75rem}.translate-y-4{--transform-translate-y:1rem}.translate-y-5{--transform-translate-y:1.25rem}.translate-y-6{--transform-translate-y:1.5rem}.translate-y-8{--transform-translate-y:2rem}.translate-y-10{--transform-translate-y:2.5rem}.translate-y-12{--transform-translate-y:3rem}.translate-y-16{--transform-translate-y:4rem}.translate-y-20{--transform-translate-y:5rem}.translate-y-24{--transform-translate-y:6rem}.translate-y-32{--transform-translate-y:8rem}.translate-y-40{--transform-translate-y:10rem}.translate-y-48{--transform-translate-y:12rem}.translate-y-56{--transform-translate-y:14rem}.translate-y-64{--transform-translate-y:16rem}.translate-y-px{--transform-translate-y:1px}.-translate-y-1{--transform-translate-y:-0.25rem}.-translate-y-2{--transform-translate-y:-0.5rem}.-translate-y-3{--transform-translate-y:-0.75rem}.-translate-y-4{--transform-translate-y:-1rem}.-translate-y-5{--transform-translate-y:-1.25rem}.-translate-y-6{--transform-translate-y:-1.5rem}.-translate-y-8{--transform-translate-y:-2rem}.-translate-y-10{--transform-translate-y:-2.5rem}.-translate-y-12{--transform-translate-y:-3rem}.-translate-y-16{--transform-translate-y:-4rem}.-translate-y-20{--transform-translate-y:-5rem}.-translate-y-24{--transform-translate-y:-6rem}.-translate-y-32{--transform-translate-y:-8rem}.-translate-y-40{--transform-translate-y:-10rem}.-translate-y-48{--transform-translate-y:-12rem}.-translate-y-56{--transform-translate-y:-14rem}.-translate-y-64{--transform-translate-y:-16rem}.-translate-y-px{--transform-translate-y:-1px}.-translate-y-full{--transform-translate-y:-100%}.-translate-y-1\/2{--transform-translate-y:-50%}.translate-y-1\/2{--transform-translate-y:50%}.translate-y-full{--transform-translate-y:100%}.hover\:translate-x-0:hover{--transform-translate-x:0}.hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.hover\:translate-x-4:hover{--transform-translate-x:1rem}.hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.hover\:translate-x-8:hover{--transform-translate-x:2rem}.hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.hover\:translate-x-12:hover{--transform-translate-x:3rem}.hover\:translate-x-16:hover{--transform-translate-x:4rem}.hover\:translate-x-20:hover{--transform-translate-x:5rem}.hover\:translate-x-24:hover{--transform-translate-x:6rem}.hover\:translate-x-32:hover{--transform-translate-x:8rem}.hover\:translate-x-40:hover{--transform-translate-x:10rem}.hover\:translate-x-48:hover{--transform-translate-x:12rem}.hover\:translate-x-56:hover{--transform-translate-x:14rem}.hover\:translate-x-64:hover{--transform-translate-x:16rem}.hover\:translate-x-px:hover{--transform-translate-x:1px}.hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.hover\:-translate-x-px:hover{--transform-translate-x:-1px}.hover\:-translate-x-full:hover{--transform-translate-x:-100%}.hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.hover\:translate-x-full:hover{--transform-translate-x:100%}.hover\:translate-y-0:hover{--transform-translate-y:0}.hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.hover\:translate-y-4:hover{--transform-translate-y:1rem}.hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.hover\:translate-y-8:hover{--transform-translate-y:2rem}.hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.hover\:translate-y-12:hover{--transform-translate-y:3rem}.hover\:translate-y-16:hover{--transform-translate-y:4rem}.hover\:translate-y-20:hover{--transform-translate-y:5rem}.hover\:translate-y-24:hover{--transform-translate-y:6rem}.hover\:translate-y-32:hover{--transform-translate-y:8rem}.hover\:translate-y-40:hover{--transform-translate-y:10rem}.hover\:translate-y-48:hover{--transform-translate-y:12rem}.hover\:translate-y-56:hover{--transform-translate-y:14rem}.hover\:translate-y-64:hover{--transform-translate-y:16rem}.hover\:translate-y-px:hover{--transform-translate-y:1px}.hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.hover\:-translate-y-px:hover{--transform-translate-y:-1px}.hover\:-translate-y-full:hover{--transform-translate-y:-100%}.hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.hover\:translate-y-full:hover{--transform-translate-y:100%}.focus\:translate-x-0:focus{--transform-translate-x:0}.focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.focus\:translate-x-4:focus{--transform-translate-x:1rem}.focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.focus\:translate-x-8:focus{--transform-translate-x:2rem}.focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.focus\:translate-x-12:focus{--transform-translate-x:3rem}.focus\:translate-x-16:focus{--transform-translate-x:4rem}.focus\:translate-x-20:focus{--transform-translate-x:5rem}.focus\:translate-x-24:focus{--transform-translate-x:6rem}.focus\:translate-x-32:focus{--transform-translate-x:8rem}.focus\:translate-x-40:focus{--transform-translate-x:10rem}.focus\:translate-x-48:focus{--transform-translate-x:12rem}.focus\:translate-x-56:focus{--transform-translate-x:14rem}.focus\:translate-x-64:focus{--transform-translate-x:16rem}.focus\:translate-x-px:focus{--transform-translate-x:1px}.focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.focus\:-translate-x-px:focus{--transform-translate-x:-1px}.focus\:-translate-x-full:focus{--transform-translate-x:-100%}.focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.focus\:translate-x-full:focus{--transform-translate-x:100%}.focus\:translate-y-0:focus{--transform-translate-y:0}.focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.focus\:translate-y-4:focus{--transform-translate-y:1rem}.focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.focus\:translate-y-8:focus{--transform-translate-y:2rem}.focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.focus\:translate-y-12:focus{--transform-translate-y:3rem}.focus\:translate-y-16:focus{--transform-translate-y:4rem}.focus\:translate-y-20:focus{--transform-translate-y:5rem}.focus\:translate-y-24:focus{--transform-translate-y:6rem}.focus\:translate-y-32:focus{--transform-translate-y:8rem}.focus\:translate-y-40:focus{--transform-translate-y:10rem}.focus\:translate-y-48:focus{--transform-translate-y:12rem}.focus\:translate-y-56:focus{--transform-translate-y:14rem}.focus\:translate-y-64:focus{--transform-translate-y:16rem}.focus\:translate-y-px:focus{--transform-translate-y:1px}.focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.focus\:-translate-y-px:focus{--transform-translate-y:-1px}.focus\:-translate-y-full:focus{--transform-translate-y:-100%}.focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.focus\:translate-y-full:focus{--transform-translate-y:100%}.skew-x-0{--transform-skew-x:0}.skew-x-1{--transform-skew-x:1deg}.skew-x-2{--transform-skew-x:2deg}.skew-x-3{--transform-skew-x:3deg}.skew-x-6{--transform-skew-x:6deg}.skew-x-12{--transform-skew-x:12deg}.-skew-x-12{--transform-skew-x:-12deg}.-skew-x-6{--transform-skew-x:-6deg}.-skew-x-3{--transform-skew-x:-3deg}.-skew-x-2{--transform-skew-x:-2deg}.-skew-x-1{--transform-skew-x:-1deg}.skew-y-0{--transform-skew-y:0}.skew-y-1{--transform-skew-y:1deg}.skew-y-2{--transform-skew-y:2deg}.skew-y-3{--transform-skew-y:3deg}.skew-y-6{--transform-skew-y:6deg}.skew-y-12{--transform-skew-y:12deg}.-skew-y-12{--transform-skew-y:-12deg}.-skew-y-6{--transform-skew-y:-6deg}.-skew-y-3{--transform-skew-y:-3deg}.-skew-y-2{--transform-skew-y:-2deg}.-skew-y-1{--transform-skew-y:-1deg}.hover\:skew-x-0:hover{--transform-skew-x:0}.hover\:skew-x-1:hover{--transform-skew-x:1deg}.hover\:skew-x-2:hover{--transform-skew-x:2deg}.hover\:skew-x-3:hover{--transform-skew-x:3deg}.hover\:skew-x-6:hover{--transform-skew-x:6deg}.hover\:skew-x-12:hover{--transform-skew-x:12deg}.hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.hover\:skew-y-0:hover{--transform-skew-y:0}.hover\:skew-y-1:hover{--transform-skew-y:1deg}.hover\:skew-y-2:hover{--transform-skew-y:2deg}.hover\:skew-y-3:hover{--transform-skew-y:3deg}.hover\:skew-y-6:hover{--transform-skew-y:6deg}.hover\:skew-y-12:hover{--transform-skew-y:12deg}.hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.focus\:skew-x-0:focus{--transform-skew-x:0}.focus\:skew-x-1:focus{--transform-skew-x:1deg}.focus\:skew-x-2:focus{--transform-skew-x:2deg}.focus\:skew-x-3:focus{--transform-skew-x:3deg}.focus\:skew-x-6:focus{--transform-skew-x:6deg}.focus\:skew-x-12:focus{--transform-skew-x:12deg}.focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.focus\:skew-y-0:focus{--transform-skew-y:0}.focus\:skew-y-1:focus{--transform-skew-y:1deg}.focus\:skew-y-2:focus{--transform-skew-y:2deg}.focus\:skew-y-3:focus{--transform-skew-y:3deg}.focus\:skew-y-6:focus{--transform-skew-y:6deg}.focus\:skew-y-12:focus{--transform-skew-y:12deg}.focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.transition-none{transition-property:none}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-colors{transition-property:background-color,border-color,color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-shadow{transition-property:box-shadow}.transition-transform{transition-property:transform}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-1000{transition-duration:1s}.delay-75{transition-delay:75ms}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.delay-1000{transition-delay:1s}@keyframes spin{to{transform:rotate(1turn)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-none{animation:none}.animate-spin{animation:spin 1s linear infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}body{font-family:HK Grotesk,sans-serif;max-width:1920px;margin:0 auto;color:#000}.navbar{border-bottom:1px solid #f8f8f8;color:#000}.navbar .site-name{display:none}.dropdown-wrapper .dropdown-title{pointer-events:none}@media (max-width:720px){.dropdown-wrapper .dropdown-title{pointer-events:auto;outline:none}}.dropdown-wrapper span{color:#000}.theme-default-content:not(.custom){max-width:992px!important}img.logo{padding-left:10px}h1,h2,h3,p>span{font-weight:700;color:#000}.custom-block.tip{background-color:#f3f5f7}.bg-circle-right{position:relative}.bg-circle-right:before{content:"";position:absolute;top:10%;left:60%;transform:translate(-20%);width:30rem;height:30rem;background-color:#00d1ff;border-radius:50%;filter:blur(8.4375rem);-webkit-filter:blur(8.4375rem);mix-blend-mode:darken}.bg-circle-left{position:relative}.bg-circle-left:before{content:"";position:absolute;top:20%;left:40%;transform:translate(-80%);width:30rem;height:30rem;background-color:#e077ff;border-radius:50%;filter:blur(8.4375rem);-webkit-filter:blur(8.4375rem);mix-blend-mode:darken}@media (min-width:360px){.xs\:container{width:100%;max-width:360px}@media (min-width:640px){.xs\:container{max-width:640px}}@media (min-width:768px){.xs\:container{max-width:768px}}@media (min-width:1024px){.xs\:container{max-width:1024px}}@media (min-width:1280px){.xs\:container{max-width:1280px}}@media (min-width:1480px){.xs\:container{max-width:1480px}}.xs\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xs\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xs\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xs\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xs\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xs\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xs\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xs\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xs\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xs\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xs\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xs\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xs\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xs\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xs\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xs\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xs\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xs\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xs\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xs\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xs\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xs\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xs\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xs\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xs\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xs\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xs\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xs\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xs\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xs\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xs\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xs\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xs\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xs\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xs\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xs\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xs\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xs\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xs\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xs\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xs\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xs\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xs\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xs\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xs\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xs\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xs\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xs\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xs\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xs\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xs\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xs\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xs\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xs\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xs\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xs\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xs\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xs\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xs\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xs\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xs\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xs\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xs\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xs\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xs\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xs\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xs\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xs\:divide-current>:not(template)~:not(template){border-color:currentColor}.xs\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xs\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xs\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xs\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xs\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xs\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xs\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xs\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xs\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xs\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xs\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xs\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xs\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xs\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xs\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xs\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xs\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xs\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xs\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xs\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xs\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xs\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xs\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xs\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xs\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xs\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xs\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xs\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xs\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xs\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xs\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xs\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xs\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xs\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xs\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xs\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xs\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xs\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xs\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xs\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xs\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xs\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xs\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xs\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xs\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xs\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xs\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xs\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xs\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xs\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xs\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xs\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xs\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xs\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xs\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xs\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xs\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xs\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xs\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xs\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xs\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xs\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xs\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xs\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xs\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xs\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xs\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xs\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xs\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xs\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xs\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xs\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xs\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xs\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xs\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xs\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xs\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xs\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xs\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xs\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xs\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xs\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xs\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xs\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xs\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xs\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xs\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xs\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xs\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xs\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xs\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xs\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xs\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xs\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xs\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xs\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xs\:divide-solid>:not(template)~:not(template){border-style:solid}.xs\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xs\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xs\:divide-double>:not(template)~:not(template){border-style:double}.xs\:divide-none>:not(template)~:not(template){border-style:none}.xs\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xs\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xs\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xs\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xs\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xs\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xs\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xs\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xs\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xs\:appearance-none{-webkit-appearance:none;appearance:none}.xs\:bg-fixed{background-attachment:fixed}.xs\:bg-local{background-attachment:local}.xs\:bg-scroll{background-attachment:scroll}.xs\:bg-clip-border{background-clip:border-box}.xs\:bg-clip-padding{background-clip:padding-box}.xs\:bg-clip-content{background-clip:content-box}.xs\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xs\:bg-transparent{background-color:transparent}.xs\:bg-current{background-color:currentColor}.xs\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:hover\:bg-transparent:hover{background-color:transparent}.xs\:hover\:bg-current:hover{background-color:currentColor}.xs\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:focus\:bg-transparent:focus{background-color:transparent}.xs\:focus\:bg-current:focus{background-color:currentColor}.xs\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xs\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xs\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xs\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xs\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xs\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xs\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xs\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xs\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xs\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xs\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xs\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xs\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xs\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xs\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xs\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xs\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xs\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xs\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xs\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xs\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xs\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xs\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xs\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xs\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xs\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xs\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xs\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xs\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xs\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xs\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xs\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xs\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xs\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xs\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xs\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xs\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xs\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xs\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xs\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xs\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xs\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xs\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xs\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xs\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xs\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xs\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xs\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xs\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xs\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xs\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xs\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xs\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xs\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xs\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xs\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xs\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xs\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xs\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xs\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xs\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xs\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xs\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xs\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xs\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xs\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xs\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xs\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xs\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xs\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xs\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xs\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xs\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xs\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xs\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xs\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xs\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xs\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xs\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xs\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xs\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xs\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xs\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xs\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xs\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xs\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xs\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xs\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xs\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xs\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xs\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xs\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xs\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xs\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xs\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xs\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xs\:bg-none{background-image:none}.xs\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xs\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xs\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xs\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xs\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xs\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:to-transparent{--gradient-to-color:transparent}.xs\:to-current{--gradient-to-color:currentColor}.xs\:to-black{--gradient-to-color:#000}.xs\:to-white{--gradient-to-color:#fff}.xs\:to-gray-100{--gradient-to-color:#f7fafc}.xs\:to-gray-200{--gradient-to-color:#edf2f7}.xs\:to-gray-300{--gradient-to-color:#e2e8f0}.xs\:to-gray-400{--gradient-to-color:#cbd5e0}.xs\:to-gray-500{--gradient-to-color:#a0aec0}.xs\:to-gray-600{--gradient-to-color:#718096}.xs\:to-gray-700{--gradient-to-color:#4a5568}.xs\:to-gray-800{--gradient-to-color:#2d3748}.xs\:to-gray-900{--gradient-to-color:#1a202c}.xs\:to-red-100{--gradient-to-color:#fff5f5}.xs\:to-red-200{--gradient-to-color:#fed7d7}.xs\:to-red-300{--gradient-to-color:#feb2b2}.xs\:to-red-400{--gradient-to-color:#fc8181}.xs\:to-red-500{--gradient-to-color:#f56565}.xs\:to-red-600{--gradient-to-color:#e53e3e}.xs\:to-red-700{--gradient-to-color:#c53030}.xs\:to-red-800{--gradient-to-color:#9b2c2c}.xs\:to-red-900{--gradient-to-color:#742a2a}.xs\:to-orange-100{--gradient-to-color:#fffaf0}.xs\:to-orange-200{--gradient-to-color:#feebc8}.xs\:to-orange-300{--gradient-to-color:#fbd38d}.xs\:to-orange-400{--gradient-to-color:#f6ad55}.xs\:to-orange-500{--gradient-to-color:#ed8936}.xs\:to-orange-600{--gradient-to-color:#dd6b20}.xs\:to-orange-700{--gradient-to-color:#c05621}.xs\:to-orange-800{--gradient-to-color:#9c4221}.xs\:to-orange-900{--gradient-to-color:#7b341e}.xs\:to-yellow-100{--gradient-to-color:ivory}.xs\:to-yellow-200{--gradient-to-color:#fefcbf}.xs\:to-yellow-300{--gradient-to-color:#faf089}.xs\:to-yellow-400{--gradient-to-color:#f6e05e}.xs\:to-yellow-500{--gradient-to-color:#ecc94b}.xs\:to-yellow-600{--gradient-to-color:#d69e2e}.xs\:to-yellow-700{--gradient-to-color:#b7791f}.xs\:to-yellow-800{--gradient-to-color:#975a16}.xs\:to-yellow-900{--gradient-to-color:#744210}.xs\:to-green-100{--gradient-to-color:#f0fff4}.xs\:to-green-200{--gradient-to-color:#c6f6d5}.xs\:to-green-300{--gradient-to-color:#9ae6b4}.xs\:to-green-400{--gradient-to-color:#68d391}.xs\:to-green-500{--gradient-to-color:#48bb78}.xs\:to-green-600{--gradient-to-color:#38a169}.xs\:to-green-700{--gradient-to-color:#2f855a}.xs\:to-green-800{--gradient-to-color:#276749}.xs\:to-green-900{--gradient-to-color:#22543d}.xs\:to-teal-100{--gradient-to-color:#e6fffa}.xs\:to-teal-200{--gradient-to-color:#b2f5ea}.xs\:to-teal-300{--gradient-to-color:#81e6d9}.xs\:to-teal-400{--gradient-to-color:#4fd1c5}.xs\:to-teal-500{--gradient-to-color:#38b2ac}.xs\:to-teal-600{--gradient-to-color:#319795}.xs\:to-teal-700{--gradient-to-color:#2c7a7b}.xs\:to-teal-800{--gradient-to-color:#285e61}.xs\:to-teal-900{--gradient-to-color:#234e52}.xs\:to-blue-100{--gradient-to-color:#ebf8ff}.xs\:to-blue-200{--gradient-to-color:#bee3f8}.xs\:to-blue-300{--gradient-to-color:#90cdf4}.xs\:to-blue-400{--gradient-to-color:#63b3ed}.xs\:to-blue-500{--gradient-to-color:#4299e1}.xs\:to-blue-600{--gradient-to-color:#3182ce}.xs\:to-blue-700{--gradient-to-color:#2b6cb0}.xs\:to-blue-800{--gradient-to-color:#2c5282}.xs\:to-blue-900{--gradient-to-color:#2a4365}.xs\:to-indigo-100{--gradient-to-color:#ebf4ff}.xs\:to-indigo-200{--gradient-to-color:#c3dafe}.xs\:to-indigo-300{--gradient-to-color:#a3bffa}.xs\:to-indigo-400{--gradient-to-color:#7f9cf5}.xs\:to-indigo-500{--gradient-to-color:#667eea}.xs\:to-indigo-600{--gradient-to-color:#5a67d8}.xs\:to-indigo-700{--gradient-to-color:#4c51bf}.xs\:to-indigo-800{--gradient-to-color:#434190}.xs\:to-indigo-900{--gradient-to-color:#3c366b}.xs\:to-purple-100{--gradient-to-color:#faf5ff}.xs\:to-purple-200{--gradient-to-color:#e9d8fd}.xs\:to-purple-300{--gradient-to-color:#d6bcfa}.xs\:to-purple-400{--gradient-to-color:#b794f4}.xs\:to-purple-500{--gradient-to-color:#9f7aea}.xs\:to-purple-600{--gradient-to-color:#805ad5}.xs\:to-purple-700{--gradient-to-color:#6b46c1}.xs\:to-purple-800{--gradient-to-color:#553c9a}.xs\:to-purple-900{--gradient-to-color:#44337a}.xs\:to-pink-100{--gradient-to-color:#fff5f7}.xs\:to-pink-200{--gradient-to-color:#fed7e2}.xs\:to-pink-300{--gradient-to-color:#fbb6ce}.xs\:to-pink-400{--gradient-to-color:#f687b3}.xs\:to-pink-500{--gradient-to-color:#ed64a6}.xs\:to-pink-600{--gradient-to-color:#d53f8c}.xs\:to-pink-700{--gradient-to-color:#b83280}.xs\:to-pink-800{--gradient-to-color:#97266d}.xs\:to-pink-900{--gradient-to-color:#702459}.xs\:to-primary{--gradient-to-color:#00d1ff}.xs\:to-secondary{--gradient-to-color:#e077ff}.xs\:to-greenish-blue{--gradient-to-color:#adffed}.xs\:to-blue-gray{--gradient-to-color:#cfe1e6}.xs\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xs\:hover\:to-current:hover{--gradient-to-color:currentColor}.xs\:hover\:to-black:hover{--gradient-to-color:#000}.xs\:hover\:to-white:hover{--gradient-to-color:#fff}.xs\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xs\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xs\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xs\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xs\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xs\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xs\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xs\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xs\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xs\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xs\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xs\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xs\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xs\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xs\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xs\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xs\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xs\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xs\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xs\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xs\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xs\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xs\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xs\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xs\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xs\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xs\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xs\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xs\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xs\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xs\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xs\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xs\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xs\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xs\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xs\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xs\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xs\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xs\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xs\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xs\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xs\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xs\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xs\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xs\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xs\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xs\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xs\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xs\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xs\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xs\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xs\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xs\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xs\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xs\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xs\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xs\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xs\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xs\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xs\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xs\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xs\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xs\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xs\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xs\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xs\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xs\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xs\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xs\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xs\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xs\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xs\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xs\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xs\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xs\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xs\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xs\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xs\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xs\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xs\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xs\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xs\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xs\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xs\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xs\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xs\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xs\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xs\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xs\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xs\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xs\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xs\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xs\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xs\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xs\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xs\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xs\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xs\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xs\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xs\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xs\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xs\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xs\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xs\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xs\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xs\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xs\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xs\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xs\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xs\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xs\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xs\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xs\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xs\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xs\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xs\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xs\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xs\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xs\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xs\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xs\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xs\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xs\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xs\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xs\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xs\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xs\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xs\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xs\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xs\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xs\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xs\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xs\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xs\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xs\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xs\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xs\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xs\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xs\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xs\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xs\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xs\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xs\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xs\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xs\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xs\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xs\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xs\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xs\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xs\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xs\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xs\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xs\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xs\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xs\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xs\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xs\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xs\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xs\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xs\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xs\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xs\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xs\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xs\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xs\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xs\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xs\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xs\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xs\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xs\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xs\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xs\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xs\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xs\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xs\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xs\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xs\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xs\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xs\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xs\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xs\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xs\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xs\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xs\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xs\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xs\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xs\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xs\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xs\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xs\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xs\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xs\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xs\:focus\:to-current:focus{--gradient-to-color:currentColor}.xs\:focus\:to-black:focus{--gradient-to-color:#000}.xs\:focus\:to-white:focus{--gradient-to-color:#fff}.xs\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xs\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xs\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xs\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xs\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xs\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xs\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xs\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xs\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xs\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xs\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xs\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xs\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xs\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xs\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xs\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xs\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xs\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xs\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xs\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xs\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xs\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xs\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xs\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xs\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xs\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xs\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xs\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xs\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xs\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xs\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xs\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xs\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xs\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xs\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xs\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xs\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xs\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xs\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xs\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xs\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xs\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xs\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xs\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xs\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xs\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xs\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xs\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xs\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xs\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xs\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xs\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xs\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xs\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xs\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xs\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xs\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xs\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xs\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xs\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xs\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xs\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xs\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xs\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xs\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xs\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xs\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xs\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xs\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xs\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xs\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xs\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xs\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xs\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xs\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xs\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xs\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xs\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xs\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xs\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xs\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xs\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xs\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xs\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xs\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xs\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xs\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xs\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xs\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xs\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xs\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xs\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xs\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xs\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xs\:bg-opacity-0{--bg-opacity:0}.xs\:bg-opacity-25{--bg-opacity:0.25}.xs\:bg-opacity-50{--bg-opacity:0.5}.xs\:bg-opacity-75{--bg-opacity:0.75}.xs\:bg-opacity-100{--bg-opacity:1}.xs\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xs\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xs\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xs\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xs\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xs\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xs\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xs\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xs\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xs\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xs\:bg-bottom{background-position:bottom}.xs\:bg-center{background-position:50%}.xs\:bg-left{background-position:0}.xs\:bg-left-bottom{background-position:0 100%}.xs\:bg-left-top{background-position:0 0}.xs\:bg-right{background-position:100%}.xs\:bg-right-bottom{background-position:100% 100%}.xs\:bg-right-top{background-position:100% 0}.xs\:bg-top{background-position:top}.xs\:bg-repeat{background-repeat:repeat}.xs\:bg-no-repeat{background-repeat:no-repeat}.xs\:bg-repeat-x{background-repeat:repeat-x}.xs\:bg-repeat-y{background-repeat:repeat-y}.xs\:bg-repeat-round{background-repeat:round}.xs\:bg-repeat-space{background-repeat:space}.xs\:bg-auto{background-size:auto}.xs\:bg-cover{background-size:cover}.xs\:bg-contain{background-size:contain}.xs\:border-collapse{border-collapse:collapse}.xs\:border-separate{border-collapse:separate}.xs\:border-transparent{border-color:transparent}.xs\:border-current{border-color:currentColor}.xs\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:hover\:border-transparent:hover{border-color:transparent}.xs\:hover\:border-current:hover{border-color:currentColor}.xs\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:focus\:border-transparent:focus{border-color:transparent}.xs\:focus\:border-current:focus{border-color:currentColor}.xs\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xs\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xs\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xs\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xs\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xs\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xs\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xs\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xs\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xs\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xs\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xs\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xs\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xs\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xs\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xs\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xs\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xs\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xs\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xs\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xs\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xs\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xs\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xs\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xs\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xs\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xs\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xs\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xs\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xs\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xs\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xs\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xs\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xs\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xs\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xs\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xs\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xs\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xs\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xs\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xs\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xs\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xs\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xs\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xs\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xs\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xs\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xs\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xs\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xs\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xs\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xs\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xs\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xs\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xs\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xs\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xs\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xs\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xs\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xs\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xs\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xs\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xs\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xs\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xs\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xs\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xs\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xs\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xs\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xs\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xs\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xs\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xs\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xs\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xs\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xs\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xs\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xs\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xs\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xs\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xs\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xs\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xs\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xs\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xs\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xs\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xs\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xs\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xs\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xs\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xs\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xs\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xs\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xs\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xs\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xs\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xs\:border-opacity-0{--border-opacity:0}.xs\:border-opacity-25{--border-opacity:0.25}.xs\:border-opacity-50{--border-opacity:0.5}.xs\:border-opacity-75{--border-opacity:0.75}.xs\:border-opacity-100{--border-opacity:1}.xs\:hover\:border-opacity-0:hover{--border-opacity:0}.xs\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xs\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xs\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xs\:hover\:border-opacity-100:hover{--border-opacity:1}.xs\:focus\:border-opacity-0:focus{--border-opacity:0}.xs\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xs\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xs\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xs\:focus\:border-opacity-100:focus{--border-opacity:1}.xs\:rounded-none{border-radius:0}.xs\:rounded-sm{border-radius:.125rem}.xs\:rounded{border-radius:.25rem}.xs\:rounded-md{border-radius:.375rem}.xs\:rounded-lg{border-radius:.5rem}.xs\:rounded-xl{border-radius:.75rem}.xs\:rounded-2xl{border-radius:1rem}.xs\:rounded-3xl{border-radius:1.5rem}.xs\:rounded-full{border-radius:9999px}.xs\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xs\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xs\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xs\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xs\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xs\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xs\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xs\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xs\:rounded-t{border-top-left-radius:.25rem}.xs\:rounded-r,.xs\:rounded-t{border-top-right-radius:.25rem}.xs\:rounded-b,.xs\:rounded-r{border-bottom-right-radius:.25rem}.xs\:rounded-b,.xs\:rounded-l{border-bottom-left-radius:.25rem}.xs\:rounded-l{border-top-left-radius:.25rem}.xs\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xs\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xs\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xs\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xs\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xs\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xs\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xs\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xs\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xs\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xs\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xs\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xs\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xs\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xs\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xs\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xs\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xs\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xs\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xs\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xs\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xs\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xs\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xs\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xs\:rounded-tl-none{border-top-left-radius:0}.xs\:rounded-tr-none{border-top-right-radius:0}.xs\:rounded-br-none{border-bottom-right-radius:0}.xs\:rounded-bl-none{border-bottom-left-radius:0}.xs\:rounded-tl-sm{border-top-left-radius:.125rem}.xs\:rounded-tr-sm{border-top-right-radius:.125rem}.xs\:rounded-br-sm{border-bottom-right-radius:.125rem}.xs\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xs\:rounded-tl{border-top-left-radius:.25rem}.xs\:rounded-tr{border-top-right-radius:.25rem}.xs\:rounded-br{border-bottom-right-radius:.25rem}.xs\:rounded-bl{border-bottom-left-radius:.25rem}.xs\:rounded-tl-md{border-top-left-radius:.375rem}.xs\:rounded-tr-md{border-top-right-radius:.375rem}.xs\:rounded-br-md{border-bottom-right-radius:.375rem}.xs\:rounded-bl-md{border-bottom-left-radius:.375rem}.xs\:rounded-tl-lg{border-top-left-radius:.5rem}.xs\:rounded-tr-lg{border-top-right-radius:.5rem}.xs\:rounded-br-lg{border-bottom-right-radius:.5rem}.xs\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xs\:rounded-tl-xl{border-top-left-radius:.75rem}.xs\:rounded-tr-xl{border-top-right-radius:.75rem}.xs\:rounded-br-xl{border-bottom-right-radius:.75rem}.xs\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xs\:rounded-tl-2xl{border-top-left-radius:1rem}.xs\:rounded-tr-2xl{border-top-right-radius:1rem}.xs\:rounded-br-2xl{border-bottom-right-radius:1rem}.xs\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xs\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xs\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xs\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xs\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xs\:rounded-tl-full{border-top-left-radius:9999px}.xs\:rounded-tr-full{border-top-right-radius:9999px}.xs\:rounded-br-full{border-bottom-right-radius:9999px}.xs\:rounded-bl-full{border-bottom-left-radius:9999px}.xs\:border-solid{border-style:solid}.xs\:border-dashed{border-style:dashed}.xs\:border-dotted{border-style:dotted}.xs\:border-double{border-style:double}.xs\:border-none{border-style:none}.xs\:border-0{border-width:0}.xs\:border-2{border-width:2px}.xs\:border-4{border-width:4px}.xs\:border-8{border-width:8px}.xs\:border{border-width:1px}.xs\:border-t-0{border-top-width:0}.xs\:border-r-0{border-right-width:0}.xs\:border-b-0{border-bottom-width:0}.xs\:border-l-0{border-left-width:0}.xs\:border-t-2{border-top-width:2px}.xs\:border-r-2{border-right-width:2px}.xs\:border-b-2{border-bottom-width:2px}.xs\:border-l-2{border-left-width:2px}.xs\:border-t-4{border-top-width:4px}.xs\:border-r-4{border-right-width:4px}.xs\:border-b-4{border-bottom-width:4px}.xs\:border-l-4{border-left-width:4px}.xs\:border-t-8{border-top-width:8px}.xs\:border-r-8{border-right-width:8px}.xs\:border-b-8{border-bottom-width:8px}.xs\:border-l-8{border-left-width:8px}.xs\:border-t{border-top-width:1px}.xs\:border-r{border-right-width:1px}.xs\:border-b{border-bottom-width:1px}.xs\:border-l{border-left-width:1px}.xs\:box-border{box-sizing:border-box}.xs\:box-content{box-sizing:content-box}.xs\:cursor-auto{cursor:auto}.xs\:cursor-default{cursor:default}.xs\:cursor-pointer{cursor:pointer}.xs\:cursor-wait{cursor:wait}.xs\:cursor-text{cursor:text}.xs\:cursor-move{cursor:move}.xs\:cursor-not-allowed{cursor:not-allowed}.xs\:block{display:block}.xs\:inline-block{display:inline-block}.xs\:inline{display:inline}.xs\:flex{display:flex}.xs\:inline-flex{display:inline-flex}.xs\:table{display:table}.xs\:table-caption{display:table-caption}.xs\:table-cell{display:table-cell}.xs\:table-column{display:table-column}.xs\:table-column-group{display:table-column-group}.xs\:table-footer-group{display:table-footer-group}.xs\:table-header-group{display:table-header-group}.xs\:table-row-group{display:table-row-group}.xs\:table-row{display:table-row}.xs\:flow-root{display:flow-root}.xs\:grid{display:grid}.xs\:inline-grid{display:inline-grid}.xs\:contents{display:contents}.xs\:hidden{display:none}.xs\:flex-row{flex-direction:row}.xs\:flex-row-reverse{flex-direction:row-reverse}.xs\:flex-col{flex-direction:column}.xs\:flex-col-reverse{flex-direction:column-reverse}.xs\:flex-wrap{flex-wrap:wrap}.xs\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xs\:flex-no-wrap{flex-wrap:nowrap}.xs\:place-items-auto{place-items:auto}.xs\:place-items-start{place-items:start}.xs\:place-items-end{place-items:end}.xs\:place-items-center{place-items:center}.xs\:place-items-stretch{place-items:stretch}.xs\:place-content-center{place-content:center}.xs\:place-content-start{place-content:start}.xs\:place-content-end{place-content:end}.xs\:place-content-between{place-content:space-between}.xs\:place-content-around{place-content:space-around}.xs\:place-content-evenly{place-content:space-evenly}.xs\:place-content-stretch{place-content:stretch}.xs\:place-self-auto{place-self:auto}.xs\:place-self-start{place-self:start}.xs\:place-self-end{place-self:end}.xs\:place-self-center{place-self:center}.xs\:place-self-stretch{place-self:stretch}.xs\:items-start{align-items:flex-start}.xs\:items-end{align-items:flex-end}.xs\:items-center{align-items:center}.xs\:items-baseline{align-items:baseline}.xs\:items-stretch{align-items:stretch}.xs\:content-center{align-content:center}.xs\:content-start{align-content:flex-start}.xs\:content-end{align-content:flex-end}.xs\:content-between{align-content:space-between}.xs\:content-around{align-content:space-around}.xs\:content-evenly{align-content:space-evenly}.xs\:self-auto{align-self:auto}.xs\:self-start{align-self:flex-start}.xs\:self-end{align-self:flex-end}.xs\:self-center{align-self:center}.xs\:self-stretch{align-self:stretch}.xs\:justify-items-auto{justify-items:auto}.xs\:justify-items-start{justify-items:start}.xs\:justify-items-end{justify-items:end}.xs\:justify-items-center{justify-items:center}.xs\:justify-items-stretch{justify-items:stretch}.xs\:justify-start{justify-content:flex-start}.xs\:justify-end{justify-content:flex-end}.xs\:justify-center{justify-content:center}.xs\:justify-between{justify-content:space-between}.xs\:justify-around{justify-content:space-around}.xs\:justify-evenly{justify-content:space-evenly}.xs\:justify-self-auto{justify-self:auto}.xs\:justify-self-start{justify-self:start}.xs\:justify-self-end{justify-self:end}.xs\:justify-self-center{justify-self:center}.xs\:justify-self-stretch{justify-self:stretch}.xs\:flex-1{flex:1 1 0%}.xs\:flex-auto{flex:1 1 auto}.xs\:flex-initial{flex:0 1 auto}.xs\:flex-none{flex:none}.xs\:flex-grow-0{flex-grow:0}.xs\:flex-grow{flex-grow:1}.xs\:flex-shrink-0{flex-shrink:0}.xs\:flex-shrink{flex-shrink:1}.xs\:order-1{order:1}.xs\:order-2{order:2}.xs\:order-3{order:3}.xs\:order-4{order:4}.xs\:order-5{order:5}.xs\:order-6{order:6}.xs\:order-7{order:7}.xs\:order-8{order:8}.xs\:order-9{order:9}.xs\:order-10{order:10}.xs\:order-11{order:11}.xs\:order-12{order:12}.xs\:order-first{order:-9999}.xs\:order-last{order:9999}.xs\:order-none{order:0}.xs\:float-right{float:right}.xs\:float-left{float:left}.xs\:float-none{float:none}.xs\:clearfix:after{content:"";display:table;clear:both}.xs\:clear-left{clear:left}.xs\:clear-right{clear:right}.xs\:clear-both{clear:both}.xs\:clear-none{clear:none}.xs\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xs\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xs\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xs\:font-hairline{font-weight:100}.xs\:font-thin{font-weight:200}.xs\:font-light{font-weight:300}.xs\:font-normal{font-weight:400}.xs\:font-medium{font-weight:500}.xs\:font-semibold{font-weight:600}.xs\:font-bold{font-weight:700}.xs\:font-extrabold{font-weight:800}.xs\:font-black{font-weight:900}.xs\:hover\:font-hairline:hover{font-weight:100}.xs\:hover\:font-thin:hover{font-weight:200}.xs\:hover\:font-light:hover{font-weight:300}.xs\:hover\:font-normal:hover{font-weight:400}.xs\:hover\:font-medium:hover{font-weight:500}.xs\:hover\:font-semibold:hover{font-weight:600}.xs\:hover\:font-bold:hover{font-weight:700}.xs\:hover\:font-extrabold:hover{font-weight:800}.xs\:hover\:font-black:hover{font-weight:900}.xs\:focus\:font-hairline:focus{font-weight:100}.xs\:focus\:font-thin:focus{font-weight:200}.xs\:focus\:font-light:focus{font-weight:300}.xs\:focus\:font-normal:focus{font-weight:400}.xs\:focus\:font-medium:focus{font-weight:500}.xs\:focus\:font-semibold:focus{font-weight:600}.xs\:focus\:font-bold:focus{font-weight:700}.xs\:focus\:font-extrabold:focus{font-weight:800}.xs\:focus\:font-black:focus{font-weight:900}.xs\:h-0{height:0}.xs\:h-1{height:.25rem}.xs\:h-2{height:.5rem}.xs\:h-3{height:.75rem}.xs\:h-4{height:1rem}.xs\:h-5{height:1.25rem}.xs\:h-6{height:1.5rem}.xs\:h-8{height:2rem}.xs\:h-10{height:2.5rem}.xs\:h-12{height:3rem}.xs\:h-16{height:4rem}.xs\:h-20{height:5rem}.xs\:h-24{height:6rem}.xs\:h-32{height:8rem}.xs\:h-40{height:10rem}.xs\:h-48{height:12rem}.xs\:h-56{height:14rem}.xs\:h-64{height:16rem}.xs\:h-auto{height:auto}.xs\:h-px{height:1px}.xs\:h-full{height:100%}.xs\:h-screen{height:100vh}.xs\:text-xs{font-size:.75rem}.xs\:text-sm{font-size:.875rem}.xs\:text-base{font-size:1rem}.xs\:text-lg{font-size:1.125rem}.xs\:text-xl{font-size:1.25rem}.xs\:text-2xl{font-size:1.5rem}.xs\:text-3xl{font-size:1.875rem}.xs\:text-4xl{font-size:2.25rem}.xs\:text-5xl{font-size:3rem}.xs\:text-6xl{font-size:4rem}.xs\:leading-3{line-height:.75rem}.xs\:leading-4{line-height:1rem}.xs\:leading-5{line-height:1.25rem}.xs\:leading-6{line-height:1.5rem}.xs\:leading-7{line-height:1.75rem}.xs\:leading-8{line-height:2rem}.xs\:leading-9{line-height:2.25rem}.xs\:leading-10{line-height:2.5rem}.xs\:leading-none{line-height:1}.xs\:leading-tight{line-height:1.25}.xs\:leading-snug{line-height:1.375}.xs\:leading-normal{line-height:1.5}.xs\:leading-relaxed{line-height:1.625}.xs\:leading-loose{line-height:2}.xs\:list-inside{list-style-position:inside}.xs\:list-outside{list-style-position:outside}.xs\:list-none{list-style-type:none}.xs\:list-disc{list-style-type:disc}.xs\:list-decimal{list-style-type:decimal}.xs\:m-0{margin:0}.xs\:m-1{margin:.25rem}.xs\:m-2{margin:.5rem}.xs\:m-3{margin:.75rem}.xs\:m-4{margin:1rem}.xs\:m-5{margin:1.25rem}.xs\:m-6{margin:1.5rem}.xs\:m-8{margin:2rem}.xs\:m-10{margin:2.5rem}.xs\:m-12{margin:3rem}.xs\:m-16{margin:4rem}.xs\:m-20{margin:5rem}.xs\:m-24{margin:6rem}.xs\:m-32{margin:8rem}.xs\:m-40{margin:10rem}.xs\:m-48{margin:12rem}.xs\:m-56{margin:14rem}.xs\:m-64{margin:16rem}.xs\:m-auto{margin:auto}.xs\:m-px{margin:1px}.xs\:-m-1{margin:-.25rem}.xs\:-m-2{margin:-.5rem}.xs\:-m-3{margin:-.75rem}.xs\:-m-4{margin:-1rem}.xs\:-m-5{margin:-1.25rem}.xs\:-m-6{margin:-1.5rem}.xs\:-m-8{margin:-2rem}.xs\:-m-10{margin:-2.5rem}.xs\:-m-12{margin:-3rem}.xs\:-m-16{margin:-4rem}.xs\:-m-20{margin:-5rem}.xs\:-m-24{margin:-6rem}.xs\:-m-32{margin:-8rem}.xs\:-m-40{margin:-10rem}.xs\:-m-48{margin:-12rem}.xs\:-m-56{margin:-14rem}.xs\:-m-64{margin:-16rem}.xs\:-m-px{margin:-1px}.xs\:my-0{margin-top:0;margin-bottom:0}.xs\:mx-0{margin-left:0;margin-right:0}.xs\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xs\:mx-1{margin-left:.25rem;margin-right:.25rem}.xs\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xs\:mx-2{margin-left:.5rem;margin-right:.5rem}.xs\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xs\:mx-3{margin-left:.75rem;margin-right:.75rem}.xs\:my-4{margin-top:1rem;margin-bottom:1rem}.xs\:mx-4{margin-left:1rem;margin-right:1rem}.xs\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xs\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xs\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xs\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xs\:my-8{margin-top:2rem;margin-bottom:2rem}.xs\:mx-8{margin-left:2rem;margin-right:2rem}.xs\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xs\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xs\:my-12{margin-top:3rem;margin-bottom:3rem}.xs\:mx-12{margin-left:3rem;margin-right:3rem}.xs\:my-16{margin-top:4rem;margin-bottom:4rem}.xs\:mx-16{margin-left:4rem;margin-right:4rem}.xs\:my-20{margin-top:5rem;margin-bottom:5rem}.xs\:mx-20{margin-left:5rem;margin-right:5rem}.xs\:my-24{margin-top:6rem;margin-bottom:6rem}.xs\:mx-24{margin-left:6rem;margin-right:6rem}.xs\:my-32{margin-top:8rem;margin-bottom:8rem}.xs\:mx-32{margin-left:8rem;margin-right:8rem}.xs\:my-40{margin-top:10rem;margin-bottom:10rem}.xs\:mx-40{margin-left:10rem;margin-right:10rem}.xs\:my-48{margin-top:12rem;margin-bottom:12rem}.xs\:mx-48{margin-left:12rem;margin-right:12rem}.xs\:my-56{margin-top:14rem;margin-bottom:14rem}.xs\:mx-56{margin-left:14rem;margin-right:14rem}.xs\:my-64{margin-top:16rem;margin-bottom:16rem}.xs\:mx-64{margin-left:16rem;margin-right:16rem}.xs\:my-auto{margin-top:auto;margin-bottom:auto}.xs\:mx-auto{margin-left:auto;margin-right:auto}.xs\:my-px{margin-top:1px;margin-bottom:1px}.xs\:mx-px{margin-left:1px;margin-right:1px}.xs\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xs\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xs\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xs\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xs\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xs\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xs\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xs\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xs\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xs\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xs\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xs\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xs\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xs\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xs\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xs\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xs\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xs\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xs\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xs\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xs\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xs\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xs\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xs\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xs\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xs\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xs\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xs\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xs\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xs\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xs\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xs\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xs\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xs\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xs\:-my-px{margin-top:-1px;margin-bottom:-1px}.xs\:-mx-px{margin-left:-1px;margin-right:-1px}.xs\:mt-0{margin-top:0}.xs\:mr-0{margin-right:0}.xs\:mb-0{margin-bottom:0}.xs\:ml-0{margin-left:0}.xs\:mt-1{margin-top:.25rem}.xs\:mr-1{margin-right:.25rem}.xs\:mb-1{margin-bottom:.25rem}.xs\:ml-1{margin-left:.25rem}.xs\:mt-2{margin-top:.5rem}.xs\:mr-2{margin-right:.5rem}.xs\:mb-2{margin-bottom:.5rem}.xs\:ml-2{margin-left:.5rem}.xs\:mt-3{margin-top:.75rem}.xs\:mr-3{margin-right:.75rem}.xs\:mb-3{margin-bottom:.75rem}.xs\:ml-3{margin-left:.75rem}.xs\:mt-4{margin-top:1rem}.xs\:mr-4{margin-right:1rem}.xs\:mb-4{margin-bottom:1rem}.xs\:ml-4{margin-left:1rem}.xs\:mt-5{margin-top:1.25rem}.xs\:mr-5{margin-right:1.25rem}.xs\:mb-5{margin-bottom:1.25rem}.xs\:ml-5{margin-left:1.25rem}.xs\:mt-6{margin-top:1.5rem}.xs\:mr-6{margin-right:1.5rem}.xs\:mb-6{margin-bottom:1.5rem}.xs\:ml-6{margin-left:1.5rem}.xs\:mt-8{margin-top:2rem}.xs\:mr-8{margin-right:2rem}.xs\:mb-8{margin-bottom:2rem}.xs\:ml-8{margin-left:2rem}.xs\:mt-10{margin-top:2.5rem}.xs\:mr-10{margin-right:2.5rem}.xs\:mb-10{margin-bottom:2.5rem}.xs\:ml-10{margin-left:2.5rem}.xs\:mt-12{margin-top:3rem}.xs\:mr-12{margin-right:3rem}.xs\:mb-12{margin-bottom:3rem}.xs\:ml-12{margin-left:3rem}.xs\:mt-16{margin-top:4rem}.xs\:mr-16{margin-right:4rem}.xs\:mb-16{margin-bottom:4rem}.xs\:ml-16{margin-left:4rem}.xs\:mt-20{margin-top:5rem}.xs\:mr-20{margin-right:5rem}.xs\:mb-20{margin-bottom:5rem}.xs\:ml-20{margin-left:5rem}.xs\:mt-24{margin-top:6rem}.xs\:mr-24{margin-right:6rem}.xs\:mb-24{margin-bottom:6rem}.xs\:ml-24{margin-left:6rem}.xs\:mt-32{margin-top:8rem}.xs\:mr-32{margin-right:8rem}.xs\:mb-32{margin-bottom:8rem}.xs\:ml-32{margin-left:8rem}.xs\:mt-40{margin-top:10rem}.xs\:mr-40{margin-right:10rem}.xs\:mb-40{margin-bottom:10rem}.xs\:ml-40{margin-left:10rem}.xs\:mt-48{margin-top:12rem}.xs\:mr-48{margin-right:12rem}.xs\:mb-48{margin-bottom:12rem}.xs\:ml-48{margin-left:12rem}.xs\:mt-56{margin-top:14rem}.xs\:mr-56{margin-right:14rem}.xs\:mb-56{margin-bottom:14rem}.xs\:ml-56{margin-left:14rem}.xs\:mt-64{margin-top:16rem}.xs\:mr-64{margin-right:16rem}.xs\:mb-64{margin-bottom:16rem}.xs\:ml-64{margin-left:16rem}.xs\:mt-auto{margin-top:auto}.xs\:mr-auto{margin-right:auto}.xs\:mb-auto{margin-bottom:auto}.xs\:ml-auto{margin-left:auto}.xs\:mt-px{margin-top:1px}.xs\:mr-px{margin-right:1px}.xs\:mb-px{margin-bottom:1px}.xs\:ml-px{margin-left:1px}.xs\:-mt-1{margin-top:-.25rem}.xs\:-mr-1{margin-right:-.25rem}.xs\:-mb-1{margin-bottom:-.25rem}.xs\:-ml-1{margin-left:-.25rem}.xs\:-mt-2{margin-top:-.5rem}.xs\:-mr-2{margin-right:-.5rem}.xs\:-mb-2{margin-bottom:-.5rem}.xs\:-ml-2{margin-left:-.5rem}.xs\:-mt-3{margin-top:-.75rem}.xs\:-mr-3{margin-right:-.75rem}.xs\:-mb-3{margin-bottom:-.75rem}.xs\:-ml-3{margin-left:-.75rem}.xs\:-mt-4{margin-top:-1rem}.xs\:-mr-4{margin-right:-1rem}.xs\:-mb-4{margin-bottom:-1rem}.xs\:-ml-4{margin-left:-1rem}.xs\:-mt-5{margin-top:-1.25rem}.xs\:-mr-5{margin-right:-1.25rem}.xs\:-mb-5{margin-bottom:-1.25rem}.xs\:-ml-5{margin-left:-1.25rem}.xs\:-mt-6{margin-top:-1.5rem}.xs\:-mr-6{margin-right:-1.5rem}.xs\:-mb-6{margin-bottom:-1.5rem}.xs\:-ml-6{margin-left:-1.5rem}.xs\:-mt-8{margin-top:-2rem}.xs\:-mr-8{margin-right:-2rem}.xs\:-mb-8{margin-bottom:-2rem}.xs\:-ml-8{margin-left:-2rem}.xs\:-mt-10{margin-top:-2.5rem}.xs\:-mr-10{margin-right:-2.5rem}.xs\:-mb-10{margin-bottom:-2.5rem}.xs\:-ml-10{margin-left:-2.5rem}.xs\:-mt-12{margin-top:-3rem}.xs\:-mr-12{margin-right:-3rem}.xs\:-mb-12{margin-bottom:-3rem}.xs\:-ml-12{margin-left:-3rem}.xs\:-mt-16{margin-top:-4rem}.xs\:-mr-16{margin-right:-4rem}.xs\:-mb-16{margin-bottom:-4rem}.xs\:-ml-16{margin-left:-4rem}.xs\:-mt-20{margin-top:-5rem}.xs\:-mr-20{margin-right:-5rem}.xs\:-mb-20{margin-bottom:-5rem}.xs\:-ml-20{margin-left:-5rem}.xs\:-mt-24{margin-top:-6rem}.xs\:-mr-24{margin-right:-6rem}.xs\:-mb-24{margin-bottom:-6rem}.xs\:-ml-24{margin-left:-6rem}.xs\:-mt-32{margin-top:-8rem}.xs\:-mr-32{margin-right:-8rem}.xs\:-mb-32{margin-bottom:-8rem}.xs\:-ml-32{margin-left:-8rem}.xs\:-mt-40{margin-top:-10rem}.xs\:-mr-40{margin-right:-10rem}.xs\:-mb-40{margin-bottom:-10rem}.xs\:-ml-40{margin-left:-10rem}.xs\:-mt-48{margin-top:-12rem}.xs\:-mr-48{margin-right:-12rem}.xs\:-mb-48{margin-bottom:-12rem}.xs\:-ml-48{margin-left:-12rem}.xs\:-mt-56{margin-top:-14rem}.xs\:-mr-56{margin-right:-14rem}.xs\:-mb-56{margin-bottom:-14rem}.xs\:-ml-56{margin-left:-14rem}.xs\:-mt-64{margin-top:-16rem}.xs\:-mr-64{margin-right:-16rem}.xs\:-mb-64{margin-bottom:-16rem}.xs\:-ml-64{margin-left:-16rem}.xs\:-mt-px{margin-top:-1px}.xs\:-mr-px{margin-right:-1px}.xs\:-mb-px{margin-bottom:-1px}.xs\:-ml-px{margin-left:-1px}.xs\:max-h-full{max-height:100%}.xs\:max-h-screen{max-height:100vh}.xs\:max-w-none{max-width:none}.xs\:max-w-xs{max-width:20rem}.xs\:max-w-sm{max-width:24rem}.xs\:max-w-md{max-width:28rem}.xs\:max-w-lg{max-width:32rem}.xs\:max-w-xl{max-width:36rem}.xs\:max-w-2xl{max-width:42rem}.xs\:max-w-3xl{max-width:48rem}.xs\:max-w-4xl{max-width:56rem}.xs\:max-w-5xl{max-width:64rem}.xs\:max-w-6xl{max-width:72rem}.xs\:max-w-full{max-width:100%}.xs\:max-w-screen-xs{max-width:360px}.xs\:max-w-screen-sm{max-width:640px}.xs\:max-w-screen-md{max-width:768px}.xs\:max-w-screen-lg{max-width:1024px}.xs\:max-w-screen-xl{max-width:1280px}.xs\:max-w-screen-xxl{max-width:1480px}.xs\:min-h-0{min-height:0}.xs\:min-h-full{min-height:100%}.xs\:min-h-screen{min-height:100vh}.xs\:min-w-0{min-width:0}.xs\:min-w-full{min-width:100%}.xs\:object-contain{-o-object-fit:contain;object-fit:contain}.xs\:object-cover{-o-object-fit:cover;object-fit:cover}.xs\:object-fill{-o-object-fit:fill;object-fit:fill}.xs\:object-none{-o-object-fit:none;object-fit:none}.xs\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xs\:object-bottom{-o-object-position:bottom;object-position:bottom}.xs\:object-center{-o-object-position:center;object-position:center}.xs\:object-left{-o-object-position:left;object-position:left}.xs\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xs\:object-left-top{-o-object-position:left top;object-position:left top}.xs\:object-right{-o-object-position:right;object-position:right}.xs\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xs\:object-right-top{-o-object-position:right top;object-position:right top}.xs\:object-top{-o-object-position:top;object-position:top}.xs\:opacity-0{opacity:0}.xs\:opacity-25{opacity:.25}.xs\:opacity-50{opacity:.5}.xs\:opacity-75{opacity:.75}.xs\:opacity-100{opacity:1}.xs\:hover\:opacity-0:hover{opacity:0}.xs\:hover\:opacity-25:hover{opacity:.25}.xs\:hover\:opacity-50:hover{opacity:.5}.xs\:hover\:opacity-75:hover{opacity:.75}.xs\:hover\:opacity-100:hover{opacity:1}.xs\:focus\:opacity-0:focus{opacity:0}.xs\:focus\:opacity-25:focus{opacity:.25}.xs\:focus\:opacity-50:focus{opacity:.5}.xs\:focus\:opacity-75:focus{opacity:.75}.xs\:focus\:opacity-100:focus{opacity:1}.xs\:outline-none{outline:2px solid transparent;outline-offset:2px}.xs\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xs\:outline-black{outline:2px dotted #000;outline-offset:2px}.xs\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xs\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xs\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xs\:overflow-auto{overflow:auto}.xs\:overflow-hidden{overflow:hidden}.xs\:overflow-visible{overflow:visible}.xs\:overflow-scroll{overflow:scroll}.xs\:overflow-x-auto{overflow-x:auto}.xs\:overflow-y-auto{overflow-y:auto}.xs\:overflow-x-hidden{overflow-x:hidden}.xs\:overflow-y-hidden{overflow-y:hidden}.xs\:overflow-x-visible{overflow-x:visible}.xs\:overflow-y-visible{overflow-y:visible}.xs\:overflow-x-scroll{overflow-x:scroll}.xs\:overflow-y-scroll{overflow-y:scroll}.xs\:scrolling-touch{-webkit-overflow-scrolling:touch}.xs\:scrolling-auto{-webkit-overflow-scrolling:auto}.xs\:overscroll-auto{overscroll-behavior:auto}.xs\:overscroll-contain{overscroll-behavior:contain}.xs\:overscroll-none{overscroll-behavior:none}.xs\:overscroll-y-auto{overscroll-behavior-y:auto}.xs\:overscroll-y-contain{overscroll-behavior-y:contain}.xs\:overscroll-y-none{overscroll-behavior-y:none}.xs\:overscroll-x-auto{overscroll-behavior-x:auto}.xs\:overscroll-x-contain{overscroll-behavior-x:contain}.xs\:overscroll-x-none{overscroll-behavior-x:none}.xs\:p-0{padding:0}.xs\:p-1{padding:.25rem}.xs\:p-2{padding:.5rem}.xs\:p-3{padding:.75rem}.xs\:p-4{padding:1rem}.xs\:p-5{padding:1.25rem}.xs\:p-6{padding:1.5rem}.xs\:p-8{padding:2rem}.xs\:p-10{padding:2.5rem}.xs\:p-12{padding:3rem}.xs\:p-16{padding:4rem}.xs\:p-20{padding:5rem}.xs\:p-24{padding:6rem}.xs\:p-32{padding:8rem}.xs\:p-40{padding:10rem}.xs\:p-48{padding:12rem}.xs\:p-56{padding:14rem}.xs\:p-64{padding:16rem}.xs\:p-px{padding:1px}.xs\:py-0{padding-top:0;padding-bottom:0}.xs\:px-0{padding-left:0;padding-right:0}.xs\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xs\:px-1{padding-left:.25rem;padding-right:.25rem}.xs\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xs\:px-2{padding-left:.5rem;padding-right:.5rem}.xs\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xs\:px-3{padding-left:.75rem;padding-right:.75rem}.xs\:py-4{padding-top:1rem;padding-bottom:1rem}.xs\:px-4{padding-left:1rem;padding-right:1rem}.xs\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xs\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xs\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xs\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xs\:py-8{padding-top:2rem;padding-bottom:2rem}.xs\:px-8{padding-left:2rem;padding-right:2rem}.xs\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xs\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xs\:py-12{padding-top:3rem;padding-bottom:3rem}.xs\:px-12{padding-left:3rem;padding-right:3rem}.xs\:py-16{padding-top:4rem;padding-bottom:4rem}.xs\:px-16{padding-left:4rem;padding-right:4rem}.xs\:py-20{padding-top:5rem;padding-bottom:5rem}.xs\:px-20{padding-left:5rem;padding-right:5rem}.xs\:py-24{padding-top:6rem;padding-bottom:6rem}.xs\:px-24{padding-left:6rem;padding-right:6rem}.xs\:py-32{padding-top:8rem;padding-bottom:8rem}.xs\:px-32{padding-left:8rem;padding-right:8rem}.xs\:py-40{padding-top:10rem;padding-bottom:10rem}.xs\:px-40{padding-left:10rem;padding-right:10rem}.xs\:py-48{padding-top:12rem;padding-bottom:12rem}.xs\:px-48{padding-left:12rem;padding-right:12rem}.xs\:py-56{padding-top:14rem;padding-bottom:14rem}.xs\:px-56{padding-left:14rem;padding-right:14rem}.xs\:py-64{padding-top:16rem;padding-bottom:16rem}.xs\:px-64{padding-left:16rem;padding-right:16rem}.xs\:py-px{padding-top:1px;padding-bottom:1px}.xs\:px-px{padding-left:1px;padding-right:1px}.xs\:pt-0{padding-top:0}.xs\:pr-0{padding-right:0}.xs\:pb-0{padding-bottom:0}.xs\:pl-0{padding-left:0}.xs\:pt-1{padding-top:.25rem}.xs\:pr-1{padding-right:.25rem}.xs\:pb-1{padding-bottom:.25rem}.xs\:pl-1{padding-left:.25rem}.xs\:pt-2{padding-top:.5rem}.xs\:pr-2{padding-right:.5rem}.xs\:pb-2{padding-bottom:.5rem}.xs\:pl-2{padding-left:.5rem}.xs\:pt-3{padding-top:.75rem}.xs\:pr-3{padding-right:.75rem}.xs\:pb-3{padding-bottom:.75rem}.xs\:pl-3{padding-left:.75rem}.xs\:pt-4{padding-top:1rem}.xs\:pr-4{padding-right:1rem}.xs\:pb-4{padding-bottom:1rem}.xs\:pl-4{padding-left:1rem}.xs\:pt-5{padding-top:1.25rem}.xs\:pr-5{padding-right:1.25rem}.xs\:pb-5{padding-bottom:1.25rem}.xs\:pl-5{padding-left:1.25rem}.xs\:pt-6{padding-top:1.5rem}.xs\:pr-6{padding-right:1.5rem}.xs\:pb-6{padding-bottom:1.5rem}.xs\:pl-6{padding-left:1.5rem}.xs\:pt-8{padding-top:2rem}.xs\:pr-8{padding-right:2rem}.xs\:pb-8{padding-bottom:2rem}.xs\:pl-8{padding-left:2rem}.xs\:pt-10{padding-top:2.5rem}.xs\:pr-10{padding-right:2.5rem}.xs\:pb-10{padding-bottom:2.5rem}.xs\:pl-10{padding-left:2.5rem}.xs\:pt-12{padding-top:3rem}.xs\:pr-12{padding-right:3rem}.xs\:pb-12{padding-bottom:3rem}.xs\:pl-12{padding-left:3rem}.xs\:pt-16{padding-top:4rem}.xs\:pr-16{padding-right:4rem}.xs\:pb-16{padding-bottom:4rem}.xs\:pl-16{padding-left:4rem}.xs\:pt-20{padding-top:5rem}.xs\:pr-20{padding-right:5rem}.xs\:pb-20{padding-bottom:5rem}.xs\:pl-20{padding-left:5rem}.xs\:pt-24{padding-top:6rem}.xs\:pr-24{padding-right:6rem}.xs\:pb-24{padding-bottom:6rem}.xs\:pl-24{padding-left:6rem}.xs\:pt-32{padding-top:8rem}.xs\:pr-32{padding-right:8rem}.xs\:pb-32{padding-bottom:8rem}.xs\:pl-32{padding-left:8rem}.xs\:pt-40{padding-top:10rem}.xs\:pr-40{padding-right:10rem}.xs\:pb-40{padding-bottom:10rem}.xs\:pl-40{padding-left:10rem}.xs\:pt-48{padding-top:12rem}.xs\:pr-48{padding-right:12rem}.xs\:pb-48{padding-bottom:12rem}.xs\:pl-48{padding-left:12rem}.xs\:pt-56{padding-top:14rem}.xs\:pr-56{padding-right:14rem}.xs\:pb-56{padding-bottom:14rem}.xs\:pl-56{padding-left:14rem}.xs\:pt-64{padding-top:16rem}.xs\:pr-64{padding-right:16rem}.xs\:pb-64{padding-bottom:16rem}.xs\:pl-64{padding-left:16rem}.xs\:pt-px{padding-top:1px}.xs\:pr-px{padding-right:1px}.xs\:pb-px{padding-bottom:1px}.xs\:pl-px{padding-left:1px}.xs\:placeholder-transparent::placeholder{color:transparent}.xs\:placeholder-current::placeholder{color:currentColor}.xs\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xs\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xs\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xs\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xs\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xs\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xs\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xs\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xs\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xs\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xs\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xs\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xs\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xs\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xs\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xs\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xs\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xs\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xs\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xs\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xs\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xs\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xs\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xs\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xs\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xs\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xs\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xs\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xs\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xs\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xs\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xs\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xs\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xs\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xs\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xs\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xs\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xs\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xs\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xs\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xs\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xs\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xs\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xs\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xs\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xs\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xs\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xs\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xs\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xs\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xs\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xs\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xs\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xs\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xs\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xs\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xs\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xs\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xs\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xs\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xs\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xs\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xs\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xs\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xs\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xs\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xs\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xs\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xs\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xs\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xs\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xs\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xs\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xs\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xs\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xs\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xs\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xs\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xs\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xs\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xs\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xs\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xs\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xs\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xs\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xs\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xs\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xs\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xs\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xs\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xs\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xs\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xs\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xs\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xs\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xs\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xs\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xs\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xs\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xs\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xs\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xs\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xs\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xs\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xs\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xs\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xs\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xs\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xs\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xs\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xs\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xs\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xs\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xs\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xs\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xs\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xs\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xs\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xs\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xs\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xs\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xs\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xs\:pointer-events-none{pointer-events:none}.xs\:pointer-events-auto{pointer-events:auto}.xs\:static{position:static}.xs\:fixed{position:fixed}.xs\:absolute{position:absolute}.xs\:relative{position:relative}.xs\:sticky{position:sticky}.xs\:inset-0{top:0;right:0;bottom:0;left:0}.xs\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xs\:inset-y-0{top:0;bottom:0}.xs\:inset-x-0{right:0;left:0}.xs\:inset-y-auto{top:auto;bottom:auto}.xs\:inset-x-auto{right:auto;left:auto}.xs\:top-0{top:0}.xs\:right-0{right:0}.xs\:bottom-0{bottom:0}.xs\:left-0{left:0}.xs\:top-auto{top:auto}.xs\:right-auto{right:auto}.xs\:bottom-auto{bottom:auto}.xs\:left-auto{left:auto}.xs\:resize-none{resize:none}.xs\:resize-y{resize:vertical}.xs\:resize-x{resize:horizontal}.xs\:resize{resize:both}.xs\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:shadow-none{box-shadow:none}.xs\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:hover\:shadow-none:hover{box-shadow:none}.xs\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xs\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xs\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xs\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xs\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xs\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xs\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xs\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xs\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xs\:focus\:shadow-none:focus{box-shadow:none}.xs\:fill-current{fill:currentColor}.xs\:stroke-current{stroke:currentColor}.xs\:stroke-0{stroke-width:0}.xs\:stroke-1{stroke-width:1}.xs\:stroke-2{stroke-width:2}.xs\:table-auto{table-layout:auto}.xs\:table-fixed{table-layout:fixed}.xs\:text-left{text-align:left}.xs\:text-center{text-align:center}.xs\:text-right{text-align:right}.xs\:text-justify{text-align:justify}.xs\:text-transparent{color:transparent}.xs\:text-current{color:currentColor}.xs\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:hover\:text-transparent:hover{color:transparent}.xs\:hover\:text-current:hover{color:currentColor}.xs\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:focus\:text-transparent:focus{color:transparent}.xs\:focus\:text-current:focus{color:currentColor}.xs\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xs\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xs\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xs\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xs\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xs\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xs\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xs\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xs\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xs\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xs\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xs\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xs\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xs\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xs\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xs\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xs\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xs\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xs\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xs\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xs\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xs\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xs\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xs\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xs\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xs\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xs\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xs\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xs\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xs\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xs\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xs\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xs\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xs\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xs\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xs\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xs\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xs\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xs\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xs\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xs\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xs\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xs\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xs\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xs\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xs\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xs\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xs\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xs\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xs\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xs\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xs\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xs\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xs\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xs\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xs\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xs\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xs\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xs\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xs\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xs\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xs\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xs\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xs\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xs\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xs\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xs\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xs\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xs\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xs\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xs\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xs\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xs\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xs\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xs\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xs\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xs\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xs\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xs\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xs\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xs\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xs\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xs\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xs\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xs\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xs\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xs\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xs\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xs\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xs\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xs\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xs\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xs\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xs\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xs\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xs\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xs\:text-opacity-0{--text-opacity:0}.xs\:text-opacity-25{--text-opacity:0.25}.xs\:text-opacity-50{--text-opacity:0.5}.xs\:text-opacity-75{--text-opacity:0.75}.xs\:text-opacity-100{--text-opacity:1}.xs\:hover\:text-opacity-0:hover{--text-opacity:0}.xs\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xs\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xs\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xs\:hover\:text-opacity-100:hover{--text-opacity:1}.xs\:focus\:text-opacity-0:focus{--text-opacity:0}.xs\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xs\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xs\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xs\:focus\:text-opacity-100:focus{--text-opacity:1}.xs\:italic{font-style:italic}.xs\:not-italic{font-style:normal}.xs\:uppercase{text-transform:uppercase}.xs\:lowercase{text-transform:lowercase}.xs\:capitalize{text-transform:capitalize}.xs\:normal-case{text-transform:none}.xs\:underline{text-decoration:underline}.xs\:line-through{text-decoration:line-through}.xs\:no-underline{text-decoration:none}.xs\:hover\:underline:hover{text-decoration:underline}.xs\:hover\:line-through:hover{text-decoration:line-through}.xs\:hover\:no-underline:hover{text-decoration:none}.xs\:focus\:underline:focus{text-decoration:underline}.xs\:focus\:line-through:focus{text-decoration:line-through}.xs\:focus\:no-underline:focus{text-decoration:none}.xs\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xs\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xs\:diagonal-fractions,.xs\:lining-nums,.xs\:oldstyle-nums,.xs\:ordinal,.xs\:proportional-nums,.xs\:slashed-zero,.xs\:stacked-fractions,.xs\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xs\:normal-nums{font-variant-numeric:normal}.xs\:ordinal{--font-variant-numeric-ordinal:ordinal}.xs\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xs\:lining-nums{--font-variant-numeric-figure:lining-nums}.xs\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xs\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xs\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xs\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xs\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xs\:tracking-tighter{letter-spacing:-.05em}.xs\:tracking-tight{letter-spacing:-.025em}.xs\:tracking-normal{letter-spacing:0}.xs\:tracking-wide{letter-spacing:.025em}.xs\:tracking-wider{letter-spacing:.05em}.xs\:tracking-widest{letter-spacing:.1em}.xs\:select-none{-webkit-user-select:none;user-select:none}.xs\:select-text{-webkit-user-select:text;user-select:text}.xs\:select-all{-webkit-user-select:all;user-select:all}.xs\:select-auto{-webkit-user-select:auto;user-select:auto}.xs\:align-baseline{vertical-align:baseline}.xs\:align-top{vertical-align:top}.xs\:align-middle{vertical-align:middle}.xs\:align-bottom{vertical-align:bottom}.xs\:align-text-top{vertical-align:text-top}.xs\:align-text-bottom{vertical-align:text-bottom}.xs\:visible{visibility:visible}.xs\:invisible{visibility:hidden}.xs\:whitespace-normal{white-space:normal}.xs\:whitespace-no-wrap{white-space:nowrap}.xs\:whitespace-pre{white-space:pre}.xs\:whitespace-pre-line{white-space:pre-line}.xs\:whitespace-pre-wrap{white-space:pre-wrap}.xs\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xs\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xs\:break-all{word-break:break-all}.xs\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs\:w-0{width:0}.xs\:w-1{width:.25rem}.xs\:w-2{width:.5rem}.xs\:w-3{width:.75rem}.xs\:w-4{width:1rem}.xs\:w-5{width:1.25rem}.xs\:w-6{width:1.5rem}.xs\:w-8{width:2rem}.xs\:w-10{width:2.5rem}.xs\:w-12{width:3rem}.xs\:w-16{width:4rem}.xs\:w-20{width:5rem}.xs\:w-24{width:6rem}.xs\:w-32{width:8rem}.xs\:w-40{width:10rem}.xs\:w-48{width:12rem}.xs\:w-56{width:14rem}.xs\:w-64{width:16rem}.xs\:w-auto{width:auto}.xs\:w-px{width:1px}.xs\:w-1\/2{width:50%}.xs\:w-1\/3{width:33.333333%}.xs\:w-2\/3{width:66.666667%}.xs\:w-1\/4{width:25%}.xs\:w-2\/4{width:50%}.xs\:w-3\/4{width:75%}.xs\:w-1\/5{width:20%}.xs\:w-2\/5{width:40%}.xs\:w-3\/5{width:60%}.xs\:w-4\/5{width:80%}.xs\:w-1\/6{width:16.666667%}.xs\:w-2\/6{width:33.333333%}.xs\:w-3\/6{width:50%}.xs\:w-4\/6{width:66.666667%}.xs\:w-5\/6{width:83.333333%}.xs\:w-1\/12{width:8.333333%}.xs\:w-2\/12{width:16.666667%}.xs\:w-3\/12{width:25%}.xs\:w-4\/12{width:33.333333%}.xs\:w-5\/12{width:41.666667%}.xs\:w-6\/12{width:50%}.xs\:w-7\/12{width:58.333333%}.xs\:w-8\/12{width:66.666667%}.xs\:w-9\/12{width:75%}.xs\:w-10\/12{width:83.333333%}.xs\:w-11\/12{width:91.666667%}.xs\:w-full{width:100%}.xs\:w-screen{width:100vw}.xs\:z-0{z-index:0}.xs\:z-10{z-index:10}.xs\:z-20{z-index:20}.xs\:z-30{z-index:30}.xs\:z-40{z-index:40}.xs\:z-50{z-index:50}.xs\:z-auto{z-index:auto}.xs\:gap-0{grid-gap:0;gap:0}.xs\:gap-1{grid-gap:.25rem;gap:.25rem}.xs\:gap-2{grid-gap:.5rem;gap:.5rem}.xs\:gap-3{grid-gap:.75rem;gap:.75rem}.xs\:gap-4{grid-gap:1rem;gap:1rem}.xs\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xs\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xs\:gap-8{grid-gap:2rem;gap:2rem}.xs\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xs\:gap-12{grid-gap:3rem;gap:3rem}.xs\:gap-16{grid-gap:4rem;gap:4rem}.xs\:gap-20{grid-gap:5rem;gap:5rem}.xs\:gap-24{grid-gap:6rem;gap:6rem}.xs\:gap-32{grid-gap:8rem;gap:8rem}.xs\:gap-40{grid-gap:10rem;gap:10rem}.xs\:gap-48{grid-gap:12rem;gap:12rem}.xs\:gap-56{grid-gap:14rem;gap:14rem}.xs\:gap-64{grid-gap:16rem;gap:16rem}.xs\:gap-px{grid-gap:1px;gap:1px}.xs\:col-gap-0{grid-column-gap:0;column-gap:0}.xs\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xs\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xs\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xs\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xs\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xs\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xs\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xs\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xs\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xs\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xs\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xs\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xs\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xs\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xs\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xs\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xs\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xs\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xs\:gap-x-0{grid-column-gap:0;column-gap:0}.xs\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xs\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xs\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xs\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xs\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xs\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xs\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xs\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xs\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xs\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xs\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xs\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xs\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xs\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xs\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xs\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xs\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xs\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xs\:row-gap-0{grid-row-gap:0;row-gap:0}.xs\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xs\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xs\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xs\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xs\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xs\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xs\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xs\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xs\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xs\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xs\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xs\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xs\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xs\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xs\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xs\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xs\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xs\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xs\:gap-y-0{grid-row-gap:0;row-gap:0}.xs\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xs\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xs\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xs\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xs\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xs\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xs\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xs\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xs\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xs\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xs\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xs\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xs\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xs\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xs\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xs\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xs\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xs\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xs\:grid-flow-row{grid-auto-flow:row}.xs\:grid-flow-col{grid-auto-flow:column}.xs\:grid-flow-row-dense{grid-auto-flow:row dense}.xs\:grid-flow-col-dense{grid-auto-flow:column dense}.xs\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xs\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xs\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xs\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xs\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xs\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xs\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xs\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xs\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xs\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xs\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xs\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xs\:grid-cols-none{grid-template-columns:none}.xs\:auto-cols-auto{grid-auto-columns:auto}.xs\:auto-cols-min{grid-auto-columns:min-content}.xs\:auto-cols-max{grid-auto-columns:max-content}.xs\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xs\:col-auto{grid-column:auto}.xs\:col-span-1{grid-column:span 1/span 1}.xs\:col-span-2{grid-column:span 2/span 2}.xs\:col-span-3{grid-column:span 3/span 3}.xs\:col-span-4{grid-column:span 4/span 4}.xs\:col-span-5{grid-column:span 5/span 5}.xs\:col-span-6{grid-column:span 6/span 6}.xs\:col-span-7{grid-column:span 7/span 7}.xs\:col-span-8{grid-column:span 8/span 8}.xs\:col-span-9{grid-column:span 9/span 9}.xs\:col-span-10{grid-column:span 10/span 10}.xs\:col-span-11{grid-column:span 11/span 11}.xs\:col-span-12{grid-column:span 12/span 12}.xs\:col-span-full{grid-column:1/-1}.xs\:col-start-1{grid-column-start:1}.xs\:col-start-2{grid-column-start:2}.xs\:col-start-3{grid-column-start:3}.xs\:col-start-4{grid-column-start:4}.xs\:col-start-5{grid-column-start:5}.xs\:col-start-6{grid-column-start:6}.xs\:col-start-7{grid-column-start:7}.xs\:col-start-8{grid-column-start:8}.xs\:col-start-9{grid-column-start:9}.xs\:col-start-10{grid-column-start:10}.xs\:col-start-11{grid-column-start:11}.xs\:col-start-12{grid-column-start:12}.xs\:col-start-13{grid-column-start:13}.xs\:col-start-auto{grid-column-start:auto}.xs\:col-end-1{grid-column-end:1}.xs\:col-end-2{grid-column-end:2}.xs\:col-end-3{grid-column-end:3}.xs\:col-end-4{grid-column-end:4}.xs\:col-end-5{grid-column-end:5}.xs\:col-end-6{grid-column-end:6}.xs\:col-end-7{grid-column-end:7}.xs\:col-end-8{grid-column-end:8}.xs\:col-end-9{grid-column-end:9}.xs\:col-end-10{grid-column-end:10}.xs\:col-end-11{grid-column-end:11}.xs\:col-end-12{grid-column-end:12}.xs\:col-end-13{grid-column-end:13}.xs\:col-end-auto{grid-column-end:auto}.xs\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xs\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xs\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xs\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xs\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xs\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xs\:grid-rows-none{grid-template-rows:none}.xs\:auto-rows-auto{grid-auto-rows:auto}.xs\:auto-rows-min{grid-auto-rows:min-content}.xs\:auto-rows-max{grid-auto-rows:max-content}.xs\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xs\:row-auto{grid-row:auto}.xs\:row-span-1{grid-row:span 1/span 1}.xs\:row-span-2{grid-row:span 2/span 2}.xs\:row-span-3{grid-row:span 3/span 3}.xs\:row-span-4{grid-row:span 4/span 4}.xs\:row-span-5{grid-row:span 5/span 5}.xs\:row-span-6{grid-row:span 6/span 6}.xs\:row-span-full{grid-row:1/-1}.xs\:row-start-1{grid-row-start:1}.xs\:row-start-2{grid-row-start:2}.xs\:row-start-3{grid-row-start:3}.xs\:row-start-4{grid-row-start:4}.xs\:row-start-5{grid-row-start:5}.xs\:row-start-6{grid-row-start:6}.xs\:row-start-7{grid-row-start:7}.xs\:row-start-auto{grid-row-start:auto}.xs\:row-end-1{grid-row-end:1}.xs\:row-end-2{grid-row-end:2}.xs\:row-end-3{grid-row-end:3}.xs\:row-end-4{grid-row-end:4}.xs\:row-end-5{grid-row-end:5}.xs\:row-end-6{grid-row-end:6}.xs\:row-end-7{grid-row-end:7}.xs\:row-end-auto{grid-row-end:auto}.xs\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xs\:transform-none{transform:none}.xs\:origin-center{transform-origin:center}.xs\:origin-top{transform-origin:top}.xs\:origin-top-right{transform-origin:top right}.xs\:origin-right{transform-origin:right}.xs\:origin-bottom-right{transform-origin:bottom right}.xs\:origin-bottom{transform-origin:bottom}.xs\:origin-bottom-left{transform-origin:bottom left}.xs\:origin-left{transform-origin:left}.xs\:origin-top-left{transform-origin:top left}.xs\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xs\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xs\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:scale-x-0{--transform-scale-x:0}.xs\:scale-x-50{--transform-scale-x:.5}.xs\:scale-x-75{--transform-scale-x:.75}.xs\:scale-x-90{--transform-scale-x:.9}.xs\:scale-x-95{--transform-scale-x:.95}.xs\:scale-x-100{--transform-scale-x:1}.xs\:scale-x-105{--transform-scale-x:1.05}.xs\:scale-x-110{--transform-scale-x:1.1}.xs\:scale-x-125{--transform-scale-x:1.25}.xs\:scale-x-150{--transform-scale-x:1.5}.xs\:scale-y-0{--transform-scale-y:0}.xs\:scale-y-50{--transform-scale-y:.5}.xs\:scale-y-75{--transform-scale-y:.75}.xs\:scale-y-90{--transform-scale-y:.9}.xs\:scale-y-95{--transform-scale-y:.95}.xs\:scale-y-100{--transform-scale-y:1}.xs\:scale-y-105{--transform-scale-y:1.05}.xs\:scale-y-110{--transform-scale-y:1.1}.xs\:scale-y-125{--transform-scale-y:1.25}.xs\:scale-y-150{--transform-scale-y:1.5}.xs\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xs\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xs\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:hover\:scale-x-0:hover{--transform-scale-x:0}.xs\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xs\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xs\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xs\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xs\:hover\:scale-x-100:hover{--transform-scale-x:1}.xs\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xs\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xs\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xs\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xs\:hover\:scale-y-0:hover{--transform-scale-y:0}.xs\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xs\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xs\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xs\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xs\:hover\:scale-y-100:hover{--transform-scale-y:1}.xs\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xs\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xs\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xs\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xs\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xs\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xs\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xs\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xs\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xs\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xs\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xs\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xs\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xs\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xs\:focus\:scale-x-0:focus{--transform-scale-x:0}.xs\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xs\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xs\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xs\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xs\:focus\:scale-x-100:focus{--transform-scale-x:1}.xs\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xs\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xs\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xs\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xs\:focus\:scale-y-0:focus{--transform-scale-y:0}.xs\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xs\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xs\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xs\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xs\:focus\:scale-y-100:focus{--transform-scale-y:1}.xs\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xs\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xs\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xs\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xs\:rotate-0{--transform-rotate:0}.xs\:rotate-1{--transform-rotate:1deg}.xs\:rotate-2{--transform-rotate:2deg}.xs\:rotate-3{--transform-rotate:3deg}.xs\:rotate-6{--transform-rotate:6deg}.xs\:rotate-12{--transform-rotate:12deg}.xs\:rotate-45{--transform-rotate:45deg}.xs\:rotate-90{--transform-rotate:90deg}.xs\:rotate-180{--transform-rotate:180deg}.xs\:-rotate-180{--transform-rotate:-180deg}.xs\:-rotate-90{--transform-rotate:-90deg}.xs\:-rotate-45{--transform-rotate:-45deg}.xs\:-rotate-12{--transform-rotate:-12deg}.xs\:-rotate-6{--transform-rotate:-6deg}.xs\:-rotate-3{--transform-rotate:-3deg}.xs\:-rotate-2{--transform-rotate:-2deg}.xs\:-rotate-1{--transform-rotate:-1deg}.xs\:hover\:rotate-0:hover{--transform-rotate:0}.xs\:hover\:rotate-1:hover{--transform-rotate:1deg}.xs\:hover\:rotate-2:hover{--transform-rotate:2deg}.xs\:hover\:rotate-3:hover{--transform-rotate:3deg}.xs\:hover\:rotate-6:hover{--transform-rotate:6deg}.xs\:hover\:rotate-12:hover{--transform-rotate:12deg}.xs\:hover\:rotate-45:hover{--transform-rotate:45deg}.xs\:hover\:rotate-90:hover{--transform-rotate:90deg}.xs\:hover\:rotate-180:hover{--transform-rotate:180deg}.xs\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xs\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xs\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xs\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xs\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xs\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xs\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xs\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xs\:focus\:rotate-0:focus{--transform-rotate:0}.xs\:focus\:rotate-1:focus{--transform-rotate:1deg}.xs\:focus\:rotate-2:focus{--transform-rotate:2deg}.xs\:focus\:rotate-3:focus{--transform-rotate:3deg}.xs\:focus\:rotate-6:focus{--transform-rotate:6deg}.xs\:focus\:rotate-12:focus{--transform-rotate:12deg}.xs\:focus\:rotate-45:focus{--transform-rotate:45deg}.xs\:focus\:rotate-90:focus{--transform-rotate:90deg}.xs\:focus\:rotate-180:focus{--transform-rotate:180deg}.xs\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xs\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xs\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xs\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xs\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xs\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xs\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xs\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xs\:translate-x-0{--transform-translate-x:0}.xs\:translate-x-1{--transform-translate-x:0.25rem}.xs\:translate-x-2{--transform-translate-x:0.5rem}.xs\:translate-x-3{--transform-translate-x:0.75rem}.xs\:translate-x-4{--transform-translate-x:1rem}.xs\:translate-x-5{--transform-translate-x:1.25rem}.xs\:translate-x-6{--transform-translate-x:1.5rem}.xs\:translate-x-8{--transform-translate-x:2rem}.xs\:translate-x-10{--transform-translate-x:2.5rem}.xs\:translate-x-12{--transform-translate-x:3rem}.xs\:translate-x-16{--transform-translate-x:4rem}.xs\:translate-x-20{--transform-translate-x:5rem}.xs\:translate-x-24{--transform-translate-x:6rem}.xs\:translate-x-32{--transform-translate-x:8rem}.xs\:translate-x-40{--transform-translate-x:10rem}.xs\:translate-x-48{--transform-translate-x:12rem}.xs\:translate-x-56{--transform-translate-x:14rem}.xs\:translate-x-64{--transform-translate-x:16rem}.xs\:translate-x-px{--transform-translate-x:1px}.xs\:-translate-x-1{--transform-translate-x:-0.25rem}.xs\:-translate-x-2{--transform-translate-x:-0.5rem}.xs\:-translate-x-3{--transform-translate-x:-0.75rem}.xs\:-translate-x-4{--transform-translate-x:-1rem}.xs\:-translate-x-5{--transform-translate-x:-1.25rem}.xs\:-translate-x-6{--transform-translate-x:-1.5rem}.xs\:-translate-x-8{--transform-translate-x:-2rem}.xs\:-translate-x-10{--transform-translate-x:-2.5rem}.xs\:-translate-x-12{--transform-translate-x:-3rem}.xs\:-translate-x-16{--transform-translate-x:-4rem}.xs\:-translate-x-20{--transform-translate-x:-5rem}.xs\:-translate-x-24{--transform-translate-x:-6rem}.xs\:-translate-x-32{--transform-translate-x:-8rem}.xs\:-translate-x-40{--transform-translate-x:-10rem}.xs\:-translate-x-48{--transform-translate-x:-12rem}.xs\:-translate-x-56{--transform-translate-x:-14rem}.xs\:-translate-x-64{--transform-translate-x:-16rem}.xs\:-translate-x-px{--transform-translate-x:-1px}.xs\:-translate-x-full{--transform-translate-x:-100%}.xs\:-translate-x-1\/2{--transform-translate-x:-50%}.xs\:translate-x-1\/2{--transform-translate-x:50%}.xs\:translate-x-full{--transform-translate-x:100%}.xs\:translate-y-0{--transform-translate-y:0}.xs\:translate-y-1{--transform-translate-y:0.25rem}.xs\:translate-y-2{--transform-translate-y:0.5rem}.xs\:translate-y-3{--transform-translate-y:0.75rem}.xs\:translate-y-4{--transform-translate-y:1rem}.xs\:translate-y-5{--transform-translate-y:1.25rem}.xs\:translate-y-6{--transform-translate-y:1.5rem}.xs\:translate-y-8{--transform-translate-y:2rem}.xs\:translate-y-10{--transform-translate-y:2.5rem}.xs\:translate-y-12{--transform-translate-y:3rem}.xs\:translate-y-16{--transform-translate-y:4rem}.xs\:translate-y-20{--transform-translate-y:5rem}.xs\:translate-y-24{--transform-translate-y:6rem}.xs\:translate-y-32{--transform-translate-y:8rem}.xs\:translate-y-40{--transform-translate-y:10rem}.xs\:translate-y-48{--transform-translate-y:12rem}.xs\:translate-y-56{--transform-translate-y:14rem}.xs\:translate-y-64{--transform-translate-y:16rem}.xs\:translate-y-px{--transform-translate-y:1px}.xs\:-translate-y-1{--transform-translate-y:-0.25rem}.xs\:-translate-y-2{--transform-translate-y:-0.5rem}.xs\:-translate-y-3{--transform-translate-y:-0.75rem}.xs\:-translate-y-4{--transform-translate-y:-1rem}.xs\:-translate-y-5{--transform-translate-y:-1.25rem}.xs\:-translate-y-6{--transform-translate-y:-1.5rem}.xs\:-translate-y-8{--transform-translate-y:-2rem}.xs\:-translate-y-10{--transform-translate-y:-2.5rem}.xs\:-translate-y-12{--transform-translate-y:-3rem}.xs\:-translate-y-16{--transform-translate-y:-4rem}.xs\:-translate-y-20{--transform-translate-y:-5rem}.xs\:-translate-y-24{--transform-translate-y:-6rem}.xs\:-translate-y-32{--transform-translate-y:-8rem}.xs\:-translate-y-40{--transform-translate-y:-10rem}.xs\:-translate-y-48{--transform-translate-y:-12rem}.xs\:-translate-y-56{--transform-translate-y:-14rem}.xs\:-translate-y-64{--transform-translate-y:-16rem}.xs\:-translate-y-px{--transform-translate-y:-1px}.xs\:-translate-y-full{--transform-translate-y:-100%}.xs\:-translate-y-1\/2{--transform-translate-y:-50%}.xs\:translate-y-1\/2{--transform-translate-y:50%}.xs\:translate-y-full{--transform-translate-y:100%}.xs\:hover\:translate-x-0:hover{--transform-translate-x:0}.xs\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xs\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xs\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xs\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xs\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xs\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xs\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xs\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xs\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xs\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xs\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xs\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xs\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xs\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xs\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xs\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xs\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xs\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xs\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xs\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xs\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xs\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xs\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xs\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xs\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xs\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xs\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xs\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xs\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xs\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xs\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xs\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xs\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xs\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xs\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xs\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xs\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xs\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xs\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xs\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xs\:hover\:translate-y-0:hover{--transform-translate-y:0}.xs\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xs\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xs\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xs\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xs\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xs\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xs\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xs\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xs\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xs\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xs\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xs\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xs\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xs\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xs\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xs\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xs\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xs\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xs\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xs\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xs\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xs\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xs\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xs\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xs\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xs\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xs\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xs\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xs\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xs\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xs\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xs\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xs\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xs\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xs\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xs\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xs\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xs\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xs\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xs\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xs\:focus\:translate-x-0:focus{--transform-translate-x:0}.xs\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xs\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xs\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xs\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xs\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xs\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xs\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xs\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xs\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xs\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xs\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xs\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xs\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xs\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xs\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xs\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xs\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xs\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xs\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xs\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xs\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xs\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xs\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xs\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xs\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xs\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xs\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xs\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xs\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xs\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xs\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xs\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xs\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xs\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xs\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xs\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xs\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xs\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xs\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xs\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xs\:focus\:translate-y-0:focus{--transform-translate-y:0}.xs\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xs\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xs\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xs\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xs\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xs\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xs\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xs\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xs\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xs\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xs\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xs\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xs\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xs\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xs\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xs\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xs\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xs\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xs\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xs\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xs\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xs\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xs\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xs\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xs\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xs\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xs\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xs\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xs\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xs\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xs\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xs\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xs\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xs\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xs\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xs\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xs\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xs\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xs\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xs\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xs\:skew-x-0{--transform-skew-x:0}.xs\:skew-x-1{--transform-skew-x:1deg}.xs\:skew-x-2{--transform-skew-x:2deg}.xs\:skew-x-3{--transform-skew-x:3deg}.xs\:skew-x-6{--transform-skew-x:6deg}.xs\:skew-x-12{--transform-skew-x:12deg}.xs\:-skew-x-12{--transform-skew-x:-12deg}.xs\:-skew-x-6{--transform-skew-x:-6deg}.xs\:-skew-x-3{--transform-skew-x:-3deg}.xs\:-skew-x-2{--transform-skew-x:-2deg}.xs\:-skew-x-1{--transform-skew-x:-1deg}.xs\:skew-y-0{--transform-skew-y:0}.xs\:skew-y-1{--transform-skew-y:1deg}.xs\:skew-y-2{--transform-skew-y:2deg}.xs\:skew-y-3{--transform-skew-y:3deg}.xs\:skew-y-6{--transform-skew-y:6deg}.xs\:skew-y-12{--transform-skew-y:12deg}.xs\:-skew-y-12{--transform-skew-y:-12deg}.xs\:-skew-y-6{--transform-skew-y:-6deg}.xs\:-skew-y-3{--transform-skew-y:-3deg}.xs\:-skew-y-2{--transform-skew-y:-2deg}.xs\:-skew-y-1{--transform-skew-y:-1deg}.xs\:hover\:skew-x-0:hover{--transform-skew-x:0}.xs\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xs\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xs\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xs\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xs\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xs\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xs\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xs\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xs\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xs\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xs\:hover\:skew-y-0:hover{--transform-skew-y:0}.xs\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xs\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xs\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xs\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xs\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xs\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xs\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xs\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xs\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xs\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xs\:focus\:skew-x-0:focus{--transform-skew-x:0}.xs\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xs\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xs\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xs\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xs\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xs\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xs\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xs\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xs\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xs\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xs\:focus\:skew-y-0:focus{--transform-skew-y:0}.xs\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xs\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xs\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xs\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xs\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xs\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xs\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xs\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xs\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xs\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xs\:transition-none{transition-property:none}.xs\:transition-all{transition-property:all}.xs\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xs\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xs\:transition-opacity{transition-property:opacity}.xs\:transition-shadow{transition-property:box-shadow}.xs\:transition-transform{transition-property:transform}.xs\:ease-linear{transition-timing-function:linear}.xs\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xs\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xs\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xs\:duration-75{transition-duration:75ms}.xs\:duration-100{transition-duration:.1s}.xs\:duration-150{transition-duration:.15s}.xs\:duration-200{transition-duration:.2s}.xs\:duration-300{transition-duration:.3s}.xs\:duration-500{transition-duration:.5s}.xs\:duration-700{transition-duration:.7s}.xs\:duration-1000{transition-duration:1s}.xs\:delay-75{transition-delay:75ms}.xs\:delay-100{transition-delay:.1s}.xs\:delay-150{transition-delay:.15s}.xs\:delay-200{transition-delay:.2s}.xs\:delay-300{transition-delay:.3s}.xs\:delay-500{transition-delay:.5s}.xs\:delay-700{transition-delay:.7s}.xs\:delay-1000{transition-delay:1s}.xs\:animate-none{animation:none}.xs\:animate-spin{animation:spin 1s linear infinite}.xs\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xs\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xs\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:640px){.sm\:container{width:100%}@media (min-width:360px){.sm\:container{max-width:360px}}@media (min-width:640px){.sm\:container{max-width:640px}}@media (min-width:768px){.sm\:container{max-width:768px}}@media (min-width:1024px){.sm\:container{max-width:1024px}}@media (min-width:1280px){.sm\:container{max-width:1280px}}@media (min-width:1480px){.sm\:container{max-width:1480px}}.sm\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.sm\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.sm\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.sm\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.sm\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.sm\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.sm\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.sm\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.sm\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.sm\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.sm\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.sm\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.sm\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.sm\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.sm\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.sm\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.sm\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.sm\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.sm\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.sm\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.sm\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.sm\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.sm\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.sm\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.sm\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.sm\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.sm\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.sm\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.sm\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.sm\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.sm\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.sm\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.sm\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.sm\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.sm\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.sm\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.sm\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.sm\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.sm\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.sm\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.sm\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.sm\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.sm\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.sm\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.sm\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.sm\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.sm\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.sm\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.sm\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.sm\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.sm\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.sm\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.sm\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.sm\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.sm\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.sm\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.sm\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.sm\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.sm\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.sm\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.sm\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.sm\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.sm\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.sm\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.sm\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.sm\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.sm\:divide-transparent>:not(template)~:not(template){border-color:transparent}.sm\:divide-current>:not(template)~:not(template){border-color:currentColor}.sm\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.sm\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.sm\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.sm\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.sm\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.sm\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.sm\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.sm\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.sm\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.sm\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.sm\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.sm\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.sm\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.sm\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.sm\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.sm\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.sm\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.sm\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.sm\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.sm\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.sm\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.sm\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.sm\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.sm\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.sm\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.sm\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.sm\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.sm\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.sm\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.sm\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.sm\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.sm\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.sm\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.sm\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.sm\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.sm\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.sm\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.sm\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.sm\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.sm\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.sm\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.sm\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.sm\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.sm\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.sm\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.sm\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.sm\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.sm\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.sm\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.sm\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.sm\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.sm\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.sm\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.sm\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.sm\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.sm\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.sm\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.sm\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.sm\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.sm\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.sm\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.sm\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.sm\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.sm\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.sm\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.sm\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.sm\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.sm\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.sm\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.sm\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.sm\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.sm\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.sm\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.sm\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.sm\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.sm\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.sm\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.sm\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.sm\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.sm\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.sm\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.sm\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.sm\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.sm\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.sm\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.sm\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.sm\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.sm\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.sm\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.sm\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.sm\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.sm\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.sm\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.sm\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.sm\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.sm\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.sm\:divide-solid>:not(template)~:not(template){border-style:solid}.sm\:divide-dashed>:not(template)~:not(template){border-style:dashed}.sm\:divide-dotted>:not(template)~:not(template){border-style:dotted}.sm\:divide-double>:not(template)~:not(template){border-style:double}.sm\:divide-none>:not(template)~:not(template){border-style:none}.sm\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.sm\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.sm\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.sm\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.sm\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.sm\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sm\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:appearance-none{-webkit-appearance:none;appearance:none}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-clip-border{background-clip:border-box}.sm\:bg-clip-padding{background-clip:padding-box}.sm\:bg-clip-content{background-clip:content-box}.sm\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.sm\:bg-transparent{background-color:transparent}.sm\:bg-current{background-color:currentColor}.sm\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-current:hover{background-color:currentColor}.sm\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:focus\:bg-transparent:focus{background-color:transparent}.sm\:focus\:bg-current:focus{background-color:currentColor}.sm\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.sm\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.sm\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.sm\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.sm\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.sm\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.sm\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.sm\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.sm\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.sm\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.sm\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.sm\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.sm\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.sm\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.sm\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.sm\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.sm\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.sm\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.sm\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.sm\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.sm\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.sm\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.sm\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.sm\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.sm\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.sm\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.sm\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.sm\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.sm\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.sm\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.sm\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.sm\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.sm\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.sm\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.sm\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.sm\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.sm\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.sm\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.sm\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.sm\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.sm\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.sm\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.sm\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.sm\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.sm\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.sm\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.sm\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.sm\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.sm\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.sm\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.sm\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.sm\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.sm\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.sm\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.sm\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.sm\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.sm\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.sm\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.sm\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.sm\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.sm\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.sm\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.sm\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.sm\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.sm\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.sm\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.sm\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.sm\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.sm\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.sm\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.sm\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.sm\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.sm\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.sm\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.sm\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.sm\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.sm\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.sm\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.sm\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.sm\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.sm\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.sm\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.sm\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.sm\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.sm\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.sm\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.sm\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.sm\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.sm\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.sm\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.sm\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.sm\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.sm\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.sm\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.sm\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.sm\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.sm\:bg-none{background-image:none}.sm\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.sm\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.sm\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.sm\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.sm\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.sm\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:to-transparent{--gradient-to-color:transparent}.sm\:to-current{--gradient-to-color:currentColor}.sm\:to-black{--gradient-to-color:#000}.sm\:to-white{--gradient-to-color:#fff}.sm\:to-gray-100{--gradient-to-color:#f7fafc}.sm\:to-gray-200{--gradient-to-color:#edf2f7}.sm\:to-gray-300{--gradient-to-color:#e2e8f0}.sm\:to-gray-400{--gradient-to-color:#cbd5e0}.sm\:to-gray-500{--gradient-to-color:#a0aec0}.sm\:to-gray-600{--gradient-to-color:#718096}.sm\:to-gray-700{--gradient-to-color:#4a5568}.sm\:to-gray-800{--gradient-to-color:#2d3748}.sm\:to-gray-900{--gradient-to-color:#1a202c}.sm\:to-red-100{--gradient-to-color:#fff5f5}.sm\:to-red-200{--gradient-to-color:#fed7d7}.sm\:to-red-300{--gradient-to-color:#feb2b2}.sm\:to-red-400{--gradient-to-color:#fc8181}.sm\:to-red-500{--gradient-to-color:#f56565}.sm\:to-red-600{--gradient-to-color:#e53e3e}.sm\:to-red-700{--gradient-to-color:#c53030}.sm\:to-red-800{--gradient-to-color:#9b2c2c}.sm\:to-red-900{--gradient-to-color:#742a2a}.sm\:to-orange-100{--gradient-to-color:#fffaf0}.sm\:to-orange-200{--gradient-to-color:#feebc8}.sm\:to-orange-300{--gradient-to-color:#fbd38d}.sm\:to-orange-400{--gradient-to-color:#f6ad55}.sm\:to-orange-500{--gradient-to-color:#ed8936}.sm\:to-orange-600{--gradient-to-color:#dd6b20}.sm\:to-orange-700{--gradient-to-color:#c05621}.sm\:to-orange-800{--gradient-to-color:#9c4221}.sm\:to-orange-900{--gradient-to-color:#7b341e}.sm\:to-yellow-100{--gradient-to-color:ivory}.sm\:to-yellow-200{--gradient-to-color:#fefcbf}.sm\:to-yellow-300{--gradient-to-color:#faf089}.sm\:to-yellow-400{--gradient-to-color:#f6e05e}.sm\:to-yellow-500{--gradient-to-color:#ecc94b}.sm\:to-yellow-600{--gradient-to-color:#d69e2e}.sm\:to-yellow-700{--gradient-to-color:#b7791f}.sm\:to-yellow-800{--gradient-to-color:#975a16}.sm\:to-yellow-900{--gradient-to-color:#744210}.sm\:to-green-100{--gradient-to-color:#f0fff4}.sm\:to-green-200{--gradient-to-color:#c6f6d5}.sm\:to-green-300{--gradient-to-color:#9ae6b4}.sm\:to-green-400{--gradient-to-color:#68d391}.sm\:to-green-500{--gradient-to-color:#48bb78}.sm\:to-green-600{--gradient-to-color:#38a169}.sm\:to-green-700{--gradient-to-color:#2f855a}.sm\:to-green-800{--gradient-to-color:#276749}.sm\:to-green-900{--gradient-to-color:#22543d}.sm\:to-teal-100{--gradient-to-color:#e6fffa}.sm\:to-teal-200{--gradient-to-color:#b2f5ea}.sm\:to-teal-300{--gradient-to-color:#81e6d9}.sm\:to-teal-400{--gradient-to-color:#4fd1c5}.sm\:to-teal-500{--gradient-to-color:#38b2ac}.sm\:to-teal-600{--gradient-to-color:#319795}.sm\:to-teal-700{--gradient-to-color:#2c7a7b}.sm\:to-teal-800{--gradient-to-color:#285e61}.sm\:to-teal-900{--gradient-to-color:#234e52}.sm\:to-blue-100{--gradient-to-color:#ebf8ff}.sm\:to-blue-200{--gradient-to-color:#bee3f8}.sm\:to-blue-300{--gradient-to-color:#90cdf4}.sm\:to-blue-400{--gradient-to-color:#63b3ed}.sm\:to-blue-500{--gradient-to-color:#4299e1}.sm\:to-blue-600{--gradient-to-color:#3182ce}.sm\:to-blue-700{--gradient-to-color:#2b6cb0}.sm\:to-blue-800{--gradient-to-color:#2c5282}.sm\:to-blue-900{--gradient-to-color:#2a4365}.sm\:to-indigo-100{--gradient-to-color:#ebf4ff}.sm\:to-indigo-200{--gradient-to-color:#c3dafe}.sm\:to-indigo-300{--gradient-to-color:#a3bffa}.sm\:to-indigo-400{--gradient-to-color:#7f9cf5}.sm\:to-indigo-500{--gradient-to-color:#667eea}.sm\:to-indigo-600{--gradient-to-color:#5a67d8}.sm\:to-indigo-700{--gradient-to-color:#4c51bf}.sm\:to-indigo-800{--gradient-to-color:#434190}.sm\:to-indigo-900{--gradient-to-color:#3c366b}.sm\:to-purple-100{--gradient-to-color:#faf5ff}.sm\:to-purple-200{--gradient-to-color:#e9d8fd}.sm\:to-purple-300{--gradient-to-color:#d6bcfa}.sm\:to-purple-400{--gradient-to-color:#b794f4}.sm\:to-purple-500{--gradient-to-color:#9f7aea}.sm\:to-purple-600{--gradient-to-color:#805ad5}.sm\:to-purple-700{--gradient-to-color:#6b46c1}.sm\:to-purple-800{--gradient-to-color:#553c9a}.sm\:to-purple-900{--gradient-to-color:#44337a}.sm\:to-pink-100{--gradient-to-color:#fff5f7}.sm\:to-pink-200{--gradient-to-color:#fed7e2}.sm\:to-pink-300{--gradient-to-color:#fbb6ce}.sm\:to-pink-400{--gradient-to-color:#f687b3}.sm\:to-pink-500{--gradient-to-color:#ed64a6}.sm\:to-pink-600{--gradient-to-color:#d53f8c}.sm\:to-pink-700{--gradient-to-color:#b83280}.sm\:to-pink-800{--gradient-to-color:#97266d}.sm\:to-pink-900{--gradient-to-color:#702459}.sm\:to-primary{--gradient-to-color:#00d1ff}.sm\:to-secondary{--gradient-to-color:#e077ff}.sm\:to-greenish-blue{--gradient-to-color:#adffed}.sm\:to-blue-gray{--gradient-to-color:#cfe1e6}.sm\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:hover\:to-transparent:hover{--gradient-to-color:transparent}.sm\:hover\:to-current:hover{--gradient-to-color:currentColor}.sm\:hover\:to-black:hover{--gradient-to-color:#000}.sm\:hover\:to-white:hover{--gradient-to-color:#fff}.sm\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.sm\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.sm\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.sm\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.sm\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.sm\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.sm\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.sm\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.sm\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.sm\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.sm\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.sm\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.sm\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.sm\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.sm\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.sm\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.sm\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.sm\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.sm\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.sm\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.sm\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.sm\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.sm\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.sm\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.sm\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.sm\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.sm\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.sm\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.sm\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.sm\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.sm\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.sm\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.sm\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.sm\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.sm\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.sm\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.sm\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.sm\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.sm\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.sm\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.sm\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.sm\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.sm\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.sm\:hover\:to-green-800:hover{--gradient-to-color:#276749}.sm\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.sm\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.sm\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.sm\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.sm\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.sm\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.sm\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.sm\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.sm\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.sm\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.sm\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.sm\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.sm\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.sm\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.sm\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.sm\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.sm\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.sm\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.sm\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.sm\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.sm\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.sm\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.sm\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.sm\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.sm\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.sm\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.sm\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.sm\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.sm\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.sm\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.sm\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.sm\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.sm\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.sm\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.sm\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.sm\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.sm\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.sm\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.sm\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.sm\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.sm\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.sm\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.sm\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.sm\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.sm\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.sm\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.sm\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.sm\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.sm\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.sm\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.sm\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.sm\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.sm\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.sm\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.sm\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.sm\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.sm\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.sm\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.sm\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.sm\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.sm\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.sm\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.sm\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.sm\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.sm\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.sm\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.sm\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.sm\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.sm\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.sm\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.sm\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.sm\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.sm\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.sm\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.sm\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.sm\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.sm\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.sm\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.sm\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.sm\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.sm\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.sm\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.sm\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.sm\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.sm\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.sm\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.sm\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.sm\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.sm\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.sm\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.sm\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.sm\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.sm\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.sm\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.sm\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.sm\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.sm\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.sm\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.sm\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.sm\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.sm\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.sm\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.sm\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.sm\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.sm\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.sm\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.sm\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.sm\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.sm\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.sm\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.sm\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.sm\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.sm\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.sm\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.sm\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.sm\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.sm\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.sm\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.sm\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.sm\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.sm\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.sm\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.sm\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.sm\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.sm\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.sm\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.sm\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.sm\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.sm\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.sm\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.sm\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.sm\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.sm\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.sm\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.sm\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.sm\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.sm\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.sm\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.sm\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.sm\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.sm\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.sm\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.sm\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.sm\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.sm\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.sm\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.sm\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.sm\:focus\:to-transparent:focus{--gradient-to-color:transparent}.sm\:focus\:to-current:focus{--gradient-to-color:currentColor}.sm\:focus\:to-black:focus{--gradient-to-color:#000}.sm\:focus\:to-white:focus{--gradient-to-color:#fff}.sm\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.sm\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.sm\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.sm\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.sm\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.sm\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.sm\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.sm\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.sm\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.sm\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.sm\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.sm\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.sm\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.sm\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.sm\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.sm\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.sm\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.sm\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.sm\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.sm\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.sm\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.sm\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.sm\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.sm\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.sm\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.sm\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.sm\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.sm\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.sm\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.sm\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.sm\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.sm\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.sm\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.sm\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.sm\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.sm\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.sm\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.sm\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.sm\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.sm\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.sm\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.sm\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.sm\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.sm\:focus\:to-green-800:focus{--gradient-to-color:#276749}.sm\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.sm\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.sm\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.sm\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.sm\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.sm\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.sm\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.sm\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.sm\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.sm\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.sm\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.sm\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.sm\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.sm\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.sm\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.sm\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.sm\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.sm\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.sm\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.sm\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.sm\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.sm\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.sm\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.sm\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.sm\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.sm\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.sm\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.sm\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.sm\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.sm\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.sm\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.sm\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.sm\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.sm\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.sm\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.sm\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.sm\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.sm\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.sm\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.sm\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.sm\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.sm\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.sm\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.sm\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.sm\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.sm\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.sm\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.sm\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.sm\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.sm\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.sm\:bg-opacity-0{--bg-opacity:0}.sm\:bg-opacity-25{--bg-opacity:0.25}.sm\:bg-opacity-50{--bg-opacity:0.5}.sm\:bg-opacity-75{--bg-opacity:0.75}.sm\:bg-opacity-100{--bg-opacity:1}.sm\:hover\:bg-opacity-0:hover{--bg-opacity:0}.sm\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.sm\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.sm\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.sm\:hover\:bg-opacity-100:hover{--bg-opacity:1}.sm\:focus\:bg-opacity-0:focus{--bg-opacity:0}.sm\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.sm\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.sm\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.sm\:focus\:bg-opacity-100:focus{--bg-opacity:1}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:50%}.sm\:bg-left{background-position:0}.sm\:bg-left-bottom{background-position:0 100%}.sm\:bg-left-top{background-position:0 0}.sm\:bg-right{background-position:100%}.sm\:bg-right-bottom{background-position:100% 100%}.sm\:bg-right-top{background-position:100% 0}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-repeat-round{background-repeat:round}.sm\:bg-repeat-space{background-repeat:space}.sm\:bg-auto{background-size:auto}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:border-collapse{border-collapse:collapse}.sm\:border-separate{border-collapse:separate}.sm\:border-transparent{border-color:transparent}.sm\:border-current{border-color:currentColor}.sm\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-current:hover{border-color:currentColor}.sm\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:focus\:border-transparent:focus{border-color:transparent}.sm\:focus\:border-current:focus{border-color:currentColor}.sm\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.sm\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.sm\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.sm\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.sm\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.sm\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.sm\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.sm\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.sm\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.sm\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.sm\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.sm\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.sm\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.sm\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.sm\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.sm\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.sm\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.sm\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.sm\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.sm\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.sm\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.sm\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.sm\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.sm\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.sm\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.sm\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.sm\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.sm\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.sm\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.sm\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.sm\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.sm\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.sm\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.sm\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.sm\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.sm\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.sm\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.sm\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.sm\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.sm\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.sm\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.sm\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.sm\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.sm\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.sm\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.sm\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.sm\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.sm\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.sm\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.sm\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.sm\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.sm\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.sm\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.sm\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.sm\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.sm\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.sm\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.sm\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.sm\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.sm\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.sm\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.sm\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.sm\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.sm\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.sm\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.sm\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.sm\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.sm\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.sm\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.sm\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.sm\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.sm\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.sm\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.sm\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.sm\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.sm\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.sm\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.sm\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.sm\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.sm\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.sm\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.sm\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.sm\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.sm\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.sm\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.sm\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.sm\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.sm\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.sm\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.sm\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.sm\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.sm\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.sm\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.sm\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.sm\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.sm\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.sm\:border-opacity-0{--border-opacity:0}.sm\:border-opacity-25{--border-opacity:0.25}.sm\:border-opacity-50{--border-opacity:0.5}.sm\:border-opacity-75{--border-opacity:0.75}.sm\:border-opacity-100{--border-opacity:1}.sm\:hover\:border-opacity-0:hover{--border-opacity:0}.sm\:hover\:border-opacity-25:hover{--border-opacity:0.25}.sm\:hover\:border-opacity-50:hover{--border-opacity:0.5}.sm\:hover\:border-opacity-75:hover{--border-opacity:0.75}.sm\:hover\:border-opacity-100:hover{--border-opacity:1}.sm\:focus\:border-opacity-0:focus{--border-opacity:0}.sm\:focus\:border-opacity-25:focus{--border-opacity:0.25}.sm\:focus\:border-opacity-50:focus{--border-opacity:0.5}.sm\:focus\:border-opacity-75:focus{--border-opacity:0.75}.sm\:focus\:border-opacity-100:focus{--border-opacity:1}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-md{border-radius:.375rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-xl{border-radius:.75rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:rounded-3xl{border-radius:1.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem}.sm\:rounded-r,.sm\:rounded-t{border-top-right-radius:.25rem}.sm\:rounded-b,.sm\:rounded-r{border-bottom-right-radius:.25rem}.sm\:rounded-b,.sm\:rounded-l{border-bottom-left-radius:.25rem}.sm\:rounded-l{border-top-left-radius:.25rem}.sm\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.sm\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.sm\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.sm\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.sm\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.sm\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.sm\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.sm\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.sm\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.sm\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.sm\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-tl-md{border-top-left-radius:.375rem}.sm\:rounded-tr-md{border-top-right-radius:.375rem}.sm\:rounded-br-md{border-bottom-right-radius:.375rem}.sm\:rounded-bl-md{border-bottom-left-radius:.375rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-tl-xl{border-top-left-radius:.75rem}.sm\:rounded-tr-xl{border-top-right-radius:.75rem}.sm\:rounded-br-xl{border-bottom-right-radius:.75rem}.sm\:rounded-bl-xl{border-bottom-left-radius:.75rem}.sm\:rounded-tl-2xl{border-top-left-radius:1rem}.sm\:rounded-tr-2xl{border-top-right-radius:1rem}.sm\:rounded-br-2xl{border-bottom-right-radius:1rem}.sm\:rounded-bl-2xl{border-bottom-left-radius:1rem}.sm\:rounded-tl-3xl{border-top-left-radius:1.5rem}.sm\:rounded-tr-3xl{border-top-right-radius:1.5rem}.sm\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.sm\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-double{border-style:double}.sm\:border-none{border-style:none}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-r-0{border-right-width:0}.sm\:border-b-0{border-bottom-width:0}.sm\:border-l-0{border-left-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-r-2{border-right-width:2px}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-l-2{border-left-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-r-4{border-right-width:4px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-l-4{border-left-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-r-8{border-right-width:8px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-l-8{border-left-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r{border-right-width:1px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l{border-left-width:1px}.sm\:box-border{box-sizing:border-box}.sm\:box-content{box-sizing:content-box}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-wait{cursor:wait}.sm\:cursor-text{cursor:text}.sm\:cursor-move{cursor:move}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table{display:table}.sm\:table-caption{display:table-caption}.sm\:table-cell{display:table-cell}.sm\:table-column{display:table-column}.sm\:table-column-group{display:table-column-group}.sm\:table-footer-group{display:table-footer-group}.sm\:table-header-group{display:table-header-group}.sm\:table-row-group{display:table-row-group}.sm\:table-row{display:table-row}.sm\:flow-root{display:flow-root}.sm\:grid{display:grid}.sm\:inline-grid{display:inline-grid}.sm\:contents{display:contents}.sm\:hidden{display:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:flex-col{flex-direction:column}.sm\:flex-col-reverse{flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-no-wrap{flex-wrap:nowrap}.sm\:place-items-auto{place-items:auto}.sm\:place-items-start{place-items:start}.sm\:place-items-end{place-items:end}.sm\:place-items-center{place-items:center}.sm\:place-items-stretch{place-items:stretch}.sm\:place-content-center{place-content:center}.sm\:place-content-start{place-content:start}.sm\:place-content-end{place-content:end}.sm\:place-content-between{place-content:space-between}.sm\:place-content-around{place-content:space-around}.sm\:place-content-evenly{place-content:space-evenly}.sm\:place-content-stretch{place-content:stretch}.sm\:place-self-auto{place-self:auto}.sm\:place-self-start{place-self:start}.sm\:place-self-end{place-self:end}.sm\:place-self-center{place-self:center}.sm\:place-self-stretch{place-self:stretch}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:items-baseline{align-items:baseline}.sm\:items-stretch{align-items:stretch}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:content-evenly{align-content:space-evenly}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:justify-items-auto{justify-items:auto}.sm\:justify-items-start{justify-items:start}.sm\:justify-items-end{justify-items:end}.sm\:justify-items-center{justify-items:center}.sm\:justify-items-stretch{justify-items:stretch}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:justify-evenly{justify-content:space-evenly}.sm\:justify-self-auto{justify-self:auto}.sm\:justify-self-start{justify-self:start}.sm\:justify-self-end{justify-self:end}.sm\:justify-self-center{justify-self:center}.sm\:justify-self-stretch{justify-self:stretch}.sm\:flex-1{flex:1 1 0%}.sm\:flex-auto{flex:1 1 auto}.sm\:flex-initial{flex:0 1 auto}.sm\:flex-none{flex:none}.sm\:flex-grow-0{flex-grow:0}.sm\:flex-grow{flex-grow:1}.sm\:flex-shrink-0{flex-shrink:0}.sm\:flex-shrink{flex-shrink:1}.sm\:order-1{order:1}.sm\:order-2{order:2}.sm\:order-3{order:3}.sm\:order-4{order:4}.sm\:order-5{order:5}.sm\:order-6{order:6}.sm\:order-7{order:7}.sm\:order-8{order:8}.sm\:order-9{order:9}.sm\:order-10{order:10}.sm\:order-11{order:11}.sm\:order-12{order:12}.sm\:order-first{order:-9999}.sm\:order-last{order:9999}.sm\:order-none{order:0}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clearfix:after{content:"";display:table;clear:both}.sm\:clear-left{clear:left}.sm\:clear-right{clear:right}.sm\:clear-both{clear:both}.sm\:clear-none{clear:none}.sm\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.sm\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.sm\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.sm\:font-hairline{font-weight:100}.sm\:font-thin{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:hover\:font-hairline:hover{font-weight:100}.sm\:hover\:font-thin:hover{font-weight:200}.sm\:hover\:font-light:hover{font-weight:300}.sm\:hover\:font-normal:hover{font-weight:400}.sm\:hover\:font-medium:hover{font-weight:500}.sm\:hover\:font-semibold:hover{font-weight:600}.sm\:hover\:font-bold:hover{font-weight:700}.sm\:hover\:font-extrabold:hover{font-weight:800}.sm\:hover\:font-black:hover{font-weight:900}.sm\:focus\:font-hairline:focus{font-weight:100}.sm\:focus\:font-thin:focus{font-weight:200}.sm\:focus\:font-light:focus{font-weight:300}.sm\:focus\:font-normal:focus{font-weight:400}.sm\:focus\:font-medium:focus{font-weight:500}.sm\:focus\:font-semibold:focus{font-weight:600}.sm\:focus\:font-bold:focus{font-weight:700}.sm\:focus\:font-extrabold:focus{font-weight:800}.sm\:focus\:font-black:focus{font-weight:900}.sm\:h-0{height:0}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-5{height:1.25rem}.sm\:h-6{height:1.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-24{height:6rem}.sm\:h-32{height:8rem}.sm\:h-40{height:10rem}.sm\:h-48{height:12rem}.sm\:h-56{height:14rem}.sm\:h-64{height:16rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:text-xs{font-size:.75rem}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}.sm\:text-4xl{font-size:2.25rem}.sm\:text-5xl{font-size:3rem}.sm\:text-6xl{font-size:4rem}.sm\:leading-3{line-height:.75rem}.sm\:leading-4{line-height:1rem}.sm\:leading-5{line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}.sm\:leading-7{line-height:1.75rem}.sm\:leading-8{line-height:2rem}.sm\:leading-9{line-height:2.25rem}.sm\:leading-10{line-height:2.5rem}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-snug{line-height:1.375}.sm\:leading-normal{line-height:1.5}.sm\:leading-relaxed{line-height:1.625}.sm\:leading-loose{line-height:2}.sm\:list-inside{list-style-position:inside}.sm\:list-outside{list-style-position:outside}.sm\:list-none{list-style-type:none}.sm\:list-disc{list-style-type:disc}.sm\:list-decimal{list-style-type:decimal}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-5{margin:1.25rem}.sm\:m-6{margin:1.5rem}.sm\:m-8{margin:2rem}.sm\:m-10{margin:2.5rem}.sm\:m-12{margin:3rem}.sm\:m-16{margin:4rem}.sm\:m-20{margin:5rem}.sm\:m-24{margin:6rem}.sm\:m-32{margin:8rem}.sm\:m-40{margin:10rem}.sm\:m-48{margin:12rem}.sm\:m-56{margin:14rem}.sm\:m-64{margin:16rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-5{margin:-1.25rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-8{margin:-2rem}.sm\:-m-10{margin:-2.5rem}.sm\:-m-12{margin:-3rem}.sm\:-m-16{margin:-4rem}.sm\:-m-20{margin:-5rem}.sm\:-m-24{margin:-6rem}.sm\:-m-32{margin:-8rem}.sm\:-m-40{margin:-10rem}.sm\:-m-48{margin:-12rem}.sm\:-m-56{margin:-14rem}.sm\:-m-64{margin:-16rem}.sm\:-m-px{margin:-1px}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.sm\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.sm\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.sm\:my-12{margin-top:3rem;margin-bottom:3rem}.sm\:mx-12{margin-left:3rem;margin-right:3rem}.sm\:my-16{margin-top:4rem;margin-bottom:4rem}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:my-20{margin-top:5rem;margin-bottom:5rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:my-24{margin-top:6rem;margin-bottom:6rem}.sm\:mx-24{margin-left:6rem;margin-right:6rem}.sm\:my-32{margin-top:8rem;margin-bottom:8rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:my-40{margin-top:10rem;margin-bottom:10rem}.sm\:mx-40{margin-left:10rem;margin-right:10rem}.sm\:my-48{margin-top:12rem;margin-bottom:12rem}.sm\:mx-48{margin-left:12rem;margin-right:12rem}.sm\:my-56{margin-top:14rem;margin-bottom:14rem}.sm\:mx-56{margin-left:14rem;margin-right:14rem}.sm\:my-64{margin-top:16rem;margin-bottom:16rem}.sm\:mx-64{margin-left:16rem;margin-right:16rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.sm\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.sm\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.sm\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.sm\:-mx-16{margin-left:-4rem;margin-right:-4rem}.sm\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.sm\:-mx-20{margin-left:-5rem;margin-right:-5rem}.sm\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.sm\:-mx-24{margin-left:-6rem;margin-right:-6rem}.sm\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.sm\:-mx-32{margin-left:-8rem;margin-right:-8rem}.sm\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.sm\:-mx-40{margin-left:-10rem;margin-right:-10rem}.sm\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.sm\:-mx-48{margin-left:-12rem;margin-right:-12rem}.sm\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.sm\:-mx-56{margin-left:-14rem;margin-right:-14rem}.sm\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.sm\:-mx-64{margin-left:-16rem;margin-right:-16rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mt-1{margin-top:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mb-1{margin-bottom:.25rem}.sm\:ml-1{margin-left:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mr-3{margin-right:.75rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mr-4{margin-right:1rem}.sm\:mb-4{margin-bottom:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-5{margin-top:1.25rem}.sm\:mr-5{margin-right:1.25rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:mr-8{margin-right:2rem}.sm\:mb-8{margin-bottom:2rem}.sm\:ml-8{margin-left:2rem}.sm\:mt-10{margin-top:2.5rem}.sm\:mr-10{margin-right:2.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:ml-10{margin-left:2.5rem}.sm\:mt-12{margin-top:3rem}.sm\:mr-12{margin-right:3rem}.sm\:mb-12{margin-bottom:3rem}.sm\:ml-12{margin-left:3rem}.sm\:mt-16{margin-top:4rem}.sm\:mr-16{margin-right:4rem}.sm\:mb-16{margin-bottom:4rem}.sm\:ml-16{margin-left:4rem}.sm\:mt-20{margin-top:5rem}.sm\:mr-20{margin-right:5rem}.sm\:mb-20{margin-bottom:5rem}.sm\:ml-20{margin-left:5rem}.sm\:mt-24{margin-top:6rem}.sm\:mr-24{margin-right:6rem}.sm\:mb-24{margin-bottom:6rem}.sm\:ml-24{margin-left:6rem}.sm\:mt-32{margin-top:8rem}.sm\:mr-32{margin-right:8rem}.sm\:mb-32{margin-bottom:8rem}.sm\:ml-32{margin-left:8rem}.sm\:mt-40{margin-top:10rem}.sm\:mr-40{margin-right:10rem}.sm\:mb-40{margin-bottom:10rem}.sm\:ml-40{margin-left:10rem}.sm\:mt-48{margin-top:12rem}.sm\:mr-48{margin-right:12rem}.sm\:mb-48{margin-bottom:12rem}.sm\:ml-48{margin-left:12rem}.sm\:mt-56{margin-top:14rem}.sm\:mr-56{margin-right:14rem}.sm\:mb-56{margin-bottom:14rem}.sm\:ml-56{margin-left:14rem}.sm\:mt-64{margin-top:16rem}.sm\:mr-64{margin-right:16rem}.sm\:mb-64{margin-bottom:16rem}.sm\:ml-64{margin-left:16rem}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mt-px{margin-top:1px}.sm\:mr-px{margin-right:1px}.sm\:mb-px{margin-bottom:1px}.sm\:ml-px{margin-left:1px}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-ml-1{margin-left:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-mt-5{margin-top:-1.25rem}.sm\:-mr-5{margin-right:-1.25rem}.sm\:-mb-5{margin-bottom:-1.25rem}.sm\:-ml-5{margin-left:-1.25rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-mt-10{margin-top:-2.5rem}.sm\:-mr-10{margin-right:-2.5rem}.sm\:-mb-10{margin-bottom:-2.5rem}.sm\:-ml-10{margin-left:-2.5rem}.sm\:-mt-12{margin-top:-3rem}.sm\:-mr-12{margin-right:-3rem}.sm\:-mb-12{margin-bottom:-3rem}.sm\:-ml-12{margin-left:-3rem}.sm\:-mt-16{margin-top:-4rem}.sm\:-mr-16{margin-right:-4rem}.sm\:-mb-16{margin-bottom:-4rem}.sm\:-ml-16{margin-left:-4rem}.sm\:-mt-20{margin-top:-5rem}.sm\:-mr-20{margin-right:-5rem}.sm\:-mb-20{margin-bottom:-5rem}.sm\:-ml-20{margin-left:-5rem}.sm\:-mt-24{margin-top:-6rem}.sm\:-mr-24{margin-right:-6rem}.sm\:-mb-24{margin-bottom:-6rem}.sm\:-ml-24{margin-left:-6rem}.sm\:-mt-32{margin-top:-8rem}.sm\:-mr-32{margin-right:-8rem}.sm\:-mb-32{margin-bottom:-8rem}.sm\:-ml-32{margin-left:-8rem}.sm\:-mt-40{margin-top:-10rem}.sm\:-mr-40{margin-right:-10rem}.sm\:-mb-40{margin-bottom:-10rem}.sm\:-ml-40{margin-left:-10rem}.sm\:-mt-48{margin-top:-12rem}.sm\:-mr-48{margin-right:-12rem}.sm\:-mb-48{margin-bottom:-12rem}.sm\:-ml-48{margin-left:-12rem}.sm\:-mt-56{margin-top:-14rem}.sm\:-mr-56{margin-right:-14rem}.sm\:-mb-56{margin-bottom:-14rem}.sm\:-ml-56{margin-left:-14rem}.sm\:-mt-64{margin-top:-16rem}.sm\:-mr-64{margin-right:-16rem}.sm\:-mb-64{margin-bottom:-16rem}.sm\:-ml-64{margin-left:-16rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mr-px{margin-right:-1px}.sm\:-mb-px{margin-bottom:-1px}.sm\:-ml-px{margin-left:-1px}.sm\:max-h-full{max-height:100%}.sm\:max-h-screen{max-height:100vh}.sm\:max-w-none{max-width:none}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-4xl{max-width:56rem}.sm\:max-w-5xl{max-width:64rem}.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-full{max-width:100%}.sm\:max-w-screen-xs{max-width:360px}.sm\:max-w-screen-sm{max-width:640px}.sm\:max-w-screen-md{max-width:768px}.sm\:max-w-screen-lg{max-width:1024px}.sm\:max-w-screen-xl{max-width:1280px}.sm\:max-w-screen-xxl{max-width:1480px}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:object-contain{-o-object-fit:contain;object-fit:contain}.sm\:object-cover{-o-object-fit:cover;object-fit:cover}.sm\:object-fill{-o-object-fit:fill;object-fit:fill}.sm\:object-none{-o-object-fit:none;object-fit:none}.sm\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.sm\:object-bottom{-o-object-position:bottom;object-position:bottom}.sm\:object-center{-o-object-position:center;object-position:center}.sm\:object-left{-o-object-position:left;object-position:left}.sm\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.sm\:object-left-top{-o-object-position:left top;object-position:left top}.sm\:object-right{-o-object-position:right;object-position:right}.sm\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.sm\:object-right-top{-o-object-position:right top;object-position:right top}.sm\:object-top{-o-object-position:top;object-position:top}.sm\:opacity-0{opacity:0}.sm\:opacity-25{opacity:.25}.sm\:opacity-50{opacity:.5}.sm\:opacity-75{opacity:.75}.sm\:opacity-100{opacity:1}.sm\:hover\:opacity-0:hover{opacity:0}.sm\:hover\:opacity-25:hover{opacity:.25}.sm\:hover\:opacity-50:hover{opacity:.5}.sm\:hover\:opacity-75:hover{opacity:.75}.sm\:hover\:opacity-100:hover{opacity:1}.sm\:focus\:opacity-0:focus{opacity:0}.sm\:focus\:opacity-25:focus{opacity:.25}.sm\:focus\:opacity-50:focus{opacity:.5}.sm\:focus\:opacity-75:focus{opacity:.75}.sm\:focus\:opacity-100:focus{opacity:1}.sm\:outline-none{outline:2px solid transparent;outline-offset:2px}.sm\:outline-white{outline:2px dotted #fff;outline-offset:2px}.sm\:outline-black{outline:2px dotted #000;outline-offset:2px}.sm\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.sm\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.sm\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-auto{overflow-x:auto}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-hidden{overflow-x:hidden}.sm\:overflow-y-hidden{overflow-y:hidden}.sm\:overflow-x-visible{overflow-x:visible}.sm\:overflow-y-visible{overflow-y:visible}.sm\:overflow-x-scroll{overflow-x:scroll}.sm\:overflow-y-scroll{overflow-y:scroll}.sm\:scrolling-touch{-webkit-overflow-scrolling:touch}.sm\:scrolling-auto{-webkit-overflow-scrolling:auto}.sm\:overscroll-auto{overscroll-behavior:auto}.sm\:overscroll-contain{overscroll-behavior:contain}.sm\:overscroll-none{overscroll-behavior:none}.sm\:overscroll-y-auto{overscroll-behavior-y:auto}.sm\:overscroll-y-contain{overscroll-behavior-y:contain}.sm\:overscroll-y-none{overscroll-behavior-y:none}.sm\:overscroll-x-auto{overscroll-behavior-x:auto}.sm\:overscroll-x-contain{overscroll-behavior-x:contain}.sm\:overscroll-x-none{overscroll-behavior-x:none}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-10{padding:2.5rem}.sm\:p-12{padding:3rem}.sm\:p-16{padding:4rem}.sm\:p-20{padding:5rem}.sm\:p-24{padding:6rem}.sm\:p-32{padding:8rem}.sm\:p-40{padding:10rem}.sm\:p-48{padding:12rem}.sm\:p-56{padding:14rem}.sm\:p-64{padding:16rem}.sm\:p-px{padding:1px}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:px-16{padding-left:4rem;padding-right:4rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:px-20{padding-left:5rem;padding-right:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:px-24{padding-left:6rem;padding-right:6rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:px-32{padding-left:8rem;padding-right:8rem}.sm\:py-40{padding-top:10rem;padding-bottom:10rem}.sm\:px-40{padding-left:10rem;padding-right:10rem}.sm\:py-48{padding-top:12rem;padding-bottom:12rem}.sm\:px-48{padding-left:12rem;padding-right:12rem}.sm\:py-56{padding-top:14rem;padding-bottom:14rem}.sm\:px-56{padding-left:14rem;padding-right:14rem}.sm\:py-64{padding-top:16rem;padding-bottom:16rem}.sm\:px-64{padding-left:16rem;padding-right:16rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:pt-1{padding-top:.25rem}.sm\:pr-1{padding-right:.25rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pl-1{padding-left:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pl-2{padding-left:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pr-3{padding-right:.75rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pr-4{padding-right:1rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pr-5{padding-right:1.25rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:pl-5{padding-left:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pl-8{padding-left:2rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pt-12{padding-top:3rem}.sm\:pr-12{padding-right:3rem}.sm\:pb-12{padding-bottom:3rem}.sm\:pl-12{padding-left:3rem}.sm\:pt-16{padding-top:4rem}.sm\:pr-16{padding-right:4rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pl-16{padding-left:4rem}.sm\:pt-20{padding-top:5rem}.sm\:pr-20{padding-right:5rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pl-20{padding-left:5rem}.sm\:pt-24{padding-top:6rem}.sm\:pr-24{padding-right:6rem}.sm\:pb-24{padding-bottom:6rem}.sm\:pl-24{padding-left:6rem}.sm\:pt-32{padding-top:8rem}.sm\:pr-32{padding-right:8rem}.sm\:pb-32{padding-bottom:8rem}.sm\:pl-32{padding-left:8rem}.sm\:pt-40{padding-top:10rem}.sm\:pr-40{padding-right:10rem}.sm\:pb-40{padding-bottom:10rem}.sm\:pl-40{padding-left:10rem}.sm\:pt-48{padding-top:12rem}.sm\:pr-48{padding-right:12rem}.sm\:pb-48{padding-bottom:12rem}.sm\:pl-48{padding-left:12rem}.sm\:pt-56{padding-top:14rem}.sm\:pr-56{padding-right:14rem}.sm\:pb-56{padding-bottom:14rem}.sm\:pl-56{padding-left:14rem}.sm\:pt-64{padding-top:16rem}.sm\:pr-64{padding-right:16rem}.sm\:pb-64{padding-bottom:16rem}.sm\:pl-64{padding-left:16rem}.sm\:pt-px{padding-top:1px}.sm\:pr-px{padding-right:1px}.sm\:pb-px{padding-bottom:1px}.sm\:pl-px{padding-left:1px}.sm\:placeholder-transparent::placeholder{color:transparent}.sm\:placeholder-current::placeholder{color:currentColor}.sm\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.sm\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.sm\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.sm\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.sm\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.sm\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.sm\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.sm\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.sm\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.sm\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.sm\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.sm\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.sm\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.sm\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.sm\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.sm\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.sm\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.sm\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.sm\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.sm\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.sm\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.sm\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.sm\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.sm\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.sm\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.sm\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.sm\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.sm\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.sm\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.sm\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.sm\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.sm\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.sm\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.sm\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.sm\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.sm\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.sm\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.sm\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.sm\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.sm\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.sm\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.sm\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.sm\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.sm\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.sm\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.sm\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.sm\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.sm\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.sm\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.sm\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.sm\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.sm\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.sm\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.sm\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.sm\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.sm\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.sm\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.sm\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.sm\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.sm\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.sm\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.sm\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.sm\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.sm\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.sm\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.sm\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.sm\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.sm\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.sm\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.sm\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.sm\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.sm\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.sm\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.sm\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.sm\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.sm\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.sm\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.sm\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.sm\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.sm\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.sm\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.sm\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.sm\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.sm\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.sm\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.sm\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.sm\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.sm\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.sm\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.sm\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.sm\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.sm\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.sm\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.sm\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.sm\:focus\:placeholder-current:focus::placeholder{color:currentColor}.sm\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.sm\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.sm\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.sm\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.sm\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.sm\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.sm\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.sm\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.sm\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.sm\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.sm\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.sm\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.sm\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.sm\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.sm\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.sm\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.sm\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.sm\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.sm\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.sm\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.sm\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.sm\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.sm\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.sm\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:sticky{position:sticky}.sm\:inset-0{top:0;right:0;bottom:0;left:0}.sm\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.sm\:inset-y-0{top:0;bottom:0}.sm\:inset-x-0{right:0;left:0}.sm\:inset-y-auto{top:auto;bottom:auto}.sm\:inset-x-auto{right:auto;left:auto}.sm\:top-0{top:0}.sm\:right-0{right:0}.sm\:bottom-0{bottom:0}.sm\:left-0{left:0}.sm\:top-auto{top:auto}.sm\:right-auto{right:auto}.sm\:bottom-auto{bottom:auto}.sm\:left-auto{left:auto}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:shadow-none{box-shadow:none}.sm\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:hover\:shadow-none:hover{box-shadow:none}.sm\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.sm\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.sm\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.sm\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.sm\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.sm\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.sm\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.sm\:focus\:shadow-none:focus{box-shadow:none}.sm\:fill-current{fill:currentColor}.sm\:stroke-current{stroke:currentColor}.sm\:stroke-0{stroke-width:0}.sm\:stroke-1{stroke-width:1}.sm\:stroke-2{stroke-width:2}.sm\:table-auto{table-layout:auto}.sm\:table-fixed{table-layout:fixed}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:text-transparent{color:transparent}.sm\:text-current{color:currentColor}.sm\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-current:hover{color:currentColor}.sm\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:focus\:text-transparent:focus{color:transparent}.sm\:focus\:text-current:focus{color:currentColor}.sm\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.sm\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.sm\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.sm\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.sm\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.sm\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.sm\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.sm\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.sm\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.sm\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.sm\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.sm\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.sm\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.sm\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.sm\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.sm\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.sm\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.sm\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.sm\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.sm\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.sm\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.sm\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.sm\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.sm\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.sm\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.sm\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.sm\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.sm\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.sm\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.sm\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.sm\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.sm\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.sm\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.sm\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.sm\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.sm\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.sm\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.sm\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.sm\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.sm\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.sm\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.sm\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.sm\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.sm\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.sm\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.sm\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.sm\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.sm\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.sm\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.sm\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.sm\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.sm\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.sm\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.sm\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.sm\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.sm\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.sm\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.sm\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.sm\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.sm\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.sm\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.sm\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.sm\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.sm\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.sm\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.sm\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.sm\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.sm\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.sm\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.sm\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.sm\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.sm\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.sm\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.sm\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.sm\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.sm\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.sm\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.sm\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.sm\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.sm\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.sm\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.sm\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.sm\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.sm\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.sm\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.sm\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.sm\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.sm\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.sm\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.sm\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.sm\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.sm\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.sm\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.sm\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.sm\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.sm\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.sm\:text-opacity-0{--text-opacity:0}.sm\:text-opacity-25{--text-opacity:0.25}.sm\:text-opacity-50{--text-opacity:0.5}.sm\:text-opacity-75{--text-opacity:0.75}.sm\:text-opacity-100{--text-opacity:1}.sm\:hover\:text-opacity-0:hover{--text-opacity:0}.sm\:hover\:text-opacity-25:hover{--text-opacity:0.25}.sm\:hover\:text-opacity-50:hover{--text-opacity:0.5}.sm\:hover\:text-opacity-75:hover{--text-opacity:0.75}.sm\:hover\:text-opacity-100:hover{--text-opacity:1}.sm\:focus\:text-opacity-0:focus{--text-opacity:0}.sm\:focus\:text-opacity-25:focus{--text-opacity:0.25}.sm\:focus\:text-opacity-50:focus{--text-opacity:0.5}.sm\:focus\:text-opacity-75:focus{--text-opacity:0.75}.sm\:focus\:text-opacity-100:focus{--text-opacity:1}.sm\:italic{font-style:italic}.sm\:not-italic{font-style:normal}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:focus\:underline:focus{text-decoration:underline}.sm\:focus\:line-through:focus{text-decoration:line-through}.sm\:focus\:no-underline:focus{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:diagonal-fractions,.sm\:lining-nums,.sm\:oldstyle-nums,.sm\:ordinal,.sm\:proportional-nums,.sm\:slashed-zero,.sm\:stacked-fractions,.sm\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.sm\:normal-nums{font-variant-numeric:normal}.sm\:ordinal{--font-variant-numeric-ordinal:ordinal}.sm\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.sm\:lining-nums{--font-variant-numeric-figure:lining-nums}.sm\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.sm\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.sm\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.sm\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.sm\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.sm\:tracking-tighter{letter-spacing:-.05em}.sm\:tracking-tight{letter-spacing:-.025em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.025em}.sm\:tracking-wider{letter-spacing:.05em}.sm\:tracking-widest{letter-spacing:.1em}.sm\:select-none{-webkit-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;user-select:text}.sm\:select-all{-webkit-user-select:all;user-select:all}.sm\:select-auto{-webkit-user-select:auto;user-select:auto}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-no-wrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.sm\:break-words{word-wrap:break-word;overflow-wrap:break-word}.sm\:break-all{word-break:break-all}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:w-0{width:0}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-5{width:1.25rem}.sm\:w-6{width:1.5rem}.sm\:w-8{width:2rem}.sm\:w-10{width:2.5rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-40{width:10rem}.sm\:w-48{width:12rem}.sm\:w-56{width:14rem}.sm\:w-64{width:16rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.333333%}.sm\:w-2\/3{width:66.666667%}.sm\:w-1\/4{width:25%}.sm\:w-2\/4{width:50%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.666667%}.sm\:w-2\/6{width:33.333333%}.sm\:w-3\/6{width:50%}.sm\:w-4\/6{width:66.666667%}.sm\:w-5\/6{width:83.333333%}.sm\:w-1\/12{width:8.333333%}.sm\:w-2\/12{width:16.666667%}.sm\:w-3\/12{width:25%}.sm\:w-4\/12{width:33.333333%}.sm\:w-5\/12{width:41.666667%}.sm\:w-6\/12{width:50%}.sm\:w-7\/12{width:58.333333%}.sm\:w-8\/12{width:66.666667%}.sm\:w-9\/12{width:75%}.sm\:w-10\/12{width:83.333333%}.sm\:w-11\/12{width:91.666667%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}.sm\:gap-0{grid-gap:0;gap:0}.sm\:gap-1{grid-gap:.25rem;gap:.25rem}.sm\:gap-2{grid-gap:.5rem;gap:.5rem}.sm\:gap-3{grid-gap:.75rem;gap:.75rem}.sm\:gap-4{grid-gap:1rem;gap:1rem}.sm\:gap-5{grid-gap:1.25rem;gap:1.25rem}.sm\:gap-6{grid-gap:1.5rem;gap:1.5rem}.sm\:gap-8{grid-gap:2rem;gap:2rem}.sm\:gap-10{grid-gap:2.5rem;gap:2.5rem}.sm\:gap-12{grid-gap:3rem;gap:3rem}.sm\:gap-16{grid-gap:4rem;gap:4rem}.sm\:gap-20{grid-gap:5rem;gap:5rem}.sm\:gap-24{grid-gap:6rem;gap:6rem}.sm\:gap-32{grid-gap:8rem;gap:8rem}.sm\:gap-40{grid-gap:10rem;gap:10rem}.sm\:gap-48{grid-gap:12rem;gap:12rem}.sm\:gap-56{grid-gap:14rem;gap:14rem}.sm\:gap-64{grid-gap:16rem;gap:16rem}.sm\:gap-px{grid-gap:1px;gap:1px}.sm\:col-gap-0{grid-column-gap:0;column-gap:0}.sm\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.sm\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.sm\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.sm\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.sm\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.sm\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.sm\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.sm\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.sm\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.sm\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.sm\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.sm\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.sm\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.sm\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.sm\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.sm\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.sm\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.sm\:col-gap-px{grid-column-gap:1px;column-gap:1px}.sm\:gap-x-0{grid-column-gap:0;column-gap:0}.sm\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.sm\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.sm\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.sm\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.sm\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.sm\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.sm\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.sm\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.sm\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.sm\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.sm\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.sm\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.sm\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.sm\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.sm\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.sm\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.sm\:gap-x-px{grid-column-gap:1px;column-gap:1px}.sm\:row-gap-0{grid-row-gap:0;row-gap:0}.sm\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.sm\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.sm\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.sm\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.sm\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.sm\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.sm\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.sm\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.sm\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.sm\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.sm\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.sm\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.sm\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.sm\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.sm\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.sm\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.sm\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.sm\:row-gap-px{grid-row-gap:1px;row-gap:1px}.sm\:gap-y-0{grid-row-gap:0;row-gap:0}.sm\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.sm\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.sm\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.sm\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.sm\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.sm\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.sm\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.sm\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.sm\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.sm\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.sm\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.sm\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.sm\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.sm\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.sm\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.sm\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.sm\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.sm\:gap-y-px{grid-row-gap:1px;row-gap:1px}.sm\:grid-flow-row{grid-auto-flow:row}.sm\:grid-flow-col{grid-auto-flow:column}.sm\:grid-flow-row-dense{grid-auto-flow:row dense}.sm\:grid-flow-col-dense{grid-auto-flow:column dense}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:auto-cols-auto{grid-auto-columns:auto}.sm\:auto-cols-min{grid-auto-columns:min-content}.sm\:auto-cols-max{grid-auto-columns:max-content}.sm\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.sm\:col-auto{grid-column:auto}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-full{grid-column:1/-1}.sm\:col-start-1{grid-column-start:1}.sm\:col-start-2{grid-column-start:2}.sm\:col-start-3{grid-column-start:3}.sm\:col-start-4{grid-column-start:4}.sm\:col-start-5{grid-column-start:5}.sm\:col-start-6{grid-column-start:6}.sm\:col-start-7{grid-column-start:7}.sm\:col-start-8{grid-column-start:8}.sm\:col-start-9{grid-column-start:9}.sm\:col-start-10{grid-column-start:10}.sm\:col-start-11{grid-column-start:11}.sm\:col-start-12{grid-column-start:12}.sm\:col-start-13{grid-column-start:13}.sm\:col-start-auto{grid-column-start:auto}.sm\:col-end-1{grid-column-end:1}.sm\:col-end-2{grid-column-end:2}.sm\:col-end-3{grid-column-end:3}.sm\:col-end-4{grid-column-end:4}.sm\:col-end-5{grid-column-end:5}.sm\:col-end-6{grid-column-end:6}.sm\:col-end-7{grid-column-end:7}.sm\:col-end-8{grid-column-end:8}.sm\:col-end-9{grid-column-end:9}.sm\:col-end-10{grid-column-end:10}.sm\:col-end-11{grid-column-end:11}.sm\:col-end-12{grid-column-end:12}.sm\:col-end-13{grid-column-end:13}.sm\:col-end-auto{grid-column-end:auto}.sm\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.sm\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.sm\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.sm\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.sm\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.sm\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.sm\:grid-rows-none{grid-template-rows:none}.sm\:auto-rows-auto{grid-auto-rows:auto}.sm\:auto-rows-min{grid-auto-rows:min-content}.sm\:auto-rows-max{grid-auto-rows:max-content}.sm\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.sm\:row-auto{grid-row:auto}.sm\:row-span-1{grid-row:span 1/span 1}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:row-span-3{grid-row:span 3/span 3}.sm\:row-span-4{grid-row:span 4/span 4}.sm\:row-span-5{grid-row:span 5/span 5}.sm\:row-span-6{grid-row:span 6/span 6}.sm\:row-span-full{grid-row:1/-1}.sm\:row-start-1{grid-row-start:1}.sm\:row-start-2{grid-row-start:2}.sm\:row-start-3{grid-row-start:3}.sm\:row-start-4{grid-row-start:4}.sm\:row-start-5{grid-row-start:5}.sm\:row-start-6{grid-row-start:6}.sm\:row-start-7{grid-row-start:7}.sm\:row-start-auto{grid-row-start:auto}.sm\:row-end-1{grid-row-end:1}.sm\:row-end-2{grid-row-end:2}.sm\:row-end-3{grid-row-end:3}.sm\:row-end-4{grid-row-end:4}.sm\:row-end-5{grid-row-end:5}.sm\:row-end-6{grid-row-end:6}.sm\:row-end-7{grid-row-end:7}.sm\:row-end-auto{grid-row-end:auto}.sm\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.sm\:transform-none{transform:none}.sm\:origin-center{transform-origin:center}.sm\:origin-top{transform-origin:top}.sm\:origin-top-right{transform-origin:top right}.sm\:origin-right{transform-origin:right}.sm\:origin-bottom-right{transform-origin:bottom right}.sm\:origin-bottom{transform-origin:bottom}.sm\:origin-bottom-left{transform-origin:bottom left}.sm\:origin-left{transform-origin:left}.sm\:origin-top-left{transform-origin:top left}.sm\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.sm\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.sm\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:scale-x-0{--transform-scale-x:0}.sm\:scale-x-50{--transform-scale-x:.5}.sm\:scale-x-75{--transform-scale-x:.75}.sm\:scale-x-90{--transform-scale-x:.9}.sm\:scale-x-95{--transform-scale-x:.95}.sm\:scale-x-100{--transform-scale-x:1}.sm\:scale-x-105{--transform-scale-x:1.05}.sm\:scale-x-110{--transform-scale-x:1.1}.sm\:scale-x-125{--transform-scale-x:1.25}.sm\:scale-x-150{--transform-scale-x:1.5}.sm\:scale-y-0{--transform-scale-y:0}.sm\:scale-y-50{--transform-scale-y:.5}.sm\:scale-y-75{--transform-scale-y:.75}.sm\:scale-y-90{--transform-scale-y:.9}.sm\:scale-y-95{--transform-scale-y:.95}.sm\:scale-y-100{--transform-scale-y:1}.sm\:scale-y-105{--transform-scale-y:1.05}.sm\:scale-y-110{--transform-scale-y:1.1}.sm\:scale-y-125{--transform-scale-y:1.25}.sm\:scale-y-150{--transform-scale-y:1.5}.sm\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.sm\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.sm\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:hover\:scale-x-0:hover{--transform-scale-x:0}.sm\:hover\:scale-x-50:hover{--transform-scale-x:.5}.sm\:hover\:scale-x-75:hover{--transform-scale-x:.75}.sm\:hover\:scale-x-90:hover{--transform-scale-x:.9}.sm\:hover\:scale-x-95:hover{--transform-scale-x:.95}.sm\:hover\:scale-x-100:hover{--transform-scale-x:1}.sm\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.sm\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.sm\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.sm\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.sm\:hover\:scale-y-0:hover{--transform-scale-y:0}.sm\:hover\:scale-y-50:hover{--transform-scale-y:.5}.sm\:hover\:scale-y-75:hover{--transform-scale-y:.75}.sm\:hover\:scale-y-90:hover{--transform-scale-y:.9}.sm\:hover\:scale-y-95:hover{--transform-scale-y:.95}.sm\:hover\:scale-y-100:hover{--transform-scale-y:1}.sm\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.sm\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.sm\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.sm\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.sm\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.sm\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.sm\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.sm\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.sm\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.sm\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.sm\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.sm\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.sm\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.sm\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.sm\:focus\:scale-x-0:focus{--transform-scale-x:0}.sm\:focus\:scale-x-50:focus{--transform-scale-x:.5}.sm\:focus\:scale-x-75:focus{--transform-scale-x:.75}.sm\:focus\:scale-x-90:focus{--transform-scale-x:.9}.sm\:focus\:scale-x-95:focus{--transform-scale-x:.95}.sm\:focus\:scale-x-100:focus{--transform-scale-x:1}.sm\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.sm\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.sm\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.sm\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.sm\:focus\:scale-y-0:focus{--transform-scale-y:0}.sm\:focus\:scale-y-50:focus{--transform-scale-y:.5}.sm\:focus\:scale-y-75:focus{--transform-scale-y:.75}.sm\:focus\:scale-y-90:focus{--transform-scale-y:.9}.sm\:focus\:scale-y-95:focus{--transform-scale-y:.95}.sm\:focus\:scale-y-100:focus{--transform-scale-y:1}.sm\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.sm\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.sm\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.sm\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.sm\:rotate-0{--transform-rotate:0}.sm\:rotate-1{--transform-rotate:1deg}.sm\:rotate-2{--transform-rotate:2deg}.sm\:rotate-3{--transform-rotate:3deg}.sm\:rotate-6{--transform-rotate:6deg}.sm\:rotate-12{--transform-rotate:12deg}.sm\:rotate-45{--transform-rotate:45deg}.sm\:rotate-90{--transform-rotate:90deg}.sm\:rotate-180{--transform-rotate:180deg}.sm\:-rotate-180{--transform-rotate:-180deg}.sm\:-rotate-90{--transform-rotate:-90deg}.sm\:-rotate-45{--transform-rotate:-45deg}.sm\:-rotate-12{--transform-rotate:-12deg}.sm\:-rotate-6{--transform-rotate:-6deg}.sm\:-rotate-3{--transform-rotate:-3deg}.sm\:-rotate-2{--transform-rotate:-2deg}.sm\:-rotate-1{--transform-rotate:-1deg}.sm\:hover\:rotate-0:hover{--transform-rotate:0}.sm\:hover\:rotate-1:hover{--transform-rotate:1deg}.sm\:hover\:rotate-2:hover{--transform-rotate:2deg}.sm\:hover\:rotate-3:hover{--transform-rotate:3deg}.sm\:hover\:rotate-6:hover{--transform-rotate:6deg}.sm\:hover\:rotate-12:hover{--transform-rotate:12deg}.sm\:hover\:rotate-45:hover{--transform-rotate:45deg}.sm\:hover\:rotate-90:hover{--transform-rotate:90deg}.sm\:hover\:rotate-180:hover{--transform-rotate:180deg}.sm\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.sm\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.sm\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.sm\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.sm\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.sm\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.sm\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.sm\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.sm\:focus\:rotate-0:focus{--transform-rotate:0}.sm\:focus\:rotate-1:focus{--transform-rotate:1deg}.sm\:focus\:rotate-2:focus{--transform-rotate:2deg}.sm\:focus\:rotate-3:focus{--transform-rotate:3deg}.sm\:focus\:rotate-6:focus{--transform-rotate:6deg}.sm\:focus\:rotate-12:focus{--transform-rotate:12deg}.sm\:focus\:rotate-45:focus{--transform-rotate:45deg}.sm\:focus\:rotate-90:focus{--transform-rotate:90deg}.sm\:focus\:rotate-180:focus{--transform-rotate:180deg}.sm\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.sm\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.sm\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.sm\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.sm\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.sm\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.sm\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.sm\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.sm\:translate-x-0{--transform-translate-x:0}.sm\:translate-x-1{--transform-translate-x:0.25rem}.sm\:translate-x-2{--transform-translate-x:0.5rem}.sm\:translate-x-3{--transform-translate-x:0.75rem}.sm\:translate-x-4{--transform-translate-x:1rem}.sm\:translate-x-5{--transform-translate-x:1.25rem}.sm\:translate-x-6{--transform-translate-x:1.5rem}.sm\:translate-x-8{--transform-translate-x:2rem}.sm\:translate-x-10{--transform-translate-x:2.5rem}.sm\:translate-x-12{--transform-translate-x:3rem}.sm\:translate-x-16{--transform-translate-x:4rem}.sm\:translate-x-20{--transform-translate-x:5rem}.sm\:translate-x-24{--transform-translate-x:6rem}.sm\:translate-x-32{--transform-translate-x:8rem}.sm\:translate-x-40{--transform-translate-x:10rem}.sm\:translate-x-48{--transform-translate-x:12rem}.sm\:translate-x-56{--transform-translate-x:14rem}.sm\:translate-x-64{--transform-translate-x:16rem}.sm\:translate-x-px{--transform-translate-x:1px}.sm\:-translate-x-1{--transform-translate-x:-0.25rem}.sm\:-translate-x-2{--transform-translate-x:-0.5rem}.sm\:-translate-x-3{--transform-translate-x:-0.75rem}.sm\:-translate-x-4{--transform-translate-x:-1rem}.sm\:-translate-x-5{--transform-translate-x:-1.25rem}.sm\:-translate-x-6{--transform-translate-x:-1.5rem}.sm\:-translate-x-8{--transform-translate-x:-2rem}.sm\:-translate-x-10{--transform-translate-x:-2.5rem}.sm\:-translate-x-12{--transform-translate-x:-3rem}.sm\:-translate-x-16{--transform-translate-x:-4rem}.sm\:-translate-x-20{--transform-translate-x:-5rem}.sm\:-translate-x-24{--transform-translate-x:-6rem}.sm\:-translate-x-32{--transform-translate-x:-8rem}.sm\:-translate-x-40{--transform-translate-x:-10rem}.sm\:-translate-x-48{--transform-translate-x:-12rem}.sm\:-translate-x-56{--transform-translate-x:-14rem}.sm\:-translate-x-64{--transform-translate-x:-16rem}.sm\:-translate-x-px{--transform-translate-x:-1px}.sm\:-translate-x-full{--transform-translate-x:-100%}.sm\:-translate-x-1\/2{--transform-translate-x:-50%}.sm\:translate-x-1\/2{--transform-translate-x:50%}.sm\:translate-x-full{--transform-translate-x:100%}.sm\:translate-y-0{--transform-translate-y:0}.sm\:translate-y-1{--transform-translate-y:0.25rem}.sm\:translate-y-2{--transform-translate-y:0.5rem}.sm\:translate-y-3{--transform-translate-y:0.75rem}.sm\:translate-y-4{--transform-translate-y:1rem}.sm\:translate-y-5{--transform-translate-y:1.25rem}.sm\:translate-y-6{--transform-translate-y:1.5rem}.sm\:translate-y-8{--transform-translate-y:2rem}.sm\:translate-y-10{--transform-translate-y:2.5rem}.sm\:translate-y-12{--transform-translate-y:3rem}.sm\:translate-y-16{--transform-translate-y:4rem}.sm\:translate-y-20{--transform-translate-y:5rem}.sm\:translate-y-24{--transform-translate-y:6rem}.sm\:translate-y-32{--transform-translate-y:8rem}.sm\:translate-y-40{--transform-translate-y:10rem}.sm\:translate-y-48{--transform-translate-y:12rem}.sm\:translate-y-56{--transform-translate-y:14rem}.sm\:translate-y-64{--transform-translate-y:16rem}.sm\:translate-y-px{--transform-translate-y:1px}.sm\:-translate-y-1{--transform-translate-y:-0.25rem}.sm\:-translate-y-2{--transform-translate-y:-0.5rem}.sm\:-translate-y-3{--transform-translate-y:-0.75rem}.sm\:-translate-y-4{--transform-translate-y:-1rem}.sm\:-translate-y-5{--transform-translate-y:-1.25rem}.sm\:-translate-y-6{--transform-translate-y:-1.5rem}.sm\:-translate-y-8{--transform-translate-y:-2rem}.sm\:-translate-y-10{--transform-translate-y:-2.5rem}.sm\:-translate-y-12{--transform-translate-y:-3rem}.sm\:-translate-y-16{--transform-translate-y:-4rem}.sm\:-translate-y-20{--transform-translate-y:-5rem}.sm\:-translate-y-24{--transform-translate-y:-6rem}.sm\:-translate-y-32{--transform-translate-y:-8rem}.sm\:-translate-y-40{--transform-translate-y:-10rem}.sm\:-translate-y-48{--transform-translate-y:-12rem}.sm\:-translate-y-56{--transform-translate-y:-14rem}.sm\:-translate-y-64{--transform-translate-y:-16rem}.sm\:-translate-y-px{--transform-translate-y:-1px}.sm\:-translate-y-full{--transform-translate-y:-100%}.sm\:-translate-y-1\/2{--transform-translate-y:-50%}.sm\:translate-y-1\/2{--transform-translate-y:50%}.sm\:translate-y-full{--transform-translate-y:100%}.sm\:hover\:translate-x-0:hover{--transform-translate-x:0}.sm\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.sm\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.sm\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.sm\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.sm\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.sm\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.sm\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.sm\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.sm\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.sm\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.sm\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.sm\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.sm\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.sm\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.sm\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.sm\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.sm\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.sm\:hover\:translate-x-px:hover{--transform-translate-x:1px}.sm\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.sm\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.sm\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.sm\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.sm\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.sm\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.sm\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.sm\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.sm\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.sm\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.sm\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.sm\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.sm\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.sm\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.sm\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.sm\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.sm\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.sm\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.sm\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.sm\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.sm\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.sm\:hover\:translate-x-full:hover{--transform-translate-x:100%}.sm\:hover\:translate-y-0:hover{--transform-translate-y:0}.sm\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.sm\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.sm\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.sm\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.sm\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.sm\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.sm\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.sm\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.sm\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.sm\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.sm\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.sm\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.sm\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.sm\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.sm\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.sm\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.sm\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.sm\:hover\:translate-y-px:hover{--transform-translate-y:1px}.sm\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.sm\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.sm\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.sm\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.sm\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.sm\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.sm\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.sm\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.sm\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.sm\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.sm\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.sm\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.sm\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.sm\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.sm\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.sm\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.sm\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.sm\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.sm\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.sm\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.sm\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.sm\:hover\:translate-y-full:hover{--transform-translate-y:100%}.sm\:focus\:translate-x-0:focus{--transform-translate-x:0}.sm\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.sm\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.sm\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.sm\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.sm\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.sm\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.sm\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.sm\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.sm\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.sm\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.sm\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.sm\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.sm\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.sm\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.sm\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.sm\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.sm\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.sm\:focus\:translate-x-px:focus{--transform-translate-x:1px}.sm\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.sm\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.sm\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.sm\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.sm\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.sm\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.sm\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.sm\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.sm\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.sm\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.sm\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.sm\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.sm\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.sm\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.sm\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.sm\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.sm\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.sm\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.sm\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.sm\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.sm\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.sm\:focus\:translate-x-full:focus{--transform-translate-x:100%}.sm\:focus\:translate-y-0:focus{--transform-translate-y:0}.sm\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.sm\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.sm\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.sm\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.sm\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.sm\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.sm\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.sm\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.sm\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.sm\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.sm\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.sm\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.sm\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.sm\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.sm\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.sm\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.sm\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.sm\:focus\:translate-y-px:focus{--transform-translate-y:1px}.sm\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.sm\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.sm\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.sm\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.sm\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.sm\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.sm\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.sm\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.sm\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.sm\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.sm\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.sm\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.sm\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.sm\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.sm\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.sm\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.sm\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.sm\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.sm\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.sm\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.sm\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.sm\:focus\:translate-y-full:focus{--transform-translate-y:100%}.sm\:skew-x-0{--transform-skew-x:0}.sm\:skew-x-1{--transform-skew-x:1deg}.sm\:skew-x-2{--transform-skew-x:2deg}.sm\:skew-x-3{--transform-skew-x:3deg}.sm\:skew-x-6{--transform-skew-x:6deg}.sm\:skew-x-12{--transform-skew-x:12deg}.sm\:-skew-x-12{--transform-skew-x:-12deg}.sm\:-skew-x-6{--transform-skew-x:-6deg}.sm\:-skew-x-3{--transform-skew-x:-3deg}.sm\:-skew-x-2{--transform-skew-x:-2deg}.sm\:-skew-x-1{--transform-skew-x:-1deg}.sm\:skew-y-0{--transform-skew-y:0}.sm\:skew-y-1{--transform-skew-y:1deg}.sm\:skew-y-2{--transform-skew-y:2deg}.sm\:skew-y-3{--transform-skew-y:3deg}.sm\:skew-y-6{--transform-skew-y:6deg}.sm\:skew-y-12{--transform-skew-y:12deg}.sm\:-skew-y-12{--transform-skew-y:-12deg}.sm\:-skew-y-6{--transform-skew-y:-6deg}.sm\:-skew-y-3{--transform-skew-y:-3deg}.sm\:-skew-y-2{--transform-skew-y:-2deg}.sm\:-skew-y-1{--transform-skew-y:-1deg}.sm\:hover\:skew-x-0:hover{--transform-skew-x:0}.sm\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.sm\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.sm\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.sm\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.sm\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.sm\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.sm\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.sm\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.sm\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.sm\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.sm\:hover\:skew-y-0:hover{--transform-skew-y:0}.sm\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.sm\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.sm\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.sm\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.sm\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.sm\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.sm\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.sm\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.sm\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.sm\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.sm\:focus\:skew-x-0:focus{--transform-skew-x:0}.sm\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.sm\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.sm\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.sm\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.sm\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.sm\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.sm\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.sm\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.sm\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.sm\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.sm\:focus\:skew-y-0:focus{--transform-skew-y:0}.sm\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.sm\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.sm\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.sm\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.sm\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.sm\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.sm\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.sm\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.sm\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.sm\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.sm\:transition-none{transition-property:none}.sm\:transition-all{transition-property:all}.sm\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.sm\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.sm\:transition-opacity{transition-property:opacity}.sm\:transition-shadow{transition-property:box-shadow}.sm\:transition-transform{transition-property:transform}.sm\:ease-linear{transition-timing-function:linear}.sm\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.sm\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.sm\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.sm\:duration-75{transition-duration:75ms}.sm\:duration-100{transition-duration:.1s}.sm\:duration-150{transition-duration:.15s}.sm\:duration-200{transition-duration:.2s}.sm\:duration-300{transition-duration:.3s}.sm\:duration-500{transition-duration:.5s}.sm\:duration-700{transition-duration:.7s}.sm\:duration-1000{transition-duration:1s}.sm\:delay-75{transition-delay:75ms}.sm\:delay-100{transition-delay:.1s}.sm\:delay-150{transition-delay:.15s}.sm\:delay-200{transition-delay:.2s}.sm\:delay-300{transition-delay:.3s}.sm\:delay-500{transition-delay:.5s}.sm\:delay-700{transition-delay:.7s}.sm\:delay-1000{transition-delay:1s}.sm\:animate-none{animation:none}.sm\:animate-spin{animation:spin 1s linear infinite}.sm\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.sm\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.sm\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:768px){.md\:container{width:100%}@media (min-width:360px){.md\:container{max-width:360px}}@media (min-width:640px){.md\:container{max-width:640px}}@media (min-width:768px){.md\:container{max-width:768px}}@media (min-width:1024px){.md\:container{max-width:1024px}}@media (min-width:1280px){.md\:container{max-width:1280px}}@media (min-width:1480px){.md\:container{max-width:1480px}}.md\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.md\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.md\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.md\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.md\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.md\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.md\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.md\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.md\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.md\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.md\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.md\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.md\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.md\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.md\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.md\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.md\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.md\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.md\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.md\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.md\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.md\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.md\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.md\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.md\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.md\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.md\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.md\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.md\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.md\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.md\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.md\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.md\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.md\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.md\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.md\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.md\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.md\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.md\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.md\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.md\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.md\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.md\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.md\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.md\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.md\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.md\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.md\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.md\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.md\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.md\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.md\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.md\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.md\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.md\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.md\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.md\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.md\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.md\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.md\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.md\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.md\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.md\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.md\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.md\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.md\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.md\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.md\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.md\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.md\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.md\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.md\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.md\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.md\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.md\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.md\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.md\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.md\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.md\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.md\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.md\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.md\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.md\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.md\:divide-transparent>:not(template)~:not(template){border-color:transparent}.md\:divide-current>:not(template)~:not(template){border-color:currentColor}.md\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.md\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.md\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.md\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.md\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.md\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.md\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.md\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.md\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.md\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.md\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.md\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.md\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.md\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.md\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.md\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.md\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.md\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.md\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.md\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.md\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.md\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.md\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.md\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.md\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.md\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.md\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.md\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.md\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.md\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.md\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.md\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.md\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.md\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.md\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.md\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.md\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.md\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.md\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.md\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.md\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.md\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.md\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.md\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.md\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.md\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.md\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.md\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.md\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.md\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.md\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.md\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.md\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.md\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.md\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.md\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.md\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.md\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.md\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.md\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.md\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.md\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.md\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.md\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.md\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.md\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.md\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.md\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.md\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.md\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.md\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.md\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.md\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.md\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.md\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.md\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.md\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.md\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.md\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.md\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.md\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.md\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.md\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.md\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.md\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.md\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.md\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.md\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.md\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.md\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.md\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.md\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.md\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.md\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.md\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.md\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.md\:divide-solid>:not(template)~:not(template){border-style:solid}.md\:divide-dashed>:not(template)~:not(template){border-style:dashed}.md\:divide-dotted>:not(template)~:not(template){border-style:dotted}.md\:divide-double>:not(template)~:not(template){border-style:double}.md\:divide-none>:not(template)~:not(template){border-style:none}.md\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.md\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.md\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.md\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.md\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.md\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.md\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.md\:appearance-none{-webkit-appearance:none;appearance:none}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-clip-border{background-clip:border-box}.md\:bg-clip-padding{background-clip:padding-box}.md\:bg-clip-content{background-clip:content-box}.md\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.md\:bg-transparent{background-color:transparent}.md\:bg-current{background-color:currentColor}.md\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-current:hover{background-color:currentColor}.md\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:focus\:bg-transparent:focus{background-color:transparent}.md\:focus\:bg-current:focus{background-color:currentColor}.md\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.md\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.md\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.md\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.md\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.md\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.md\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.md\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.md\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.md\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.md\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.md\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.md\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.md\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.md\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.md\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.md\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.md\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.md\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.md\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.md\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.md\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.md\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.md\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.md\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.md\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.md\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.md\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.md\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.md\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.md\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.md\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.md\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.md\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.md\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.md\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.md\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.md\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.md\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.md\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.md\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.md\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.md\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.md\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.md\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.md\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.md\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.md\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.md\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.md\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.md\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.md\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.md\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.md\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.md\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.md\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.md\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.md\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.md\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.md\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.md\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.md\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.md\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.md\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.md\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.md\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.md\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.md\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.md\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.md\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.md\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.md\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.md\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.md\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.md\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.md\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.md\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.md\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.md\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.md\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.md\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.md\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.md\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.md\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.md\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.md\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.md\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.md\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.md\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.md\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.md\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.md\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.md\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.md\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.md\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.md\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.md\:bg-none{background-image:none}.md\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.md\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.md\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.md\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.md\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.md\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.md\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.md\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.md\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:to-transparent{--gradient-to-color:transparent}.md\:to-current{--gradient-to-color:currentColor}.md\:to-black{--gradient-to-color:#000}.md\:to-white{--gradient-to-color:#fff}.md\:to-gray-100{--gradient-to-color:#f7fafc}.md\:to-gray-200{--gradient-to-color:#edf2f7}.md\:to-gray-300{--gradient-to-color:#e2e8f0}.md\:to-gray-400{--gradient-to-color:#cbd5e0}.md\:to-gray-500{--gradient-to-color:#a0aec0}.md\:to-gray-600{--gradient-to-color:#718096}.md\:to-gray-700{--gradient-to-color:#4a5568}.md\:to-gray-800{--gradient-to-color:#2d3748}.md\:to-gray-900{--gradient-to-color:#1a202c}.md\:to-red-100{--gradient-to-color:#fff5f5}.md\:to-red-200{--gradient-to-color:#fed7d7}.md\:to-red-300{--gradient-to-color:#feb2b2}.md\:to-red-400{--gradient-to-color:#fc8181}.md\:to-red-500{--gradient-to-color:#f56565}.md\:to-red-600{--gradient-to-color:#e53e3e}.md\:to-red-700{--gradient-to-color:#c53030}.md\:to-red-800{--gradient-to-color:#9b2c2c}.md\:to-red-900{--gradient-to-color:#742a2a}.md\:to-orange-100{--gradient-to-color:#fffaf0}.md\:to-orange-200{--gradient-to-color:#feebc8}.md\:to-orange-300{--gradient-to-color:#fbd38d}.md\:to-orange-400{--gradient-to-color:#f6ad55}.md\:to-orange-500{--gradient-to-color:#ed8936}.md\:to-orange-600{--gradient-to-color:#dd6b20}.md\:to-orange-700{--gradient-to-color:#c05621}.md\:to-orange-800{--gradient-to-color:#9c4221}.md\:to-orange-900{--gradient-to-color:#7b341e}.md\:to-yellow-100{--gradient-to-color:ivory}.md\:to-yellow-200{--gradient-to-color:#fefcbf}.md\:to-yellow-300{--gradient-to-color:#faf089}.md\:to-yellow-400{--gradient-to-color:#f6e05e}.md\:to-yellow-500{--gradient-to-color:#ecc94b}.md\:to-yellow-600{--gradient-to-color:#d69e2e}.md\:to-yellow-700{--gradient-to-color:#b7791f}.md\:to-yellow-800{--gradient-to-color:#975a16}.md\:to-yellow-900{--gradient-to-color:#744210}.md\:to-green-100{--gradient-to-color:#f0fff4}.md\:to-green-200{--gradient-to-color:#c6f6d5}.md\:to-green-300{--gradient-to-color:#9ae6b4}.md\:to-green-400{--gradient-to-color:#68d391}.md\:to-green-500{--gradient-to-color:#48bb78}.md\:to-green-600{--gradient-to-color:#38a169}.md\:to-green-700{--gradient-to-color:#2f855a}.md\:to-green-800{--gradient-to-color:#276749}.md\:to-green-900{--gradient-to-color:#22543d}.md\:to-teal-100{--gradient-to-color:#e6fffa}.md\:to-teal-200{--gradient-to-color:#b2f5ea}.md\:to-teal-300{--gradient-to-color:#81e6d9}.md\:to-teal-400{--gradient-to-color:#4fd1c5}.md\:to-teal-500{--gradient-to-color:#38b2ac}.md\:to-teal-600{--gradient-to-color:#319795}.md\:to-teal-700{--gradient-to-color:#2c7a7b}.md\:to-teal-800{--gradient-to-color:#285e61}.md\:to-teal-900{--gradient-to-color:#234e52}.md\:to-blue-100{--gradient-to-color:#ebf8ff}.md\:to-blue-200{--gradient-to-color:#bee3f8}.md\:to-blue-300{--gradient-to-color:#90cdf4}.md\:to-blue-400{--gradient-to-color:#63b3ed}.md\:to-blue-500{--gradient-to-color:#4299e1}.md\:to-blue-600{--gradient-to-color:#3182ce}.md\:to-blue-700{--gradient-to-color:#2b6cb0}.md\:to-blue-800{--gradient-to-color:#2c5282}.md\:to-blue-900{--gradient-to-color:#2a4365}.md\:to-indigo-100{--gradient-to-color:#ebf4ff}.md\:to-indigo-200{--gradient-to-color:#c3dafe}.md\:to-indigo-300{--gradient-to-color:#a3bffa}.md\:to-indigo-400{--gradient-to-color:#7f9cf5}.md\:to-indigo-500{--gradient-to-color:#667eea}.md\:to-indigo-600{--gradient-to-color:#5a67d8}.md\:to-indigo-700{--gradient-to-color:#4c51bf}.md\:to-indigo-800{--gradient-to-color:#434190}.md\:to-indigo-900{--gradient-to-color:#3c366b}.md\:to-purple-100{--gradient-to-color:#faf5ff}.md\:to-purple-200{--gradient-to-color:#e9d8fd}.md\:to-purple-300{--gradient-to-color:#d6bcfa}.md\:to-purple-400{--gradient-to-color:#b794f4}.md\:to-purple-500{--gradient-to-color:#9f7aea}.md\:to-purple-600{--gradient-to-color:#805ad5}.md\:to-purple-700{--gradient-to-color:#6b46c1}.md\:to-purple-800{--gradient-to-color:#553c9a}.md\:to-purple-900{--gradient-to-color:#44337a}.md\:to-pink-100{--gradient-to-color:#fff5f7}.md\:to-pink-200{--gradient-to-color:#fed7e2}.md\:to-pink-300{--gradient-to-color:#fbb6ce}.md\:to-pink-400{--gradient-to-color:#f687b3}.md\:to-pink-500{--gradient-to-color:#ed64a6}.md\:to-pink-600{--gradient-to-color:#d53f8c}.md\:to-pink-700{--gradient-to-color:#b83280}.md\:to-pink-800{--gradient-to-color:#97266d}.md\:to-pink-900{--gradient-to-color:#702459}.md\:to-primary{--gradient-to-color:#00d1ff}.md\:to-secondary{--gradient-to-color:#e077ff}.md\:to-greenish-blue{--gradient-to-color:#adffed}.md\:to-blue-gray{--gradient-to-color:#cfe1e6}.md\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:hover\:to-transparent:hover{--gradient-to-color:transparent}.md\:hover\:to-current:hover{--gradient-to-color:currentColor}.md\:hover\:to-black:hover{--gradient-to-color:#000}.md\:hover\:to-white:hover{--gradient-to-color:#fff}.md\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.md\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.md\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.md\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.md\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.md\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.md\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.md\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.md\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.md\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.md\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.md\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.md\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.md\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.md\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.md\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.md\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.md\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.md\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.md\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.md\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.md\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.md\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.md\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.md\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.md\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.md\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.md\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.md\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.md\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.md\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.md\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.md\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.md\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.md\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.md\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.md\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.md\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.md\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.md\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.md\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.md\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.md\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.md\:hover\:to-green-800:hover{--gradient-to-color:#276749}.md\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.md\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.md\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.md\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.md\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.md\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.md\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.md\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.md\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.md\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.md\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.md\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.md\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.md\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.md\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.md\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.md\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.md\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.md\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.md\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.md\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.md\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.md\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.md\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.md\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.md\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.md\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.md\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.md\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.md\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.md\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.md\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.md\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.md\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.md\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.md\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.md\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.md\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.md\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.md\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.md\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.md\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.md\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.md\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.md\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.md\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.md\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.md\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.md\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.md\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.md\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.md\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.md\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.md\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.md\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.md\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.md\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.md\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.md\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.md\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.md\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.md\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.md\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.md\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.md\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.md\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.md\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.md\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.md\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.md\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.md\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.md\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.md\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.md\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.md\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.md\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.md\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.md\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.md\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.md\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.md\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.md\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.md\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.md\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.md\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.md\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.md\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.md\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.md\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.md\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.md\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.md\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.md\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.md\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.md\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.md\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.md\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.md\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.md\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.md\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.md\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.md\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.md\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.md\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.md\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.md\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.md\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.md\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.md\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.md\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.md\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.md\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.md\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.md\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.md\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.md\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.md\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.md\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.md\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.md\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.md\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.md\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.md\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.md\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.md\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.md\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.md\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.md\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.md\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.md\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.md\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.md\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.md\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.md\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.md\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.md\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.md\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.md\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.md\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.md\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.md\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.md\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.md\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.md\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.md\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.md\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.md\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.md\:focus\:to-transparent:focus{--gradient-to-color:transparent}.md\:focus\:to-current:focus{--gradient-to-color:currentColor}.md\:focus\:to-black:focus{--gradient-to-color:#000}.md\:focus\:to-white:focus{--gradient-to-color:#fff}.md\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.md\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.md\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.md\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.md\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.md\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.md\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.md\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.md\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.md\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.md\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.md\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.md\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.md\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.md\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.md\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.md\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.md\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.md\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.md\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.md\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.md\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.md\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.md\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.md\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.md\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.md\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.md\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.md\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.md\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.md\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.md\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.md\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.md\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.md\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.md\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.md\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.md\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.md\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.md\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.md\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.md\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.md\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.md\:focus\:to-green-800:focus{--gradient-to-color:#276749}.md\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.md\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.md\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.md\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.md\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.md\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.md\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.md\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.md\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.md\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.md\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.md\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.md\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.md\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.md\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.md\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.md\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.md\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.md\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.md\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.md\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.md\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.md\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.md\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.md\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.md\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.md\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.md\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.md\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.md\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.md\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.md\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.md\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.md\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.md\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.md\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.md\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.md\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.md\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.md\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.md\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.md\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.md\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.md\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.md\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.md\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.md\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.md\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.md\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.md\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.md\:bg-opacity-0{--bg-opacity:0}.md\:bg-opacity-25{--bg-opacity:0.25}.md\:bg-opacity-50{--bg-opacity:0.5}.md\:bg-opacity-75{--bg-opacity:0.75}.md\:bg-opacity-100{--bg-opacity:1}.md\:hover\:bg-opacity-0:hover{--bg-opacity:0}.md\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.md\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.md\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.md\:hover\:bg-opacity-100:hover{--bg-opacity:1}.md\:focus\:bg-opacity-0:focus{--bg-opacity:0}.md\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.md\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.md\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.md\:focus\:bg-opacity-100:focus{--bg-opacity:1}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:50%}.md\:bg-left{background-position:0}.md\:bg-left-bottom{background-position:0 100%}.md\:bg-left-top{background-position:0 0}.md\:bg-right{background-position:100%}.md\:bg-right-bottom{background-position:100% 100%}.md\:bg-right-top{background-position:100% 0}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-repeat-round{background-repeat:round}.md\:bg-repeat-space{background-repeat:space}.md\:bg-auto{background-size:auto}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:border-collapse{border-collapse:collapse}.md\:border-separate{border-collapse:separate}.md\:border-transparent{border-color:transparent}.md\:border-current{border-color:currentColor}.md\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-current:hover{border-color:currentColor}.md\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:focus\:border-transparent:focus{border-color:transparent}.md\:focus\:border-current:focus{border-color:currentColor}.md\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.md\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.md\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.md\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.md\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.md\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.md\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.md\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.md\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.md\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.md\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.md\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.md\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.md\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.md\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.md\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.md\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.md\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.md\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.md\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.md\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.md\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.md\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.md\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.md\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.md\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.md\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.md\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.md\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.md\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.md\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.md\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.md\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.md\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.md\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.md\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.md\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.md\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.md\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.md\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.md\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.md\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.md\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.md\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.md\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.md\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.md\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.md\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.md\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.md\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.md\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.md\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.md\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.md\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.md\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.md\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.md\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.md\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.md\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.md\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.md\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.md\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.md\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.md\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.md\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.md\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.md\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.md\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.md\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.md\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.md\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.md\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.md\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.md\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.md\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.md\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.md\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.md\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.md\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.md\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.md\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.md\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.md\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.md\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.md\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.md\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.md\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.md\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.md\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.md\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.md\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.md\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.md\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.md\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.md\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.md\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.md\:border-opacity-0{--border-opacity:0}.md\:border-opacity-25{--border-opacity:0.25}.md\:border-opacity-50{--border-opacity:0.5}.md\:border-opacity-75{--border-opacity:0.75}.md\:border-opacity-100{--border-opacity:1}.md\:hover\:border-opacity-0:hover{--border-opacity:0}.md\:hover\:border-opacity-25:hover{--border-opacity:0.25}.md\:hover\:border-opacity-50:hover{--border-opacity:0.5}.md\:hover\:border-opacity-75:hover{--border-opacity:0.75}.md\:hover\:border-opacity-100:hover{--border-opacity:1}.md\:focus\:border-opacity-0:focus{--border-opacity:0}.md\:focus\:border-opacity-25:focus{--border-opacity:0.25}.md\:focus\:border-opacity-50:focus{--border-opacity:0.5}.md\:focus\:border-opacity-75:focus{--border-opacity:0.75}.md\:focus\:border-opacity-100:focus{--border-opacity:1}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-md{border-radius:.375rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-xl{border-radius:.75rem}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-3xl{border-radius:1.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem}.md\:rounded-r,.md\:rounded-t{border-top-right-radius:.25rem}.md\:rounded-b,.md\:rounded-r{border-bottom-right-radius:.25rem}.md\:rounded-b,.md\:rounded-l{border-bottom-left-radius:.25rem}.md\:rounded-l{border-top-left-radius:.25rem}.md\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.md\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.md\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.md\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.md\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.md\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.md\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.md\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.md\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.md\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.md\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-tl-md{border-top-left-radius:.375rem}.md\:rounded-tr-md{border-top-right-radius:.375rem}.md\:rounded-br-md{border-bottom-right-radius:.375rem}.md\:rounded-bl-md{border-bottom-left-radius:.375rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-tl-xl{border-top-left-radius:.75rem}.md\:rounded-tr-xl{border-top-right-radius:.75rem}.md\:rounded-br-xl{border-bottom-right-radius:.75rem}.md\:rounded-bl-xl{border-bottom-left-radius:.75rem}.md\:rounded-tl-2xl{border-top-left-radius:1rem}.md\:rounded-tr-2xl{border-top-right-radius:1rem}.md\:rounded-br-2xl{border-bottom-right-radius:1rem}.md\:rounded-bl-2xl{border-bottom-left-radius:1rem}.md\:rounded-tl-3xl{border-top-left-radius:1.5rem}.md\:rounded-tr-3xl{border-top-right-radius:1.5rem}.md\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.md\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-double{border-style:double}.md\:border-none{border-style:none}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-r-2{border-right-width:2px}.md\:border-b-2{border-bottom-width:2px}.md\:border-l-2{border-left-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-r-4{border-right-width:4px}.md\:border-b-4{border-bottom-width:4px}.md\:border-l-4{border-left-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-r-8{border-right-width:8px}.md\:border-b-8{border-bottom-width:8px}.md\:border-l-8{border-left-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r{border-right-width:1px}.md\:border-b{border-bottom-width:1px}.md\:border-l{border-left-width:1px}.md\:box-border{box-sizing:border-box}.md\:box-content{box-sizing:content-box}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-wait{cursor:wait}.md\:cursor-text{cursor:text}.md\:cursor-move{cursor:move}.md\:cursor-not-allowed{cursor:not-allowed}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table{display:table}.md\:table-caption{display:table-caption}.md\:table-cell{display:table-cell}.md\:table-column{display:table-column}.md\:table-column-group{display:table-column-group}.md\:table-footer-group{display:table-footer-group}.md\:table-header-group{display:table-header-group}.md\:table-row-group{display:table-row-group}.md\:table-row{display:table-row}.md\:flow-root{display:flow-root}.md\:grid{display:grid}.md\:inline-grid{display:inline-grid}.md\:contents{display:contents}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:flex-row-reverse{flex-direction:row-reverse}.md\:flex-col{flex-direction:column}.md\:flex-col-reverse{flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:place-items-auto{place-items:auto}.md\:place-items-start{place-items:start}.md\:place-items-end{place-items:end}.md\:place-items-center{place-items:center}.md\:place-items-stretch{place-items:stretch}.md\:place-content-center{place-content:center}.md\:place-content-start{place-content:start}.md\:place-content-end{place-content:end}.md\:place-content-between{place-content:space-between}.md\:place-content-around{place-content:space-around}.md\:place-content-evenly{place-content:space-evenly}.md\:place-content-stretch{place-content:stretch}.md\:place-self-auto{place-self:auto}.md\:place-self-start{place-self:start}.md\:place-self-end{place-self:end}.md\:place-self-center{place-self:center}.md\:place-self-stretch{place-self:stretch}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:items-stretch{align-items:stretch}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:content-evenly{align-content:space-evenly}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:justify-items-auto{justify-items:auto}.md\:justify-items-start{justify-items:start}.md\:justify-items-end{justify-items:end}.md\:justify-items-center{justify-items:center}.md\:justify-items-stretch{justify-items:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:justify-evenly{justify-content:space-evenly}.md\:justify-self-auto{justify-self:auto}.md\:justify-self-start{justify-self:start}.md\:justify-self-end{justify-self:end}.md\:justify-self-center{justify-self:center}.md\:justify-self-stretch{justify-self:stretch}.md\:flex-1{flex:1 1 0%}.md\:flex-auto{flex:1 1 auto}.md\:flex-initial{flex:0 1 auto}.md\:flex-none{flex:none}.md\:flex-grow-0{flex-grow:0}.md\:flex-grow{flex-grow:1}.md\:flex-shrink-0{flex-shrink:0}.md\:flex-shrink{flex-shrink:1}.md\:order-1{order:1}.md\:order-2{order:2}.md\:order-3{order:3}.md\:order-4{order:4}.md\:order-5{order:5}.md\:order-6{order:6}.md\:order-7{order:7}.md\:order-8{order:8}.md\:order-9{order:9}.md\:order-10{order:10}.md\:order-11{order:11}.md\:order-12{order:12}.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:order-none{order:0}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clearfix:after{content:"";display:table;clear:both}.md\:clear-left{clear:left}.md\:clear-right{clear:right}.md\:clear-both{clear:both}.md\:clear-none{clear:none}.md\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.md\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.md\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.md\:font-hairline{font-weight:100}.md\:font-thin{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:hover\:font-hairline:hover{font-weight:100}.md\:hover\:font-thin:hover{font-weight:200}.md\:hover\:font-light:hover{font-weight:300}.md\:hover\:font-normal:hover{font-weight:400}.md\:hover\:font-medium:hover{font-weight:500}.md\:hover\:font-semibold:hover{font-weight:600}.md\:hover\:font-bold:hover{font-weight:700}.md\:hover\:font-extrabold:hover{font-weight:800}.md\:hover\:font-black:hover{font-weight:900}.md\:focus\:font-hairline:focus{font-weight:100}.md\:focus\:font-thin:focus{font-weight:200}.md\:focus\:font-light:focus{font-weight:300}.md\:focus\:font-normal:focus{font-weight:400}.md\:focus\:font-medium:focus{font-weight:500}.md\:focus\:font-semibold:focus{font-weight:600}.md\:focus\:font-bold:focus{font-weight:700}.md\:focus\:font-extrabold:focus{font-weight:800}.md\:focus\:font-black:focus{font-weight:900}.md\:h-0{height:0}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-8{height:2rem}.md\:h-10{height:2.5rem}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-24{height:6rem}.md\:h-32{height:8rem}.md\:h-40{height:10rem}.md\:h-48{height:12rem}.md\:h-56{height:14rem}.md\:h-64{height:16rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:text-xs{font-size:.75rem}.md\:text-sm{font-size:.875rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:text-6xl{font-size:4rem}.md\:leading-3{line-height:.75rem}.md\:leading-4{line-height:1rem}.md\:leading-5{line-height:1.25rem}.md\:leading-6{line-height:1.5rem}.md\:leading-7{line-height:1.75rem}.md\:leading-8{line-height:2rem}.md\:leading-9{line-height:2.25rem}.md\:leading-10{line-height:2.5rem}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-snug{line-height:1.375}.md\:leading-normal{line-height:1.5}.md\:leading-relaxed{line-height:1.625}.md\:leading-loose{line-height:2}.md\:list-inside{list-style-position:inside}.md\:list-outside{list-style-position:outside}.md\:list-none{list-style-type:none}.md\:list-disc{list-style-type:disc}.md\:list-decimal{list-style-type:decimal}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-5{margin:1.25rem}.md\:m-6{margin:1.5rem}.md\:m-8{margin:2rem}.md\:m-10{margin:2.5rem}.md\:m-12{margin:3rem}.md\:m-16{margin:4rem}.md\:m-20{margin:5rem}.md\:m-24{margin:6rem}.md\:m-32{margin:8rem}.md\:m-40{margin:10rem}.md\:m-48{margin:12rem}.md\:m-56{margin:14rem}.md\:m-64{margin:16rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-5{margin:-1.25rem}.md\:-m-6{margin:-1.5rem}.md\:-m-8{margin:-2rem}.md\:-m-10{margin:-2.5rem}.md\:-m-12{margin:-3rem}.md\:-m-16{margin:-4rem}.md\:-m-20{margin:-5rem}.md\:-m-24{margin:-6rem}.md\:-m-32{margin:-8rem}.md\:-m-40{margin:-10rem}.md\:-m-48{margin:-12rem}.md\:-m-56{margin:-14rem}.md\:-m-64{margin:-16rem}.md\:-m-px{margin:-1px}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:my-16{margin-top:4rem;margin-bottom:4rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:my-24{margin-top:6rem;margin-bottom:6rem}.md\:mx-24{margin-left:6rem;margin-right:6rem}.md\:my-32{margin-top:8rem;margin-bottom:8rem}.md\:mx-32{margin-left:8rem;margin-right:8rem}.md\:my-40{margin-top:10rem;margin-bottom:10rem}.md\:mx-40{margin-left:10rem;margin-right:10rem}.md\:my-48{margin-top:12rem;margin-bottom:12rem}.md\:mx-48{margin-left:12rem;margin-right:12rem}.md\:my-56{margin-top:14rem;margin-bottom:14rem}.md\:mx-56{margin-left:14rem;margin-right:14rem}.md\:my-64{margin-top:16rem;margin-bottom:16rem}.md\:mx-64{margin-left:16rem;margin-right:16rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.md\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.md\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.md\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.md\:-mx-20{margin-left:-5rem;margin-right:-5rem}.md\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.md\:-mx-24{margin-left:-6rem;margin-right:-6rem}.md\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.md\:-mx-32{margin-left:-8rem;margin-right:-8rem}.md\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.md\:-mx-40{margin-left:-10rem;margin-right:-10rem}.md\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.md\:-mx-48{margin-left:-12rem;margin-right:-12rem}.md\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.md\:-mx-56{margin-left:-14rem;margin-right:-14rem}.md\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.md\:-mx-64{margin-left:-16rem;margin-right:-16rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-1{margin-top:.25rem}.md\:mr-1{margin-right:.25rem}.md\:mb-1{margin-bottom:.25rem}.md\:ml-1{margin-left:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mr-2{margin-right:.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:ml-2{margin-left:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mr-3{margin-right:.75rem}.md\:mb-3{margin-bottom:.75rem}.md\:ml-3{margin-left:.75rem}.md\:mt-4{margin-top:1rem}.md\:mr-4{margin-right:1rem}.md\:mb-4{margin-bottom:1rem}.md\:ml-4{margin-left:1rem}.md\:mt-5{margin-top:1.25rem}.md\:mr-5{margin-right:1.25rem}.md\:mb-5{margin-bottom:1.25rem}.md\:ml-5{margin-left:1.25rem}.md\:mt-6{margin-top:1.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:mt-8{margin-top:2rem}.md\:mr-8{margin-right:2rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:mt-10{margin-top:2.5rem}.md\:mr-10{margin-right:2.5rem}.md\:mb-10{margin-bottom:2.5rem}.md\:ml-10{margin-left:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mr-12{margin-right:3rem}.md\:mb-12{margin-bottom:3rem}.md\:ml-12{margin-left:3rem}.md\:mt-16{margin-top:4rem}.md\:mr-16{margin-right:4rem}.md\:mb-16{margin-bottom:4rem}.md\:ml-16{margin-left:4rem}.md\:mt-20{margin-top:5rem}.md\:mr-20{margin-right:5rem}.md\:mb-20{margin-bottom:5rem}.md\:ml-20{margin-left:5rem}.md\:mt-24{margin-top:6rem}.md\:mr-24{margin-right:6rem}.md\:mb-24{margin-bottom:6rem}.md\:ml-24{margin-left:6rem}.md\:mt-32{margin-top:8rem}.md\:mr-32{margin-right:8rem}.md\:mb-32{margin-bottom:8rem}.md\:ml-32{margin-left:8rem}.md\:mt-40{margin-top:10rem}.md\:mr-40{margin-right:10rem}.md\:mb-40{margin-bottom:10rem}.md\:ml-40{margin-left:10rem}.md\:mt-48{margin-top:12rem}.md\:mr-48{margin-right:12rem}.md\:mb-48{margin-bottom:12rem}.md\:ml-48{margin-left:12rem}.md\:mt-56{margin-top:14rem}.md\:mr-56{margin-right:14rem}.md\:mb-56{margin-bottom:14rem}.md\:ml-56{margin-left:14rem}.md\:mt-64{margin-top:16rem}.md\:mr-64{margin-right:16rem}.md\:mb-64{margin-bottom:16rem}.md\:ml-64{margin-left:16rem}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mt-px{margin-top:1px}.md\:mr-px{margin-right:1px}.md\:mb-px{margin-bottom:1px}.md\:ml-px{margin-left:1px}.md\:-mt-1{margin-top:-.25rem}.md\:-mr-1{margin-right:-.25rem}.md\:-mb-1{margin-bottom:-.25rem}.md\:-ml-1{margin-left:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-ml-2{margin-left:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-ml-3{margin-left:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mr-4{margin-right:-1rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-ml-4{margin-left:-1rem}.md\:-mt-5{margin-top:-1.25rem}.md\:-mr-5{margin-right:-1.25rem}.md\:-mb-5{margin-bottom:-1.25rem}.md\:-ml-5{margin-left:-1.25rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-mt-8{margin-top:-2rem}.md\:-mr-8{margin-right:-2rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-ml-8{margin-left:-2rem}.md\:-mt-10{margin-top:-2.5rem}.md\:-mr-10{margin-right:-2.5rem}.md\:-mb-10{margin-bottom:-2.5rem}.md\:-ml-10{margin-left:-2.5rem}.md\:-mt-12{margin-top:-3rem}.md\:-mr-12{margin-right:-3rem}.md\:-mb-12{margin-bottom:-3rem}.md\:-ml-12{margin-left:-3rem}.md\:-mt-16{margin-top:-4rem}.md\:-mr-16{margin-right:-4rem}.md\:-mb-16{margin-bottom:-4rem}.md\:-ml-16{margin-left:-4rem}.md\:-mt-20{margin-top:-5rem}.md\:-mr-20{margin-right:-5rem}.md\:-mb-20{margin-bottom:-5rem}.md\:-ml-20{margin-left:-5rem}.md\:-mt-24{margin-top:-6rem}.md\:-mr-24{margin-right:-6rem}.md\:-mb-24{margin-bottom:-6rem}.md\:-ml-24{margin-left:-6rem}.md\:-mt-32{margin-top:-8rem}.md\:-mr-32{margin-right:-8rem}.md\:-mb-32{margin-bottom:-8rem}.md\:-ml-32{margin-left:-8rem}.md\:-mt-40{margin-top:-10rem}.md\:-mr-40{margin-right:-10rem}.md\:-mb-40{margin-bottom:-10rem}.md\:-ml-40{margin-left:-10rem}.md\:-mt-48{margin-top:-12rem}.md\:-mr-48{margin-right:-12rem}.md\:-mb-48{margin-bottom:-12rem}.md\:-ml-48{margin-left:-12rem}.md\:-mt-56{margin-top:-14rem}.md\:-mr-56{margin-right:-14rem}.md\:-mb-56{margin-bottom:-14rem}.md\:-ml-56{margin-left:-14rem}.md\:-mt-64{margin-top:-16rem}.md\:-mr-64{margin-right:-16rem}.md\:-mb-64{margin-bottom:-16rem}.md\:-ml-64{margin-left:-16rem}.md\:-mt-px{margin-top:-1px}.md\:-mr-px{margin-right:-1px}.md\:-mb-px{margin-bottom:-1px}.md\:-ml-px{margin-left:-1px}.md\:max-h-full{max-height:100%}.md\:max-h-screen{max-height:100vh}.md\:max-w-none{max-width:none}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:24rem}.md\:max-w-md{max-width:28rem}.md\:max-w-lg{max-width:32rem}.md\:max-w-xl{max-width:36rem}.md\:max-w-2xl{max-width:42rem}.md\:max-w-3xl{max-width:48rem}.md\:max-w-4xl{max-width:56rem}.md\:max-w-5xl{max-width:64rem}.md\:max-w-6xl{max-width:72rem}.md\:max-w-full{max-width:100%}.md\:max-w-screen-xs{max-width:360px}.md\:max-w-screen-sm{max-width:640px}.md\:max-w-screen-md{max-width:768px}.md\:max-w-screen-lg{max-width:1024px}.md\:max-w-screen-xl{max-width:1280px}.md\:max-w-screen-xxl{max-width:1480px}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:object-contain{-o-object-fit:contain;object-fit:contain}.md\:object-cover{-o-object-fit:cover;object-fit:cover}.md\:object-fill{-o-object-fit:fill;object-fit:fill}.md\:object-none{-o-object-fit:none;object-fit:none}.md\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.md\:object-bottom{-o-object-position:bottom;object-position:bottom}.md\:object-center{-o-object-position:center;object-position:center}.md\:object-left{-o-object-position:left;object-position:left}.md\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.md\:object-left-top{-o-object-position:left top;object-position:left top}.md\:object-right{-o-object-position:right;object-position:right}.md\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.md\:object-right-top{-o-object-position:right top;object-position:right top}.md\:object-top{-o-object-position:top;object-position:top}.md\:opacity-0{opacity:0}.md\:opacity-25{opacity:.25}.md\:opacity-50{opacity:.5}.md\:opacity-75{opacity:.75}.md\:opacity-100{opacity:1}.md\:hover\:opacity-0:hover{opacity:0}.md\:hover\:opacity-25:hover{opacity:.25}.md\:hover\:opacity-50:hover{opacity:.5}.md\:hover\:opacity-75:hover{opacity:.75}.md\:hover\:opacity-100:hover{opacity:1}.md\:focus\:opacity-0:focus{opacity:0}.md\:focus\:opacity-25:focus{opacity:.25}.md\:focus\:opacity-50:focus{opacity:.5}.md\:focus\:opacity-75:focus{opacity:.75}.md\:focus\:opacity-100:focus{opacity:1}.md\:outline-none{outline:2px solid transparent;outline-offset:2px}.md\:outline-white{outline:2px dotted #fff;outline-offset:2px}.md\:outline-black{outline:2px dotted #000;outline-offset:2px}.md\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.md\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.md\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-hidden{overflow-x:hidden}.md\:overflow-y-hidden{overflow-y:hidden}.md\:overflow-x-visible{overflow-x:visible}.md\:overflow-y-visible{overflow-y:visible}.md\:overflow-x-scroll{overflow-x:scroll}.md\:overflow-y-scroll{overflow-y:scroll}.md\:scrolling-touch{-webkit-overflow-scrolling:touch}.md\:scrolling-auto{-webkit-overflow-scrolling:auto}.md\:overscroll-auto{overscroll-behavior:auto}.md\:overscroll-contain{overscroll-behavior:contain}.md\:overscroll-none{overscroll-behavior:none}.md\:overscroll-y-auto{overscroll-behavior-y:auto}.md\:overscroll-y-contain{overscroll-behavior-y:contain}.md\:overscroll-y-none{overscroll-behavior-y:none}.md\:overscroll-x-auto{overscroll-behavior-x:auto}.md\:overscroll-x-contain{overscroll-behavior-x:contain}.md\:overscroll-x-none{overscroll-behavior-x:none}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-16{padding:4rem}.md\:p-20{padding:5rem}.md\:p-24{padding:6rem}.md\:p-32{padding:8rem}.md\:p-40{padding:10rem}.md\:p-48{padding:12rem}.md\:p-56{padding:14rem}.md\:p-64{padding:16rem}.md\:p-px{padding:1px}.md\:py-0{padding-top:0;padding-bottom:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:px-20{padding-left:5rem;padding-right:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:px-24{padding-left:6rem;padding-right:6rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:px-32{padding-left:8rem;padding-right:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:px-40{padding-left:10rem;padding-right:10rem}.md\:py-48{padding-top:12rem;padding-bottom:12rem}.md\:px-48{padding-left:12rem;padding-right:12rem}.md\:py-56{padding-top:14rem;padding-bottom:14rem}.md\:px-56{padding-left:14rem;padding-right:14rem}.md\:py-64{padding-top:16rem;padding-bottom:16rem}.md\:px-64{padding-left:16rem;padding-right:16rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:px-px{padding-left:1px;padding-right:1px}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:pt-1{padding-top:.25rem}.md\:pr-1{padding-right:.25rem}.md\:pb-1{padding-bottom:.25rem}.md\:pl-1{padding-left:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pr-2{padding-right:.5rem}.md\:pb-2{padding-bottom:.5rem}.md\:pl-2{padding-left:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pr-3{padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-3{padding-left:.75rem}.md\:pt-4{padding-top:1rem}.md\:pr-4{padding-right:1rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pr-5{padding-right:1.25rem}.md\:pb-5{padding-bottom:1.25rem}.md\:pl-5{padding-left:1.25rem}.md\:pt-6{padding-top:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pt-8{padding-top:2rem}.md\:pr-8{padding-right:2rem}.md\:pb-8{padding-bottom:2rem}.md\:pl-8{padding-left:2rem}.md\:pt-10{padding-top:2.5rem}.md\:pr-10{padding-right:2.5rem}.md\:pb-10{padding-bottom:2.5rem}.md\:pl-10{padding-left:2.5rem}.md\:pt-12{padding-top:3rem}.md\:pr-12{padding-right:3rem}.md\:pb-12{padding-bottom:3rem}.md\:pl-12{padding-left:3rem}.md\:pt-16{padding-top:4rem}.md\:pr-16{padding-right:4rem}.md\:pb-16{padding-bottom:4rem}.md\:pl-16{padding-left:4rem}.md\:pt-20{padding-top:5rem}.md\:pr-20{padding-right:5rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-20{padding-left:5rem}.md\:pt-24{padding-top:6rem}.md\:pr-24{padding-right:6rem}.md\:pb-24{padding-bottom:6rem}.md\:pl-24{padding-left:6rem}.md\:pt-32{padding-top:8rem}.md\:pr-32{padding-right:8rem}.md\:pb-32{padding-bottom:8rem}.md\:pl-32{padding-left:8rem}.md\:pt-40{padding-top:10rem}.md\:pr-40{padding-right:10rem}.md\:pb-40{padding-bottom:10rem}.md\:pl-40{padding-left:10rem}.md\:pt-48{padding-top:12rem}.md\:pr-48{padding-right:12rem}.md\:pb-48{padding-bottom:12rem}.md\:pl-48{padding-left:12rem}.md\:pt-56{padding-top:14rem}.md\:pr-56{padding-right:14rem}.md\:pb-56{padding-bottom:14rem}.md\:pl-56{padding-left:14rem}.md\:pt-64{padding-top:16rem}.md\:pr-64{padding-right:16rem}.md\:pb-64{padding-bottom:16rem}.md\:pl-64{padding-left:16rem}.md\:pt-px{padding-top:1px}.md\:pr-px{padding-right:1px}.md\:pb-px{padding-bottom:1px}.md\:pl-px{padding-left:1px}.md\:placeholder-transparent::placeholder{color:transparent}.md\:placeholder-current::placeholder{color:currentColor}.md\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.md\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.md\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.md\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.md\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.md\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.md\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.md\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.md\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.md\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.md\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.md\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.md\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.md\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.md\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.md\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.md\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.md\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.md\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.md\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.md\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.md\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.md\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.md\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.md\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.md\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.md\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.md\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.md\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.md\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.md\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.md\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.md\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.md\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.md\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.md\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.md\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.md\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.md\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.md\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.md\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.md\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.md\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.md\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.md\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.md\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.md\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.md\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.md\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.md\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.md\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.md\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.md\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.md\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.md\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.md\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.md\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.md\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.md\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.md\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.md\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.md\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.md\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.md\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.md\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.md\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.md\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.md\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.md\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.md\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.md\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.md\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.md\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.md\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.md\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.md\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.md\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.md\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.md\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.md\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.md\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.md\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.md\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.md\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.md\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.md\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.md\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.md\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.md\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.md\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.md\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.md\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.md\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.md\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.md\:focus\:placeholder-current:focus::placeholder{color:currentColor}.md\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.md\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.md\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.md\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.md\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.md\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.md\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.md\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.md\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.md\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.md\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.md\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.md\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.md\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.md\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.md\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.md\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.md\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.md\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.md\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.md\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.md\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.md\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.md\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.md\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.md\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.md\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.md\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.md\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.md\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.md\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.md\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.md\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.md\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.md\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.md\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.md\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.md\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.md\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.md\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.md\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:sticky{position:sticky}.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.md\:inset-y-0{top:0;bottom:0}.md\:inset-x-0{right:0;left:0}.md\:inset-y-auto{top:auto;bottom:auto}.md\:inset-x-auto{right:auto;left:auto}.md\:top-0{top:0}.md\:right-0{right:0}.md\:bottom-0{bottom:0}.md\:left-0{left:0}.md\:top-auto{top:auto}.md\:right-auto{right:auto}.md\:bottom-auto{bottom:auto}.md\:left-auto{left:auto}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:shadow-none{box-shadow:none}.md\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:hover\:shadow-none:hover{box-shadow:none}.md\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.md\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.md\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.md\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.md\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.md\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.md\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.md\:focus\:shadow-none:focus{box-shadow:none}.md\:fill-current{fill:currentColor}.md\:stroke-current{stroke:currentColor}.md\:stroke-0{stroke-width:0}.md\:stroke-1{stroke-width:1}.md\:stroke-2{stroke-width:2}.md\:table-auto{table-layout:auto}.md\:table-fixed{table-layout:fixed}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:text-transparent{color:transparent}.md\:text-current{color:currentColor}.md\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-current:hover{color:currentColor}.md\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:focus\:text-transparent:focus{color:transparent}.md\:focus\:text-current:focus{color:currentColor}.md\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.md\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.md\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.md\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.md\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.md\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.md\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.md\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.md\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.md\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.md\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.md\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.md\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.md\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.md\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.md\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.md\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.md\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.md\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.md\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.md\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.md\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.md\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.md\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.md\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.md\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.md\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.md\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.md\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.md\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.md\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.md\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.md\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.md\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.md\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.md\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.md\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.md\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.md\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.md\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.md\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.md\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.md\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.md\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.md\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.md\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.md\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.md\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.md\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.md\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.md\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.md\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.md\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.md\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.md\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.md\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.md\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.md\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.md\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.md\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.md\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.md\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.md\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.md\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.md\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.md\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.md\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.md\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.md\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.md\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.md\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.md\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.md\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.md\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.md\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.md\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.md\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.md\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.md\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.md\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.md\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.md\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.md\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.md\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.md\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.md\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.md\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.md\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.md\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.md\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.md\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.md\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.md\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.md\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.md\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.md\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.md\:text-opacity-0{--text-opacity:0}.md\:text-opacity-25{--text-opacity:0.25}.md\:text-opacity-50{--text-opacity:0.5}.md\:text-opacity-75{--text-opacity:0.75}.md\:text-opacity-100{--text-opacity:1}.md\:hover\:text-opacity-0:hover{--text-opacity:0}.md\:hover\:text-opacity-25:hover{--text-opacity:0.25}.md\:hover\:text-opacity-50:hover{--text-opacity:0.5}.md\:hover\:text-opacity-75:hover{--text-opacity:0.75}.md\:hover\:text-opacity-100:hover{--text-opacity:1}.md\:focus\:text-opacity-0:focus{--text-opacity:0}.md\:focus\:text-opacity-25:focus{--text-opacity:0.25}.md\:focus\:text-opacity-50:focus{--text-opacity:0.5}.md\:focus\:text-opacity-75:focus{--text-opacity:0.75}.md\:focus\:text-opacity-100:focus{--text-opacity:1}.md\:italic{font-style:italic}.md\:not-italic{font-style:normal}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:focus\:underline:focus{text-decoration:underline}.md\:focus\:line-through:focus{text-decoration:line-through}.md\:focus\:no-underline:focus{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:diagonal-fractions,.md\:lining-nums,.md\:oldstyle-nums,.md\:ordinal,.md\:proportional-nums,.md\:slashed-zero,.md\:stacked-fractions,.md\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.md\:normal-nums{font-variant-numeric:normal}.md\:ordinal{--font-variant-numeric-ordinal:ordinal}.md\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.md\:lining-nums{--font-variant-numeric-figure:lining-nums}.md\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.md\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.md\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.md\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.md\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.md\:tracking-tighter{letter-spacing:-.05em}.md\:tracking-tight{letter-spacing:-.025em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.025em}.md\:tracking-wider{letter-spacing:.05em}.md\:tracking-widest{letter-spacing:.1em}.md\:select-none{-webkit-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;user-select:text}.md\:select-all{-webkit-user-select:all;user-select:all}.md\:select-auto{-webkit-user-select:auto;user-select:auto}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:whitespace-normal{white-space:normal}.md\:whitespace-no-wrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.md\:break-words{word-wrap:break-word;overflow-wrap:break-word}.md\:break-all{word-break:break-all}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:w-0{width:0}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-8{width:2rem}.md\:w-10{width:2.5rem}.md\:w-12{width:3rem}.md\:w-16{width:4rem}.md\:w-20{width:5rem}.md\:w-24{width:6rem}.md\:w-32{width:8rem}.md\:w-40{width:10rem}.md\:w-48{width:12rem}.md\:w-56{width:14rem}.md\:w-64{width:16rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:w-1\/4{width:25%}.md\:w-2\/4{width:50%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-3\/6{width:50%}.md\:w-4\/6{width:66.666667%}.md\:w-5\/6{width:83.333333%}.md\:w-1\/12{width:8.333333%}.md\:w-2\/12{width:16.666667%}.md\:w-3\/12{width:25%}.md\:w-4\/12{width:33.333333%}.md\:w-5\/12{width:41.666667%}.md\:w-6\/12{width:50%}.md\:w-7\/12{width:58.333333%}.md\:w-8\/12{width:66.666667%}.md\:w-9\/12{width:75%}.md\:w-10\/12{width:83.333333%}.md\:w-11\/12{width:91.666667%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}.md\:gap-0{grid-gap:0;gap:0}.md\:gap-1{grid-gap:.25rem;gap:.25rem}.md\:gap-2{grid-gap:.5rem;gap:.5rem}.md\:gap-3{grid-gap:.75rem;gap:.75rem}.md\:gap-4{grid-gap:1rem;gap:1rem}.md\:gap-5{grid-gap:1.25rem;gap:1.25rem}.md\:gap-6{grid-gap:1.5rem;gap:1.5rem}.md\:gap-8{grid-gap:2rem;gap:2rem}.md\:gap-10{grid-gap:2.5rem;gap:2.5rem}.md\:gap-12{grid-gap:3rem;gap:3rem}.md\:gap-16{grid-gap:4rem;gap:4rem}.md\:gap-20{grid-gap:5rem;gap:5rem}.md\:gap-24{grid-gap:6rem;gap:6rem}.md\:gap-32{grid-gap:8rem;gap:8rem}.md\:gap-40{grid-gap:10rem;gap:10rem}.md\:gap-48{grid-gap:12rem;gap:12rem}.md\:gap-56{grid-gap:14rem;gap:14rem}.md\:gap-64{grid-gap:16rem;gap:16rem}.md\:gap-px{grid-gap:1px;gap:1px}.md\:col-gap-0{grid-column-gap:0;column-gap:0}.md\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.md\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.md\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.md\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.md\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.md\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.md\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.md\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.md\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.md\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.md\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.md\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.md\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.md\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.md\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.md\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.md\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.md\:col-gap-px{grid-column-gap:1px;column-gap:1px}.md\:gap-x-0{grid-column-gap:0;column-gap:0}.md\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.md\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.md\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.md\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.md\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.md\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.md\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.md\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.md\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.md\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.md\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.md\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.md\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.md\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.md\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.md\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.md\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.md\:gap-x-px{grid-column-gap:1px;column-gap:1px}.md\:row-gap-0{grid-row-gap:0;row-gap:0}.md\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.md\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.md\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.md\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.md\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.md\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.md\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.md\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.md\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.md\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.md\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.md\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.md\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.md\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.md\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.md\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.md\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.md\:row-gap-px{grid-row-gap:1px;row-gap:1px}.md\:gap-y-0{grid-row-gap:0;row-gap:0}.md\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.md\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.md\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.md\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.md\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.md\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.md\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.md\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.md\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.md\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.md\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.md\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.md\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.md\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.md\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.md\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.md\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.md\:gap-y-px{grid-row-gap:1px;row-gap:1px}.md\:grid-flow-row{grid-auto-flow:row}.md\:grid-flow-col{grid-auto-flow:column}.md\:grid-flow-row-dense{grid-auto-flow:row dense}.md\:grid-flow-col-dense{grid-auto-flow:column dense}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}.md\:auto-cols-auto{grid-auto-columns:auto}.md\:auto-cols-min{grid-auto-columns:min-content}.md\:auto-cols-max{grid-auto-columns:max-content}.md\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.md\:col-auto{grid-column:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-full{grid-column:1/-1}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:col-start-3{grid-column-start:3}.md\:col-start-4{grid-column-start:4}.md\:col-start-5{grid-column-start:5}.md\:col-start-6{grid-column-start:6}.md\:col-start-7{grid-column-start:7}.md\:col-start-8{grid-column-start:8}.md\:col-start-9{grid-column-start:9}.md\:col-start-10{grid-column-start:10}.md\:col-start-11{grid-column-start:11}.md\:col-start-12{grid-column-start:12}.md\:col-start-13{grid-column-start:13}.md\:col-start-auto{grid-column-start:auto}.md\:col-end-1{grid-column-end:1}.md\:col-end-2{grid-column-end:2}.md\:col-end-3{grid-column-end:3}.md\:col-end-4{grid-column-end:4}.md\:col-end-5{grid-column-end:5}.md\:col-end-6{grid-column-end:6}.md\:col-end-7{grid-column-end:7}.md\:col-end-8{grid-column-end:8}.md\:col-end-9{grid-column-end:9}.md\:col-end-10{grid-column-end:10}.md\:col-end-11{grid-column-end:11}.md\:col-end-12{grid-column-end:12}.md\:col-end-13{grid-column-end:13}.md\:col-end-auto{grid-column-end:auto}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.md\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.md\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.md\:grid-rows-none{grid-template-rows:none}.md\:auto-rows-auto{grid-auto-rows:auto}.md\:auto-rows-min{grid-auto-rows:min-content}.md\:auto-rows-max{grid-auto-rows:max-content}.md\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.md\:row-auto{grid-row:auto}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-3{grid-row:span 3/span 3}.md\:row-span-4{grid-row:span 4/span 4}.md\:row-span-5{grid-row:span 5/span 5}.md\:row-span-6{grid-row:span 6/span 6}.md\:row-span-full{grid-row:1/-1}.md\:row-start-1{grid-row-start:1}.md\:row-start-2{grid-row-start:2}.md\:row-start-3{grid-row-start:3}.md\:row-start-4{grid-row-start:4}.md\:row-start-5{grid-row-start:5}.md\:row-start-6{grid-row-start:6}.md\:row-start-7{grid-row-start:7}.md\:row-start-auto{grid-row-start:auto}.md\:row-end-1{grid-row-end:1}.md\:row-end-2{grid-row-end:2}.md\:row-end-3{grid-row-end:3}.md\:row-end-4{grid-row-end:4}.md\:row-end-5{grid-row-end:5}.md\:row-end-6{grid-row-end:6}.md\:row-end-7{grid-row-end:7}.md\:row-end-auto{grid-row-end:auto}.md\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.md\:transform-none{transform:none}.md\:origin-center{transform-origin:center}.md\:origin-top{transform-origin:top}.md\:origin-top-right{transform-origin:top right}.md\:origin-right{transform-origin:right}.md\:origin-bottom-right{transform-origin:bottom right}.md\:origin-bottom{transform-origin:bottom}.md\:origin-bottom-left{transform-origin:bottom left}.md\:origin-left{transform-origin:left}.md\:origin-top-left{transform-origin:top left}.md\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.md\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.md\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.md\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.md\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.md\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.md\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:scale-x-0{--transform-scale-x:0}.md\:scale-x-50{--transform-scale-x:.5}.md\:scale-x-75{--transform-scale-x:.75}.md\:scale-x-90{--transform-scale-x:.9}.md\:scale-x-95{--transform-scale-x:.95}.md\:scale-x-100{--transform-scale-x:1}.md\:scale-x-105{--transform-scale-x:1.05}.md\:scale-x-110{--transform-scale-x:1.1}.md\:scale-x-125{--transform-scale-x:1.25}.md\:scale-x-150{--transform-scale-x:1.5}.md\:scale-y-0{--transform-scale-y:0}.md\:scale-y-50{--transform-scale-y:.5}.md\:scale-y-75{--transform-scale-y:.75}.md\:scale-y-90{--transform-scale-y:.9}.md\:scale-y-95{--transform-scale-y:.95}.md\:scale-y-100{--transform-scale-y:1}.md\:scale-y-105{--transform-scale-y:1.05}.md\:scale-y-110{--transform-scale-y:1.1}.md\:scale-y-125{--transform-scale-y:1.25}.md\:scale-y-150{--transform-scale-y:1.5}.md\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.md\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.md\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.md\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.md\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.md\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.md\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:hover\:scale-x-0:hover{--transform-scale-x:0}.md\:hover\:scale-x-50:hover{--transform-scale-x:.5}.md\:hover\:scale-x-75:hover{--transform-scale-x:.75}.md\:hover\:scale-x-90:hover{--transform-scale-x:.9}.md\:hover\:scale-x-95:hover{--transform-scale-x:.95}.md\:hover\:scale-x-100:hover{--transform-scale-x:1}.md\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.md\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.md\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.md\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.md\:hover\:scale-y-0:hover{--transform-scale-y:0}.md\:hover\:scale-y-50:hover{--transform-scale-y:.5}.md\:hover\:scale-y-75:hover{--transform-scale-y:.75}.md\:hover\:scale-y-90:hover{--transform-scale-y:.9}.md\:hover\:scale-y-95:hover{--transform-scale-y:.95}.md\:hover\:scale-y-100:hover{--transform-scale-y:1}.md\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.md\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.md\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.md\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.md\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.md\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.md\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.md\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.md\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.md\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.md\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.md\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.md\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.md\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.md\:focus\:scale-x-0:focus{--transform-scale-x:0}.md\:focus\:scale-x-50:focus{--transform-scale-x:.5}.md\:focus\:scale-x-75:focus{--transform-scale-x:.75}.md\:focus\:scale-x-90:focus{--transform-scale-x:.9}.md\:focus\:scale-x-95:focus{--transform-scale-x:.95}.md\:focus\:scale-x-100:focus{--transform-scale-x:1}.md\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.md\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.md\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.md\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.md\:focus\:scale-y-0:focus{--transform-scale-y:0}.md\:focus\:scale-y-50:focus{--transform-scale-y:.5}.md\:focus\:scale-y-75:focus{--transform-scale-y:.75}.md\:focus\:scale-y-90:focus{--transform-scale-y:.9}.md\:focus\:scale-y-95:focus{--transform-scale-y:.95}.md\:focus\:scale-y-100:focus{--transform-scale-y:1}.md\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.md\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.md\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.md\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.md\:rotate-0{--transform-rotate:0}.md\:rotate-1{--transform-rotate:1deg}.md\:rotate-2{--transform-rotate:2deg}.md\:rotate-3{--transform-rotate:3deg}.md\:rotate-6{--transform-rotate:6deg}.md\:rotate-12{--transform-rotate:12deg}.md\:rotate-45{--transform-rotate:45deg}.md\:rotate-90{--transform-rotate:90deg}.md\:rotate-180{--transform-rotate:180deg}.md\:-rotate-180{--transform-rotate:-180deg}.md\:-rotate-90{--transform-rotate:-90deg}.md\:-rotate-45{--transform-rotate:-45deg}.md\:-rotate-12{--transform-rotate:-12deg}.md\:-rotate-6{--transform-rotate:-6deg}.md\:-rotate-3{--transform-rotate:-3deg}.md\:-rotate-2{--transform-rotate:-2deg}.md\:-rotate-1{--transform-rotate:-1deg}.md\:hover\:rotate-0:hover{--transform-rotate:0}.md\:hover\:rotate-1:hover{--transform-rotate:1deg}.md\:hover\:rotate-2:hover{--transform-rotate:2deg}.md\:hover\:rotate-3:hover{--transform-rotate:3deg}.md\:hover\:rotate-6:hover{--transform-rotate:6deg}.md\:hover\:rotate-12:hover{--transform-rotate:12deg}.md\:hover\:rotate-45:hover{--transform-rotate:45deg}.md\:hover\:rotate-90:hover{--transform-rotate:90deg}.md\:hover\:rotate-180:hover{--transform-rotate:180deg}.md\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.md\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.md\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.md\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.md\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.md\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.md\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.md\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.md\:focus\:rotate-0:focus{--transform-rotate:0}.md\:focus\:rotate-1:focus{--transform-rotate:1deg}.md\:focus\:rotate-2:focus{--transform-rotate:2deg}.md\:focus\:rotate-3:focus{--transform-rotate:3deg}.md\:focus\:rotate-6:focus{--transform-rotate:6deg}.md\:focus\:rotate-12:focus{--transform-rotate:12deg}.md\:focus\:rotate-45:focus{--transform-rotate:45deg}.md\:focus\:rotate-90:focus{--transform-rotate:90deg}.md\:focus\:rotate-180:focus{--transform-rotate:180deg}.md\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.md\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.md\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.md\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.md\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.md\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.md\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.md\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.md\:translate-x-0{--transform-translate-x:0}.md\:translate-x-1{--transform-translate-x:0.25rem}.md\:translate-x-2{--transform-translate-x:0.5rem}.md\:translate-x-3{--transform-translate-x:0.75rem}.md\:translate-x-4{--transform-translate-x:1rem}.md\:translate-x-5{--transform-translate-x:1.25rem}.md\:translate-x-6{--transform-translate-x:1.5rem}.md\:translate-x-8{--transform-translate-x:2rem}.md\:translate-x-10{--transform-translate-x:2.5rem}.md\:translate-x-12{--transform-translate-x:3rem}.md\:translate-x-16{--transform-translate-x:4rem}.md\:translate-x-20{--transform-translate-x:5rem}.md\:translate-x-24{--transform-translate-x:6rem}.md\:translate-x-32{--transform-translate-x:8rem}.md\:translate-x-40{--transform-translate-x:10rem}.md\:translate-x-48{--transform-translate-x:12rem}.md\:translate-x-56{--transform-translate-x:14rem}.md\:translate-x-64{--transform-translate-x:16rem}.md\:translate-x-px{--transform-translate-x:1px}.md\:-translate-x-1{--transform-translate-x:-0.25rem}.md\:-translate-x-2{--transform-translate-x:-0.5rem}.md\:-translate-x-3{--transform-translate-x:-0.75rem}.md\:-translate-x-4{--transform-translate-x:-1rem}.md\:-translate-x-5{--transform-translate-x:-1.25rem}.md\:-translate-x-6{--transform-translate-x:-1.5rem}.md\:-translate-x-8{--transform-translate-x:-2rem}.md\:-translate-x-10{--transform-translate-x:-2.5rem}.md\:-translate-x-12{--transform-translate-x:-3rem}.md\:-translate-x-16{--transform-translate-x:-4rem}.md\:-translate-x-20{--transform-translate-x:-5rem}.md\:-translate-x-24{--transform-translate-x:-6rem}.md\:-translate-x-32{--transform-translate-x:-8rem}.md\:-translate-x-40{--transform-translate-x:-10rem}.md\:-translate-x-48{--transform-translate-x:-12rem}.md\:-translate-x-56{--transform-translate-x:-14rem}.md\:-translate-x-64{--transform-translate-x:-16rem}.md\:-translate-x-px{--transform-translate-x:-1px}.md\:-translate-x-full{--transform-translate-x:-100%}.md\:-translate-x-1\/2{--transform-translate-x:-50%}.md\:translate-x-1\/2{--transform-translate-x:50%}.md\:translate-x-full{--transform-translate-x:100%}.md\:translate-y-0{--transform-translate-y:0}.md\:translate-y-1{--transform-translate-y:0.25rem}.md\:translate-y-2{--transform-translate-y:0.5rem}.md\:translate-y-3{--transform-translate-y:0.75rem}.md\:translate-y-4{--transform-translate-y:1rem}.md\:translate-y-5{--transform-translate-y:1.25rem}.md\:translate-y-6{--transform-translate-y:1.5rem}.md\:translate-y-8{--transform-translate-y:2rem}.md\:translate-y-10{--transform-translate-y:2.5rem}.md\:translate-y-12{--transform-translate-y:3rem}.md\:translate-y-16{--transform-translate-y:4rem}.md\:translate-y-20{--transform-translate-y:5rem}.md\:translate-y-24{--transform-translate-y:6rem}.md\:translate-y-32{--transform-translate-y:8rem}.md\:translate-y-40{--transform-translate-y:10rem}.md\:translate-y-48{--transform-translate-y:12rem}.md\:translate-y-56{--transform-translate-y:14rem}.md\:translate-y-64{--transform-translate-y:16rem}.md\:translate-y-px{--transform-translate-y:1px}.md\:-translate-y-1{--transform-translate-y:-0.25rem}.md\:-translate-y-2{--transform-translate-y:-0.5rem}.md\:-translate-y-3{--transform-translate-y:-0.75rem}.md\:-translate-y-4{--transform-translate-y:-1rem}.md\:-translate-y-5{--transform-translate-y:-1.25rem}.md\:-translate-y-6{--transform-translate-y:-1.5rem}.md\:-translate-y-8{--transform-translate-y:-2rem}.md\:-translate-y-10{--transform-translate-y:-2.5rem}.md\:-translate-y-12{--transform-translate-y:-3rem}.md\:-translate-y-16{--transform-translate-y:-4rem}.md\:-translate-y-20{--transform-translate-y:-5rem}.md\:-translate-y-24{--transform-translate-y:-6rem}.md\:-translate-y-32{--transform-translate-y:-8rem}.md\:-translate-y-40{--transform-translate-y:-10rem}.md\:-translate-y-48{--transform-translate-y:-12rem}.md\:-translate-y-56{--transform-translate-y:-14rem}.md\:-translate-y-64{--transform-translate-y:-16rem}.md\:-translate-y-px{--transform-translate-y:-1px}.md\:-translate-y-full{--transform-translate-y:-100%}.md\:-translate-y-1\/2{--transform-translate-y:-50%}.md\:translate-y-1\/2{--transform-translate-y:50%}.md\:translate-y-full{--transform-translate-y:100%}.md\:hover\:translate-x-0:hover{--transform-translate-x:0}.md\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.md\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.md\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.md\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.md\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.md\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.md\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.md\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.md\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.md\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.md\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.md\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.md\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.md\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.md\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.md\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.md\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.md\:hover\:translate-x-px:hover{--transform-translate-x:1px}.md\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.md\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.md\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.md\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.md\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.md\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.md\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.md\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.md\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.md\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.md\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.md\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.md\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.md\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.md\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.md\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.md\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.md\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.md\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.md\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.md\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.md\:hover\:translate-x-full:hover{--transform-translate-x:100%}.md\:hover\:translate-y-0:hover{--transform-translate-y:0}.md\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.md\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.md\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.md\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.md\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.md\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.md\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.md\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.md\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.md\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.md\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.md\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.md\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.md\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.md\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.md\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.md\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.md\:hover\:translate-y-px:hover{--transform-translate-y:1px}.md\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.md\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.md\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.md\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.md\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.md\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.md\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.md\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.md\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.md\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.md\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.md\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.md\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.md\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.md\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.md\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.md\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.md\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.md\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.md\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.md\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.md\:hover\:translate-y-full:hover{--transform-translate-y:100%}.md\:focus\:translate-x-0:focus{--transform-translate-x:0}.md\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.md\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.md\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.md\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.md\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.md\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.md\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.md\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.md\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.md\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.md\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.md\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.md\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.md\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.md\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.md\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.md\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.md\:focus\:translate-x-px:focus{--transform-translate-x:1px}.md\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.md\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.md\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.md\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.md\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.md\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.md\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.md\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.md\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.md\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.md\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.md\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.md\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.md\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.md\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.md\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.md\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.md\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.md\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.md\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.md\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.md\:focus\:translate-x-full:focus{--transform-translate-x:100%}.md\:focus\:translate-y-0:focus{--transform-translate-y:0}.md\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.md\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.md\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.md\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.md\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.md\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.md\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.md\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.md\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.md\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.md\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.md\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.md\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.md\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.md\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.md\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.md\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.md\:focus\:translate-y-px:focus{--transform-translate-y:1px}.md\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.md\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.md\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.md\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.md\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.md\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.md\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.md\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.md\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.md\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.md\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.md\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.md\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.md\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.md\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.md\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.md\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.md\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.md\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.md\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.md\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.md\:focus\:translate-y-full:focus{--transform-translate-y:100%}.md\:skew-x-0{--transform-skew-x:0}.md\:skew-x-1{--transform-skew-x:1deg}.md\:skew-x-2{--transform-skew-x:2deg}.md\:skew-x-3{--transform-skew-x:3deg}.md\:skew-x-6{--transform-skew-x:6deg}.md\:skew-x-12{--transform-skew-x:12deg}.md\:-skew-x-12{--transform-skew-x:-12deg}.md\:-skew-x-6{--transform-skew-x:-6deg}.md\:-skew-x-3{--transform-skew-x:-3deg}.md\:-skew-x-2{--transform-skew-x:-2deg}.md\:-skew-x-1{--transform-skew-x:-1deg}.md\:skew-y-0{--transform-skew-y:0}.md\:skew-y-1{--transform-skew-y:1deg}.md\:skew-y-2{--transform-skew-y:2deg}.md\:skew-y-3{--transform-skew-y:3deg}.md\:skew-y-6{--transform-skew-y:6deg}.md\:skew-y-12{--transform-skew-y:12deg}.md\:-skew-y-12{--transform-skew-y:-12deg}.md\:-skew-y-6{--transform-skew-y:-6deg}.md\:-skew-y-3{--transform-skew-y:-3deg}.md\:-skew-y-2{--transform-skew-y:-2deg}.md\:-skew-y-1{--transform-skew-y:-1deg}.md\:hover\:skew-x-0:hover{--transform-skew-x:0}.md\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.md\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.md\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.md\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.md\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.md\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.md\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.md\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.md\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.md\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.md\:hover\:skew-y-0:hover{--transform-skew-y:0}.md\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.md\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.md\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.md\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.md\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.md\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.md\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.md\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.md\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.md\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.md\:focus\:skew-x-0:focus{--transform-skew-x:0}.md\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.md\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.md\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.md\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.md\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.md\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.md\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.md\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.md\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.md\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.md\:focus\:skew-y-0:focus{--transform-skew-y:0}.md\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.md\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.md\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.md\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.md\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.md\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.md\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.md\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.md\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.md\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.md\:transition-none{transition-property:none}.md\:transition-all{transition-property:all}.md\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.md\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.md\:transition-opacity{transition-property:opacity}.md\:transition-shadow{transition-property:box-shadow}.md\:transition-transform{transition-property:transform}.md\:ease-linear{transition-timing-function:linear}.md\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.md\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.md\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.md\:duration-75{transition-duration:75ms}.md\:duration-100{transition-duration:.1s}.md\:duration-150{transition-duration:.15s}.md\:duration-200{transition-duration:.2s}.md\:duration-300{transition-duration:.3s}.md\:duration-500{transition-duration:.5s}.md\:duration-700{transition-duration:.7s}.md\:duration-1000{transition-duration:1s}.md\:delay-75{transition-delay:75ms}.md\:delay-100{transition-delay:.1s}.md\:delay-150{transition-delay:.15s}.md\:delay-200{transition-delay:.2s}.md\:delay-300{transition-delay:.3s}.md\:delay-500{transition-delay:.5s}.md\:delay-700{transition-delay:.7s}.md\:delay-1000{transition-delay:1s}.md\:animate-none{animation:none}.md\:animate-spin{animation:spin 1s linear infinite}.md\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.md\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.md\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1024px){.lg\:container{width:100%}@media (min-width:360px){.lg\:container{max-width:360px}}@media (min-width:640px){.lg\:container{max-width:640px}}@media (min-width:768px){.lg\:container{max-width:768px}}@media (min-width:1024px){.lg\:container{max-width:1024px}}@media (min-width:1280px){.lg\:container{max-width:1280px}}@media (min-width:1480px){.lg\:container{max-width:1480px}}.lg\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.lg\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.lg\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.lg\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.lg\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.lg\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.lg\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.lg\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.lg\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.lg\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.lg\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.lg\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.lg\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.lg\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.lg\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.lg\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.lg\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.lg\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.lg\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.lg\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.lg\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.lg\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.lg\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.lg\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.lg\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.lg\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.lg\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.lg\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.lg\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.lg\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.lg\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.lg\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.lg\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.lg\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.lg\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.lg\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.lg\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.lg\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.lg\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.lg\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.lg\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.lg\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.lg\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.lg\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.lg\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.lg\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.lg\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.lg\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.lg\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.lg\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.lg\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.lg\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.lg\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.lg\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.lg\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.lg\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.lg\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.lg\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.lg\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.lg\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.lg\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.lg\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.lg\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.lg\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.lg\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.lg\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.lg\:divide-transparent>:not(template)~:not(template){border-color:transparent}.lg\:divide-current>:not(template)~:not(template){border-color:currentColor}.lg\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.lg\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.lg\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.lg\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.lg\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.lg\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.lg\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.lg\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.lg\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.lg\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.lg\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.lg\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.lg\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.lg\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.lg\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.lg\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.lg\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.lg\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.lg\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.lg\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.lg\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.lg\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.lg\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.lg\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.lg\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.lg\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.lg\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.lg\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.lg\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.lg\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.lg\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.lg\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.lg\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.lg\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.lg\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.lg\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.lg\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.lg\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.lg\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.lg\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.lg\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.lg\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.lg\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.lg\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.lg\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.lg\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.lg\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.lg\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.lg\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.lg\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.lg\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.lg\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.lg\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.lg\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.lg\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.lg\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.lg\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.lg\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.lg\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.lg\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.lg\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.lg\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.lg\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.lg\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.lg\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.lg\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.lg\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.lg\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.lg\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.lg\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.lg\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.lg\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.lg\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.lg\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.lg\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.lg\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.lg\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.lg\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.lg\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.lg\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.lg\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.lg\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.lg\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.lg\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.lg\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.lg\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.lg\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.lg\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.lg\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.lg\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.lg\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.lg\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.lg\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.lg\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.lg\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.lg\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.lg\:divide-solid>:not(template)~:not(template){border-style:solid}.lg\:divide-dashed>:not(template)~:not(template){border-style:dashed}.lg\:divide-dotted>:not(template)~:not(template){border-style:dotted}.lg\:divide-double>:not(template)~:not(template){border-style:double}.lg\:divide-none>:not(template)~:not(template){border-style:none}.lg\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.lg\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.lg\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.lg\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.lg\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.lg\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.lg\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.lg\:appearance-none{-webkit-appearance:none;appearance:none}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-clip-border{background-clip:border-box}.lg\:bg-clip-padding{background-clip:padding-box}.lg\:bg-clip-content{background-clip:content-box}.lg\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.lg\:bg-transparent{background-color:transparent}.lg\:bg-current{background-color:currentColor}.lg\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-current:hover{background-color:currentColor}.lg\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:focus\:bg-transparent:focus{background-color:transparent}.lg\:focus\:bg-current:focus{background-color:currentColor}.lg\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.lg\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.lg\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.lg\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.lg\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.lg\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.lg\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.lg\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.lg\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.lg\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.lg\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.lg\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.lg\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.lg\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.lg\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.lg\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.lg\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.lg\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.lg\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.lg\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.lg\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.lg\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.lg\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.lg\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.lg\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.lg\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.lg\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.lg\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.lg\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.lg\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.lg\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.lg\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.lg\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.lg\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.lg\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.lg\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.lg\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.lg\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.lg\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.lg\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.lg\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.lg\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.lg\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.lg\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.lg\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.lg\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.lg\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.lg\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.lg\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.lg\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.lg\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.lg\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.lg\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.lg\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.lg\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.lg\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.lg\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.lg\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.lg\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.lg\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.lg\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.lg\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.lg\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.lg\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.lg\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.lg\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.lg\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.lg\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.lg\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.lg\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.lg\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.lg\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.lg\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.lg\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.lg\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.lg\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.lg\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.lg\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.lg\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.lg\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.lg\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.lg\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.lg\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.lg\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.lg\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.lg\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.lg\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.lg\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.lg\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.lg\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.lg\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.lg\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.lg\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.lg\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.lg\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.lg\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.lg\:bg-none{background-image:none}.lg\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.lg\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.lg\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.lg\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.lg\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.lg\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:to-transparent{--gradient-to-color:transparent}.lg\:to-current{--gradient-to-color:currentColor}.lg\:to-black{--gradient-to-color:#000}.lg\:to-white{--gradient-to-color:#fff}.lg\:to-gray-100{--gradient-to-color:#f7fafc}.lg\:to-gray-200{--gradient-to-color:#edf2f7}.lg\:to-gray-300{--gradient-to-color:#e2e8f0}.lg\:to-gray-400{--gradient-to-color:#cbd5e0}.lg\:to-gray-500{--gradient-to-color:#a0aec0}.lg\:to-gray-600{--gradient-to-color:#718096}.lg\:to-gray-700{--gradient-to-color:#4a5568}.lg\:to-gray-800{--gradient-to-color:#2d3748}.lg\:to-gray-900{--gradient-to-color:#1a202c}.lg\:to-red-100{--gradient-to-color:#fff5f5}.lg\:to-red-200{--gradient-to-color:#fed7d7}.lg\:to-red-300{--gradient-to-color:#feb2b2}.lg\:to-red-400{--gradient-to-color:#fc8181}.lg\:to-red-500{--gradient-to-color:#f56565}.lg\:to-red-600{--gradient-to-color:#e53e3e}.lg\:to-red-700{--gradient-to-color:#c53030}.lg\:to-red-800{--gradient-to-color:#9b2c2c}.lg\:to-red-900{--gradient-to-color:#742a2a}.lg\:to-orange-100{--gradient-to-color:#fffaf0}.lg\:to-orange-200{--gradient-to-color:#feebc8}.lg\:to-orange-300{--gradient-to-color:#fbd38d}.lg\:to-orange-400{--gradient-to-color:#f6ad55}.lg\:to-orange-500{--gradient-to-color:#ed8936}.lg\:to-orange-600{--gradient-to-color:#dd6b20}.lg\:to-orange-700{--gradient-to-color:#c05621}.lg\:to-orange-800{--gradient-to-color:#9c4221}.lg\:to-orange-900{--gradient-to-color:#7b341e}.lg\:to-yellow-100{--gradient-to-color:ivory}.lg\:to-yellow-200{--gradient-to-color:#fefcbf}.lg\:to-yellow-300{--gradient-to-color:#faf089}.lg\:to-yellow-400{--gradient-to-color:#f6e05e}.lg\:to-yellow-500{--gradient-to-color:#ecc94b}.lg\:to-yellow-600{--gradient-to-color:#d69e2e}.lg\:to-yellow-700{--gradient-to-color:#b7791f}.lg\:to-yellow-800{--gradient-to-color:#975a16}.lg\:to-yellow-900{--gradient-to-color:#744210}.lg\:to-green-100{--gradient-to-color:#f0fff4}.lg\:to-green-200{--gradient-to-color:#c6f6d5}.lg\:to-green-300{--gradient-to-color:#9ae6b4}.lg\:to-green-400{--gradient-to-color:#68d391}.lg\:to-green-500{--gradient-to-color:#48bb78}.lg\:to-green-600{--gradient-to-color:#38a169}.lg\:to-green-700{--gradient-to-color:#2f855a}.lg\:to-green-800{--gradient-to-color:#276749}.lg\:to-green-900{--gradient-to-color:#22543d}.lg\:to-teal-100{--gradient-to-color:#e6fffa}.lg\:to-teal-200{--gradient-to-color:#b2f5ea}.lg\:to-teal-300{--gradient-to-color:#81e6d9}.lg\:to-teal-400{--gradient-to-color:#4fd1c5}.lg\:to-teal-500{--gradient-to-color:#38b2ac}.lg\:to-teal-600{--gradient-to-color:#319795}.lg\:to-teal-700{--gradient-to-color:#2c7a7b}.lg\:to-teal-800{--gradient-to-color:#285e61}.lg\:to-teal-900{--gradient-to-color:#234e52}.lg\:to-blue-100{--gradient-to-color:#ebf8ff}.lg\:to-blue-200{--gradient-to-color:#bee3f8}.lg\:to-blue-300{--gradient-to-color:#90cdf4}.lg\:to-blue-400{--gradient-to-color:#63b3ed}.lg\:to-blue-500{--gradient-to-color:#4299e1}.lg\:to-blue-600{--gradient-to-color:#3182ce}.lg\:to-blue-700{--gradient-to-color:#2b6cb0}.lg\:to-blue-800{--gradient-to-color:#2c5282}.lg\:to-blue-900{--gradient-to-color:#2a4365}.lg\:to-indigo-100{--gradient-to-color:#ebf4ff}.lg\:to-indigo-200{--gradient-to-color:#c3dafe}.lg\:to-indigo-300{--gradient-to-color:#a3bffa}.lg\:to-indigo-400{--gradient-to-color:#7f9cf5}.lg\:to-indigo-500{--gradient-to-color:#667eea}.lg\:to-indigo-600{--gradient-to-color:#5a67d8}.lg\:to-indigo-700{--gradient-to-color:#4c51bf}.lg\:to-indigo-800{--gradient-to-color:#434190}.lg\:to-indigo-900{--gradient-to-color:#3c366b}.lg\:to-purple-100{--gradient-to-color:#faf5ff}.lg\:to-purple-200{--gradient-to-color:#e9d8fd}.lg\:to-purple-300{--gradient-to-color:#d6bcfa}.lg\:to-purple-400{--gradient-to-color:#b794f4}.lg\:to-purple-500{--gradient-to-color:#9f7aea}.lg\:to-purple-600{--gradient-to-color:#805ad5}.lg\:to-purple-700{--gradient-to-color:#6b46c1}.lg\:to-purple-800{--gradient-to-color:#553c9a}.lg\:to-purple-900{--gradient-to-color:#44337a}.lg\:to-pink-100{--gradient-to-color:#fff5f7}.lg\:to-pink-200{--gradient-to-color:#fed7e2}.lg\:to-pink-300{--gradient-to-color:#fbb6ce}.lg\:to-pink-400{--gradient-to-color:#f687b3}.lg\:to-pink-500{--gradient-to-color:#ed64a6}.lg\:to-pink-600{--gradient-to-color:#d53f8c}.lg\:to-pink-700{--gradient-to-color:#b83280}.lg\:to-pink-800{--gradient-to-color:#97266d}.lg\:to-pink-900{--gradient-to-color:#702459}.lg\:to-primary{--gradient-to-color:#00d1ff}.lg\:to-secondary{--gradient-to-color:#e077ff}.lg\:to-greenish-blue{--gradient-to-color:#adffed}.lg\:to-blue-gray{--gradient-to-color:#cfe1e6}.lg\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:hover\:to-transparent:hover{--gradient-to-color:transparent}.lg\:hover\:to-current:hover{--gradient-to-color:currentColor}.lg\:hover\:to-black:hover{--gradient-to-color:#000}.lg\:hover\:to-white:hover{--gradient-to-color:#fff}.lg\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.lg\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.lg\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.lg\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.lg\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.lg\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.lg\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.lg\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.lg\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.lg\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.lg\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.lg\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.lg\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.lg\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.lg\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.lg\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.lg\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.lg\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.lg\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.lg\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.lg\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.lg\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.lg\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.lg\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.lg\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.lg\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.lg\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.lg\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.lg\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.lg\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.lg\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.lg\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.lg\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.lg\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.lg\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.lg\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.lg\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.lg\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.lg\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.lg\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.lg\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.lg\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.lg\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.lg\:hover\:to-green-800:hover{--gradient-to-color:#276749}.lg\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.lg\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.lg\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.lg\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.lg\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.lg\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.lg\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.lg\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.lg\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.lg\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.lg\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.lg\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.lg\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.lg\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.lg\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.lg\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.lg\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.lg\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.lg\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.lg\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.lg\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.lg\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.lg\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.lg\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.lg\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.lg\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.lg\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.lg\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.lg\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.lg\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.lg\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.lg\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.lg\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.lg\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.lg\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.lg\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.lg\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.lg\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.lg\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.lg\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.lg\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.lg\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.lg\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.lg\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.lg\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.lg\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.lg\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.lg\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.lg\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.lg\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.lg\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.lg\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.lg\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.lg\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.lg\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.lg\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.lg\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.lg\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.lg\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.lg\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.lg\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.lg\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.lg\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.lg\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.lg\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.lg\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.lg\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.lg\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.lg\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.lg\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.lg\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.lg\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.lg\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.lg\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.lg\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.lg\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.lg\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.lg\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.lg\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.lg\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.lg\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.lg\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.lg\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.lg\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.lg\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.lg\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.lg\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.lg\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.lg\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.lg\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.lg\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.lg\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.lg\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.lg\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.lg\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.lg\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.lg\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.lg\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.lg\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.lg\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.lg\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.lg\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.lg\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.lg\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.lg\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.lg\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.lg\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.lg\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.lg\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.lg\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.lg\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.lg\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.lg\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.lg\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.lg\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.lg\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.lg\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.lg\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.lg\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.lg\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.lg\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.lg\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.lg\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.lg\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.lg\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.lg\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.lg\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.lg\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.lg\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.lg\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.lg\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.lg\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.lg\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.lg\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.lg\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.lg\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.lg\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.lg\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.lg\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.lg\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.lg\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.lg\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.lg\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.lg\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.lg\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.lg\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.lg\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.lg\:focus\:to-transparent:focus{--gradient-to-color:transparent}.lg\:focus\:to-current:focus{--gradient-to-color:currentColor}.lg\:focus\:to-black:focus{--gradient-to-color:#000}.lg\:focus\:to-white:focus{--gradient-to-color:#fff}.lg\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.lg\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.lg\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.lg\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.lg\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.lg\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.lg\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.lg\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.lg\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.lg\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.lg\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.lg\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.lg\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.lg\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.lg\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.lg\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.lg\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.lg\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.lg\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.lg\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.lg\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.lg\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.lg\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.lg\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.lg\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.lg\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.lg\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.lg\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.lg\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.lg\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.lg\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.lg\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.lg\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.lg\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.lg\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.lg\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.lg\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.lg\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.lg\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.lg\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.lg\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.lg\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.lg\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.lg\:focus\:to-green-800:focus{--gradient-to-color:#276749}.lg\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.lg\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.lg\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.lg\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.lg\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.lg\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.lg\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.lg\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.lg\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.lg\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.lg\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.lg\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.lg\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.lg\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.lg\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.lg\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.lg\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.lg\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.lg\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.lg\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.lg\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.lg\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.lg\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.lg\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.lg\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.lg\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.lg\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.lg\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.lg\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.lg\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.lg\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.lg\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.lg\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.lg\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.lg\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.lg\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.lg\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.lg\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.lg\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.lg\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.lg\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.lg\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.lg\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.lg\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.lg\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.lg\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.lg\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.lg\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.lg\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.lg\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.lg\:bg-opacity-0{--bg-opacity:0}.lg\:bg-opacity-25{--bg-opacity:0.25}.lg\:bg-opacity-50{--bg-opacity:0.5}.lg\:bg-opacity-75{--bg-opacity:0.75}.lg\:bg-opacity-100{--bg-opacity:1}.lg\:hover\:bg-opacity-0:hover{--bg-opacity:0}.lg\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.lg\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.lg\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.lg\:hover\:bg-opacity-100:hover{--bg-opacity:1}.lg\:focus\:bg-opacity-0:focus{--bg-opacity:0}.lg\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.lg\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.lg\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.lg\:focus\:bg-opacity-100:focus{--bg-opacity:1}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:50%}.lg\:bg-left{background-position:0}.lg\:bg-left-bottom{background-position:0 100%}.lg\:bg-left-top{background-position:0 0}.lg\:bg-right{background-position:100%}.lg\:bg-right-bottom{background-position:100% 100%}.lg\:bg-right-top{background-position:100% 0}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-repeat-round{background-repeat:round}.lg\:bg-repeat-space{background-repeat:space}.lg\:bg-auto{background-size:auto}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:border-collapse{border-collapse:collapse}.lg\:border-separate{border-collapse:separate}.lg\:border-transparent{border-color:transparent}.lg\:border-current{border-color:currentColor}.lg\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-current:hover{border-color:currentColor}.lg\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:focus\:border-transparent:focus{border-color:transparent}.lg\:focus\:border-current:focus{border-color:currentColor}.lg\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.lg\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.lg\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.lg\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.lg\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.lg\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.lg\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.lg\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.lg\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.lg\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.lg\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.lg\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.lg\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.lg\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.lg\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.lg\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.lg\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.lg\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.lg\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.lg\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.lg\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.lg\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.lg\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.lg\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.lg\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.lg\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.lg\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.lg\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.lg\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.lg\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.lg\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.lg\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.lg\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.lg\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.lg\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.lg\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.lg\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.lg\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.lg\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.lg\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.lg\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.lg\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.lg\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.lg\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.lg\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.lg\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.lg\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.lg\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.lg\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.lg\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.lg\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.lg\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.lg\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.lg\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.lg\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.lg\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.lg\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.lg\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.lg\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.lg\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.lg\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.lg\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.lg\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.lg\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.lg\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.lg\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.lg\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.lg\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.lg\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.lg\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.lg\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.lg\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.lg\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.lg\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.lg\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.lg\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.lg\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.lg\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.lg\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.lg\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.lg\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.lg\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.lg\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.lg\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.lg\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.lg\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.lg\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.lg\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.lg\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.lg\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.lg\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.lg\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.lg\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.lg\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.lg\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.lg\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.lg\:border-opacity-0{--border-opacity:0}.lg\:border-opacity-25{--border-opacity:0.25}.lg\:border-opacity-50{--border-opacity:0.5}.lg\:border-opacity-75{--border-opacity:0.75}.lg\:border-opacity-100{--border-opacity:1}.lg\:hover\:border-opacity-0:hover{--border-opacity:0}.lg\:hover\:border-opacity-25:hover{--border-opacity:0.25}.lg\:hover\:border-opacity-50:hover{--border-opacity:0.5}.lg\:hover\:border-opacity-75:hover{--border-opacity:0.75}.lg\:hover\:border-opacity-100:hover{--border-opacity:1}.lg\:focus\:border-opacity-0:focus{--border-opacity:0}.lg\:focus\:border-opacity-25:focus{--border-opacity:0.25}.lg\:focus\:border-opacity-50:focus{--border-opacity:0.5}.lg\:focus\:border-opacity-75:focus{--border-opacity:0.75}.lg\:focus\:border-opacity-100:focus{--border-opacity:1}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-md{border-radius:.375rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-xl{border-radius:.75rem}.lg\:rounded-2xl{border-radius:1rem}.lg\:rounded-3xl{border-radius:1.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem}.lg\:rounded-r,.lg\:rounded-t{border-top-right-radius:.25rem}.lg\:rounded-b,.lg\:rounded-r{border-bottom-right-radius:.25rem}.lg\:rounded-b,.lg\:rounded-l{border-bottom-left-radius:.25rem}.lg\:rounded-l{border-top-left-radius:.25rem}.lg\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.lg\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.lg\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.lg\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.lg\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.lg\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.lg\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.lg\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.lg\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.lg\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.lg\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-tl-md{border-top-left-radius:.375rem}.lg\:rounded-tr-md{border-top-right-radius:.375rem}.lg\:rounded-br-md{border-bottom-right-radius:.375rem}.lg\:rounded-bl-md{border-bottom-left-radius:.375rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tl-xl{border-top-left-radius:.75rem}.lg\:rounded-tr-xl{border-top-right-radius:.75rem}.lg\:rounded-br-xl{border-bottom-right-radius:.75rem}.lg\:rounded-bl-xl{border-bottom-left-radius:.75rem}.lg\:rounded-tl-2xl{border-top-left-radius:1rem}.lg\:rounded-tr-2xl{border-top-right-radius:1rem}.lg\:rounded-br-2xl{border-bottom-right-radius:1rem}.lg\:rounded-bl-2xl{border-bottom-left-radius:1rem}.lg\:rounded-tl-3xl{border-top-left-radius:1.5rem}.lg\:rounded-tr-3xl{border-top-right-radius:1.5rem}.lg\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.lg\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-double{border-style:double}.lg\:border-none{border-style:none}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-r-0{border-right-width:0}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l-0{border-left-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-r-2{border-right-width:2px}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-l-2{border-left-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-r-4{border-right-width:4px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-l-4{border-left-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-r-8{border-right-width:8px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-l-8{border-left-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:box-border{box-sizing:border-box}.lg\:box-content{box-sizing:content-box}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-wait{cursor:wait}.lg\:cursor-text{cursor:text}.lg\:cursor-move{cursor:move}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:inline-flex{display:inline-flex}.lg\:table{display:table}.lg\:table-caption{display:table-caption}.lg\:table-cell{display:table-cell}.lg\:table-column{display:table-column}.lg\:table-column-group{display:table-column-group}.lg\:table-footer-group{display:table-footer-group}.lg\:table-header-group{display:table-header-group}.lg\:table-row-group{display:table-row-group}.lg\:table-row{display:table-row}.lg\:flow-root{display:flow-root}.lg\:grid{display:grid}.lg\:inline-grid{display:inline-grid}.lg\:contents{display:contents}.lg\:hidden{display:none}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:flex-col-reverse{flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-no-wrap{flex-wrap:nowrap}.lg\:place-items-auto{place-items:auto}.lg\:place-items-start{place-items:start}.lg\:place-items-end{place-items:end}.lg\:place-items-center{place-items:center}.lg\:place-items-stretch{place-items:stretch}.lg\:place-content-center{place-content:center}.lg\:place-content-start{place-content:start}.lg\:place-content-end{place-content:end}.lg\:place-content-between{place-content:space-between}.lg\:place-content-around{place-content:space-around}.lg\:place-content-evenly{place-content:space-evenly}.lg\:place-content-stretch{place-content:stretch}.lg\:place-self-auto{place-self:auto}.lg\:place-self-start{place-self:start}.lg\:place-self-end{place-self:end}.lg\:place-self-center{place-self:center}.lg\:place-self-stretch{place-self:stretch}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:items-baseline{align-items:baseline}.lg\:items-stretch{align-items:stretch}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:content-evenly{align-content:space-evenly}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-items-auto{justify-items:auto}.lg\:justify-items-start{justify-items:start}.lg\:justify-items-end{justify-items:end}.lg\:justify-items-center{justify-items:center}.lg\:justify-items-stretch{justify-items:stretch}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:justify-evenly{justify-content:space-evenly}.lg\:justify-self-auto{justify-self:auto}.lg\:justify-self-start{justify-self:start}.lg\:justify-self-end{justify-self:end}.lg\:justify-self-center{justify-self:center}.lg\:justify-self-stretch{justify-self:stretch}.lg\:flex-1{flex:1 1 0%}.lg\:flex-auto{flex:1 1 auto}.lg\:flex-initial{flex:0 1 auto}.lg\:flex-none{flex:none}.lg\:flex-grow-0{flex-grow:0}.lg\:flex-grow{flex-grow:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:flex-shrink{flex-shrink:1}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:order-4{order:4}.lg\:order-5{order:5}.lg\:order-6{order:6}.lg\:order-7{order:7}.lg\:order-8{order:8}.lg\:order-9{order:9}.lg\:order-10{order:10}.lg\:order-11{order:11}.lg\:order-12{order:12}.lg\:order-first{order:-9999}.lg\:order-last{order:9999}.lg\:order-none{order:0}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clearfix:after{content:"";display:table;clear:both}.lg\:clear-left{clear:left}.lg\:clear-right{clear:right}.lg\:clear-both{clear:both}.lg\:clear-none{clear:none}.lg\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lg\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.lg\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lg\:font-hairline{font-weight:100}.lg\:font-thin{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:hover\:font-hairline:hover{font-weight:100}.lg\:hover\:font-thin:hover{font-weight:200}.lg\:hover\:font-light:hover{font-weight:300}.lg\:hover\:font-normal:hover{font-weight:400}.lg\:hover\:font-medium:hover{font-weight:500}.lg\:hover\:font-semibold:hover{font-weight:600}.lg\:hover\:font-bold:hover{font-weight:700}.lg\:hover\:font-extrabold:hover{font-weight:800}.lg\:hover\:font-black:hover{font-weight:900}.lg\:focus\:font-hairline:focus{font-weight:100}.lg\:focus\:font-thin:focus{font-weight:200}.lg\:focus\:font-light:focus{font-weight:300}.lg\:focus\:font-normal:focus{font-weight:400}.lg\:focus\:font-medium:focus{font-weight:500}.lg\:focus\:font-semibold:focus{font-weight:600}.lg\:focus\:font-bold:focus{font-weight:700}.lg\:focus\:font-extrabold:focus{font-weight:800}.lg\:focus\:font-black:focus{font-weight:900}.lg\:h-0{height:0}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-5{height:1.25rem}.lg\:h-6{height:1.5rem}.lg\:h-8{height:2rem}.lg\:h-10{height:2.5rem}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-20{height:5rem}.lg\:h-24{height:6rem}.lg\:h-32{height:8rem}.lg\:h-40{height:10rem}.lg\:h-48{height:12rem}.lg\:h-56{height:14rem}.lg\:h-64{height:16rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:text-xs{font-size:.75rem}.lg\:text-sm{font-size:.875rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:text-6xl{font-size:4rem}.lg\:leading-3{line-height:.75rem}.lg\:leading-4{line-height:1rem}.lg\:leading-5{line-height:1.25rem}.lg\:leading-6{line-height:1.5rem}.lg\:leading-7{line-height:1.75rem}.lg\:leading-8{line-height:2rem}.lg\:leading-9{line-height:2.25rem}.lg\:leading-10{line-height:2.5rem}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-snug{line-height:1.375}.lg\:leading-normal{line-height:1.5}.lg\:leading-relaxed{line-height:1.625}.lg\:leading-loose{line-height:2}.lg\:list-inside{list-style-position:inside}.lg\:list-outside{list-style-position:outside}.lg\:list-none{list-style-type:none}.lg\:list-disc{list-style-type:disc}.lg\:list-decimal{list-style-type:decimal}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-5{margin:1.25rem}.lg\:m-6{margin:1.5rem}.lg\:m-8{margin:2rem}.lg\:m-10{margin:2.5rem}.lg\:m-12{margin:3rem}.lg\:m-16{margin:4rem}.lg\:m-20{margin:5rem}.lg\:m-24{margin:6rem}.lg\:m-32{margin:8rem}.lg\:m-40{margin:10rem}.lg\:m-48{margin:12rem}.lg\:m-56{margin:14rem}.lg\:m-64{margin:16rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-5{margin:-1.25rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-8{margin:-2rem}.lg\:-m-10{margin:-2.5rem}.lg\:-m-12{margin:-3rem}.lg\:-m-16{margin:-4rem}.lg\:-m-20{margin:-5rem}.lg\:-m-24{margin:-6rem}.lg\:-m-32{margin:-8rem}.lg\:-m-40{margin:-10rem}.lg\:-m-48{margin:-12rem}.lg\:-m-56{margin:-14rem}.lg\:-m-64{margin:-16rem}.lg\:-m-px{margin:-1px}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.lg\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.lg\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.lg\:my-12{margin-top:3rem;margin-bottom:3rem}.lg\:mx-12{margin-left:3rem;margin-right:3rem}.lg\:my-16{margin-top:4rem;margin-bottom:4rem}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:my-20{margin-top:5rem;margin-bottom:5rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:my-24{margin-top:6rem;margin-bottom:6rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:my-32{margin-top:8rem;margin-bottom:8rem}.lg\:mx-32{margin-left:8rem;margin-right:8rem}.lg\:my-40{margin-top:10rem;margin-bottom:10rem}.lg\:mx-40{margin-left:10rem;margin-right:10rem}.lg\:my-48{margin-top:12rem;margin-bottom:12rem}.lg\:mx-48{margin-left:12rem;margin-right:12rem}.lg\:my-56{margin-top:14rem;margin-bottom:14rem}.lg\:mx-56{margin-left:14rem;margin-right:14rem}.lg\:my-64{margin-top:16rem;margin-bottom:16rem}.lg\:mx-64{margin-left:16rem;margin-right:16rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.lg\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.lg\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.lg\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.lg\:-mx-24{margin-left:-6rem;margin-right:-6rem}.lg\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.lg\:-mx-32{margin-left:-8rem;margin-right:-8rem}.lg\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.lg\:-mx-40{margin-left:-10rem;margin-right:-10rem}.lg\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.lg\:-mx-48{margin-left:-12rem;margin-right:-12rem}.lg\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.lg\:-mx-56{margin-left:-14rem;margin-right:-14rem}.lg\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.lg\:-mx-64{margin-left:-16rem;margin-right:-16rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mt-1{margin-top:.25rem}.lg\:mr-1{margin-right:.25rem}.lg\:mb-1{margin-bottom:.25rem}.lg\:ml-1{margin-left:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mr-3{margin-right:.75rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-5{margin-top:1.25rem}.lg\:mr-5{margin-right:1.25rem}.lg\:mb-5{margin-bottom:1.25rem}.lg\:ml-5{margin-left:1.25rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-8{margin-top:2rem}.lg\:mr-8{margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mt-10{margin-top:2.5rem}.lg\:mr-10{margin-right:2.5rem}.lg\:mb-10{margin-bottom:2.5rem}.lg\:ml-10{margin-left:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mr-12{margin-right:3rem}.lg\:mb-12{margin-bottom:3rem}.lg\:ml-12{margin-left:3rem}.lg\:mt-16{margin-top:4rem}.lg\:mr-16{margin-right:4rem}.lg\:mb-16{margin-bottom:4rem}.lg\:ml-16{margin-left:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mr-20{margin-right:5rem}.lg\:mb-20{margin-bottom:5rem}.lg\:ml-20{margin-left:5rem}.lg\:mt-24{margin-top:6rem}.lg\:mr-24{margin-right:6rem}.lg\:mb-24{margin-bottom:6rem}.lg\:ml-24{margin-left:6rem}.lg\:mt-32{margin-top:8rem}.lg\:mr-32{margin-right:8rem}.lg\:mb-32{margin-bottom:8rem}.lg\:ml-32{margin-left:8rem}.lg\:mt-40{margin-top:10rem}.lg\:mr-40{margin-right:10rem}.lg\:mb-40{margin-bottom:10rem}.lg\:ml-40{margin-left:10rem}.lg\:mt-48{margin-top:12rem}.lg\:mr-48{margin-right:12rem}.lg\:mb-48{margin-bottom:12rem}.lg\:ml-48{margin-left:12rem}.lg\:mt-56{margin-top:14rem}.lg\:mr-56{margin-right:14rem}.lg\:mb-56{margin-bottom:14rem}.lg\:ml-56{margin-left:14rem}.lg\:mt-64{margin-top:16rem}.lg\:mr-64{margin-right:16rem}.lg\:mb-64{margin-bottom:16rem}.lg\:ml-64{margin-left:16rem}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mt-px{margin-top:1px}.lg\:mr-px{margin-right:1px}.lg\:mb-px{margin-bottom:1px}.lg\:ml-px{margin-left:1px}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-ml-1{margin-left:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-mt-5{margin-top:-1.25rem}.lg\:-mr-5{margin-right:-1.25rem}.lg\:-mb-5{margin-bottom:-1.25rem}.lg\:-ml-5{margin-left:-1.25rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-mt-10{margin-top:-2.5rem}.lg\:-mr-10{margin-right:-2.5rem}.lg\:-mb-10{margin-bottom:-2.5rem}.lg\:-ml-10{margin-left:-2.5rem}.lg\:-mt-12{margin-top:-3rem}.lg\:-mr-12{margin-right:-3rem}.lg\:-mb-12{margin-bottom:-3rem}.lg\:-ml-12{margin-left:-3rem}.lg\:-mt-16{margin-top:-4rem}.lg\:-mr-16{margin-right:-4rem}.lg\:-mb-16{margin-bottom:-4rem}.lg\:-ml-16{margin-left:-4rem}.lg\:-mt-20{margin-top:-5rem}.lg\:-mr-20{margin-right:-5rem}.lg\:-mb-20{margin-bottom:-5rem}.lg\:-ml-20{margin-left:-5rem}.lg\:-mt-24{margin-top:-6rem}.lg\:-mr-24{margin-right:-6rem}.lg\:-mb-24{margin-bottom:-6rem}.lg\:-ml-24{margin-left:-6rem}.lg\:-mt-32{margin-top:-8rem}.lg\:-mr-32{margin-right:-8rem}.lg\:-mb-32{margin-bottom:-8rem}.lg\:-ml-32{margin-left:-8rem}.lg\:-mt-40{margin-top:-10rem}.lg\:-mr-40{margin-right:-10rem}.lg\:-mb-40{margin-bottom:-10rem}.lg\:-ml-40{margin-left:-10rem}.lg\:-mt-48{margin-top:-12rem}.lg\:-mr-48{margin-right:-12rem}.lg\:-mb-48{margin-bottom:-12rem}.lg\:-ml-48{margin-left:-12rem}.lg\:-mt-56{margin-top:-14rem}.lg\:-mr-56{margin-right:-14rem}.lg\:-mb-56{margin-bottom:-14rem}.lg\:-ml-56{margin-left:-14rem}.lg\:-mt-64{margin-top:-16rem}.lg\:-mr-64{margin-right:-16rem}.lg\:-mb-64{margin-bottom:-16rem}.lg\:-ml-64{margin-left:-16rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mr-px{margin-right:-1px}.lg\:-mb-px{margin-bottom:-1px}.lg\:-ml-px{margin-left:-1px}.lg\:max-h-full{max-height:100%}.lg\:max-h-screen{max-height:100vh}.lg\:max-w-none{max-width:none}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-lg{max-width:32rem}.lg\:max-w-xl{max-width:36rem}.lg\:max-w-2xl{max-width:42rem}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-5xl{max-width:64rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-full{max-width:100%}.lg\:max-w-screen-xs{max-width:360px}.lg\:max-w-screen-sm{max-width:640px}.lg\:max-w-screen-md{max-width:768px}.lg\:max-w-screen-lg{max-width:1024px}.lg\:max-w-screen-xl{max-width:1280px}.lg\:max-w-screen-xxl{max-width:1480px}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:object-contain{-o-object-fit:contain;object-fit:contain}.lg\:object-cover{-o-object-fit:cover;object-fit:cover}.lg\:object-fill{-o-object-fit:fill;object-fit:fill}.lg\:object-none{-o-object-fit:none;object-fit:none}.lg\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.lg\:object-bottom{-o-object-position:bottom;object-position:bottom}.lg\:object-center{-o-object-position:center;object-position:center}.lg\:object-left{-o-object-position:left;object-position:left}.lg\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.lg\:object-left-top{-o-object-position:left top;object-position:left top}.lg\:object-right{-o-object-position:right;object-position:right}.lg\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.lg\:object-right-top{-o-object-position:right top;object-position:right top}.lg\:object-top{-o-object-position:top;object-position:top}.lg\:opacity-0{opacity:0}.lg\:opacity-25{opacity:.25}.lg\:opacity-50{opacity:.5}.lg\:opacity-75{opacity:.75}.lg\:opacity-100{opacity:1}.lg\:hover\:opacity-0:hover{opacity:0}.lg\:hover\:opacity-25:hover{opacity:.25}.lg\:hover\:opacity-50:hover{opacity:.5}.lg\:hover\:opacity-75:hover{opacity:.75}.lg\:hover\:opacity-100:hover{opacity:1}.lg\:focus\:opacity-0:focus{opacity:0}.lg\:focus\:opacity-25:focus{opacity:.25}.lg\:focus\:opacity-50:focus{opacity:.5}.lg\:focus\:opacity-75:focus{opacity:.75}.lg\:focus\:opacity-100:focus{opacity:1}.lg\:outline-none{outline:2px solid transparent;outline-offset:2px}.lg\:outline-white{outline:2px dotted #fff;outline-offset:2px}.lg\:outline-black{outline:2px dotted #000;outline-offset:2px}.lg\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.lg\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.lg\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-auto{overflow-x:auto}.lg\:overflow-y-auto{overflow-y:auto}.lg\:overflow-x-hidden{overflow-x:hidden}.lg\:overflow-y-hidden{overflow-y:hidden}.lg\:overflow-x-visible{overflow-x:visible}.lg\:overflow-y-visible{overflow-y:visible}.lg\:overflow-x-scroll{overflow-x:scroll}.lg\:overflow-y-scroll{overflow-y:scroll}.lg\:scrolling-touch{-webkit-overflow-scrolling:touch}.lg\:scrolling-auto{-webkit-overflow-scrolling:auto}.lg\:overscroll-auto{overscroll-behavior:auto}.lg\:overscroll-contain{overscroll-behavior:contain}.lg\:overscroll-none{overscroll-behavior:none}.lg\:overscroll-y-auto{overscroll-behavior-y:auto}.lg\:overscroll-y-contain{overscroll-behavior-y:contain}.lg\:overscroll-y-none{overscroll-behavior-y:none}.lg\:overscroll-x-auto{overscroll-behavior-x:auto}.lg\:overscroll-x-contain{overscroll-behavior-x:contain}.lg\:overscroll-x-none{overscroll-behavior-x:none}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-5{padding:1.25rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:p-10{padding:2.5rem}.lg\:p-12{padding:3rem}.lg\:p-16{padding:4rem}.lg\:p-20{padding:5rem}.lg\:p-24{padding:6rem}.lg\:p-32{padding:8rem}.lg\:p-40{padding:10rem}.lg\:p-48{padding:12rem}.lg\:p-56{padding:14rem}.lg\:p-64{padding:16rem}.lg\:p-px{padding:1px}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:px-16{padding-left:4rem;padding-right:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:px-24{padding-left:6rem;padding-right:6rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:py-40{padding-top:10rem;padding-bottom:10rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:py-48{padding-top:12rem;padding-bottom:12rem}.lg\:px-48{padding-left:12rem;padding-right:12rem}.lg\:py-56{padding-top:14rem;padding-bottom:14rem}.lg\:px-56{padding-left:14rem;padding-right:14rem}.lg\:py-64{padding-top:16rem;padding-bottom:16rem}.lg\:px-64{padding-left:16rem;padding-right:16rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:pt-1{padding-top:.25rem}.lg\:pr-1{padding-right:.25rem}.lg\:pb-1{padding-bottom:.25rem}.lg\:pl-1{padding-left:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pr-2{padding-right:.5rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pr-3{padding-right:.75rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pl-3{padding-left:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pr-4{padding-right:1rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-5{padding-top:1.25rem}.lg\:pr-5{padding-right:1.25rem}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-5{padding-left:1.25rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:pr-8{padding-right:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-10{padding-top:2.5rem}.lg\:pr-10{padding-right:2.5rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pl-10{padding-left:2.5rem}.lg\:pt-12{padding-top:3rem}.lg\:pr-12{padding-right:3rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pl-12{padding-left:3rem}.lg\:pt-16{padding-top:4rem}.lg\:pr-16{padding-right:4rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pl-16{padding-left:4rem}.lg\:pt-20{padding-top:5rem}.lg\:pr-20{padding-right:5rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-20{padding-left:5rem}.lg\:pt-24{padding-top:6rem}.lg\:pr-24{padding-right:6rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pl-24{padding-left:6rem}.lg\:pt-32{padding-top:8rem}.lg\:pr-32{padding-right:8rem}.lg\:pb-32{padding-bottom:8rem}.lg\:pl-32{padding-left:8rem}.lg\:pt-40{padding-top:10rem}.lg\:pr-40{padding-right:10rem}.lg\:pb-40{padding-bottom:10rem}.lg\:pl-40{padding-left:10rem}.lg\:pt-48{padding-top:12rem}.lg\:pr-48{padding-right:12rem}.lg\:pb-48{padding-bottom:12rem}.lg\:pl-48{padding-left:12rem}.lg\:pt-56{padding-top:14rem}.lg\:pr-56{padding-right:14rem}.lg\:pb-56{padding-bottom:14rem}.lg\:pl-56{padding-left:14rem}.lg\:pt-64{padding-top:16rem}.lg\:pr-64{padding-right:16rem}.lg\:pb-64{padding-bottom:16rem}.lg\:pl-64{padding-left:16rem}.lg\:pt-px{padding-top:1px}.lg\:pr-px{padding-right:1px}.lg\:pb-px{padding-bottom:1px}.lg\:pl-px{padding-left:1px}.lg\:placeholder-transparent::placeholder{color:transparent}.lg\:placeholder-current::placeholder{color:currentColor}.lg\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.lg\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.lg\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.lg\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.lg\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.lg\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.lg\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.lg\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.lg\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.lg\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.lg\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.lg\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.lg\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.lg\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.lg\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.lg\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.lg\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.lg\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.lg\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.lg\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.lg\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.lg\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.lg\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.lg\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.lg\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.lg\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.lg\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.lg\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.lg\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.lg\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.lg\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.lg\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.lg\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.lg\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.lg\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.lg\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.lg\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.lg\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.lg\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.lg\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.lg\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.lg\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.lg\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.lg\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.lg\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.lg\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.lg\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.lg\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.lg\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.lg\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.lg\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.lg\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.lg\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.lg\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.lg\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.lg\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.lg\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.lg\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.lg\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.lg\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.lg\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.lg\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.lg\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.lg\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.lg\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.lg\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.lg\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.lg\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.lg\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.lg\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.lg\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.lg\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.lg\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.lg\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.lg\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.lg\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.lg\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.lg\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.lg\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.lg\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.lg\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.lg\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.lg\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.lg\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.lg\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.lg\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.lg\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.lg\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.lg\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.lg\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.lg\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.lg\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.lg\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.lg\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.lg\:focus\:placeholder-current:focus::placeholder{color:currentColor}.lg\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.lg\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.lg\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.lg\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.lg\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.lg\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.lg\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.lg\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.lg\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.lg\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.lg\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.lg\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.lg\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.lg\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.lg\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.lg\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.lg\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.lg\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.lg\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.lg\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.lg\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.lg\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.lg\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.lg\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:inset-0{top:0;right:0;bottom:0;left:0}.lg\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.lg\:inset-y-0{top:0;bottom:0}.lg\:inset-x-0{right:0;left:0}.lg\:inset-y-auto{top:auto;bottom:auto}.lg\:inset-x-auto{right:auto;left:auto}.lg\:top-0{top:0}.lg\:right-0{right:0}.lg\:bottom-0{bottom:0}.lg\:left-0{left:0}.lg\:top-auto{top:auto}.lg\:right-auto{right:auto}.lg\:bottom-auto{bottom:auto}.lg\:left-auto{left:auto}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:shadow-none{box-shadow:none}.lg\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:hover\:shadow-none:hover{box-shadow:none}.lg\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.lg\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.lg\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.lg\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.lg\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.lg\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.lg\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.lg\:focus\:shadow-none:focus{box-shadow:none}.lg\:fill-current{fill:currentColor}.lg\:stroke-current{stroke:currentColor}.lg\:stroke-0{stroke-width:0}.lg\:stroke-1{stroke-width:1}.lg\:stroke-2{stroke-width:2}.lg\:table-auto{table-layout:auto}.lg\:table-fixed{table-layout:fixed}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:text-transparent{color:transparent}.lg\:text-current{color:currentColor}.lg\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-current:hover{color:currentColor}.lg\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:focus\:text-transparent:focus{color:transparent}.lg\:focus\:text-current:focus{color:currentColor}.lg\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.lg\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.lg\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.lg\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.lg\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.lg\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.lg\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.lg\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.lg\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.lg\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.lg\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.lg\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.lg\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.lg\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.lg\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.lg\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.lg\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.lg\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.lg\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.lg\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.lg\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.lg\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.lg\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.lg\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.lg\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.lg\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.lg\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.lg\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.lg\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.lg\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.lg\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.lg\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.lg\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.lg\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.lg\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.lg\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.lg\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.lg\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.lg\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.lg\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.lg\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.lg\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.lg\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.lg\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.lg\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.lg\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.lg\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.lg\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.lg\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.lg\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.lg\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.lg\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.lg\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.lg\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.lg\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.lg\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.lg\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.lg\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.lg\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.lg\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.lg\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.lg\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.lg\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.lg\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.lg\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.lg\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.lg\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.lg\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.lg\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.lg\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.lg\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.lg\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.lg\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.lg\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.lg\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.lg\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.lg\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.lg\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.lg\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.lg\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.lg\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.lg\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.lg\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.lg\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.lg\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.lg\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.lg\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.lg\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.lg\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.lg\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.lg\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.lg\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.lg\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.lg\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.lg\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.lg\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.lg\:text-opacity-0{--text-opacity:0}.lg\:text-opacity-25{--text-opacity:0.25}.lg\:text-opacity-50{--text-opacity:0.5}.lg\:text-opacity-75{--text-opacity:0.75}.lg\:text-opacity-100{--text-opacity:1}.lg\:hover\:text-opacity-0:hover{--text-opacity:0}.lg\:hover\:text-opacity-25:hover{--text-opacity:0.25}.lg\:hover\:text-opacity-50:hover{--text-opacity:0.5}.lg\:hover\:text-opacity-75:hover{--text-opacity:0.75}.lg\:hover\:text-opacity-100:hover{--text-opacity:1}.lg\:focus\:text-opacity-0:focus{--text-opacity:0}.lg\:focus\:text-opacity-25:focus{--text-opacity:0.25}.lg\:focus\:text-opacity-50:focus{--text-opacity:0.5}.lg\:focus\:text-opacity-75:focus{--text-opacity:0.75}.lg\:focus\:text-opacity-100:focus{--text-opacity:1}.lg\:italic{font-style:italic}.lg\:not-italic{font-style:normal}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:focus\:underline:focus{text-decoration:underline}.lg\:focus\:line-through:focus{text-decoration:line-through}.lg\:focus\:no-underline:focus{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:diagonal-fractions,.lg\:lining-nums,.lg\:oldstyle-nums,.lg\:ordinal,.lg\:proportional-nums,.lg\:slashed-zero,.lg\:stacked-fractions,.lg\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.lg\:normal-nums{font-variant-numeric:normal}.lg\:ordinal{--font-variant-numeric-ordinal:ordinal}.lg\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.lg\:lining-nums{--font-variant-numeric-figure:lining-nums}.lg\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.lg\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.lg\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.lg\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.lg\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.lg\:tracking-tighter{letter-spacing:-.05em}.lg\:tracking-tight{letter-spacing:-.025em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.025em}.lg\:tracking-wider{letter-spacing:.05em}.lg\:tracking-widest{letter-spacing:.1em}.lg\:select-none{-webkit-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;user-select:text}.lg\:select-all{-webkit-user-select:all;user-select:all}.lg\:select-auto{-webkit-user-select:auto;user-select:auto}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-no-wrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.lg\:break-words{word-wrap:break-word;overflow-wrap:break-word}.lg\:break-all{word-break:break-all}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:w-0{width:0}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-5{width:1.25rem}.lg\:w-6{width:1.5rem}.lg\:w-8{width:2rem}.lg\:w-10{width:2.5rem}.lg\:w-12{width:3rem}.lg\:w-16{width:4rem}.lg\:w-20{width:5rem}.lg\:w-24{width:6rem}.lg\:w-32{width:8rem}.lg\:w-40{width:10rem}.lg\:w-48{width:12rem}.lg\:w-56{width:14rem}.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-1\/4{width:25%}.lg\:w-2\/4{width:50%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.666667%}.lg\:w-2\/6{width:33.333333%}.lg\:w-3\/6{width:50%}.lg\:w-4\/6{width:66.666667%}.lg\:w-5\/6{width:83.333333%}.lg\:w-1\/12{width:8.333333%}.lg\:w-2\/12{width:16.666667%}.lg\:w-3\/12{width:25%}.lg\:w-4\/12{width:33.333333%}.lg\:w-5\/12{width:41.666667%}.lg\:w-6\/12{width:50%}.lg\:w-7\/12{width:58.333333%}.lg\:w-8\/12{width:66.666667%}.lg\:w-9\/12{width:75%}.lg\:w-10\/12{width:83.333333%}.lg\:w-11\/12{width:91.666667%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}.lg\:gap-0{grid-gap:0;gap:0}.lg\:gap-1{grid-gap:.25rem;gap:.25rem}.lg\:gap-2{grid-gap:.5rem;gap:.5rem}.lg\:gap-3{grid-gap:.75rem;gap:.75rem}.lg\:gap-4{grid-gap:1rem;gap:1rem}.lg\:gap-5{grid-gap:1.25rem;gap:1.25rem}.lg\:gap-6{grid-gap:1.5rem;gap:1.5rem}.lg\:gap-8{grid-gap:2rem;gap:2rem}.lg\:gap-10{grid-gap:2.5rem;gap:2.5rem}.lg\:gap-12{grid-gap:3rem;gap:3rem}.lg\:gap-16{grid-gap:4rem;gap:4rem}.lg\:gap-20{grid-gap:5rem;gap:5rem}.lg\:gap-24{grid-gap:6rem;gap:6rem}.lg\:gap-32{grid-gap:8rem;gap:8rem}.lg\:gap-40{grid-gap:10rem;gap:10rem}.lg\:gap-48{grid-gap:12rem;gap:12rem}.lg\:gap-56{grid-gap:14rem;gap:14rem}.lg\:gap-64{grid-gap:16rem;gap:16rem}.lg\:gap-px{grid-gap:1px;gap:1px}.lg\:col-gap-0{grid-column-gap:0;column-gap:0}.lg\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.lg\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.lg\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.lg\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.lg\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.lg\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.lg\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.lg\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.lg\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.lg\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.lg\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.lg\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.lg\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.lg\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.lg\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.lg\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.lg\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.lg\:col-gap-px{grid-column-gap:1px;column-gap:1px}.lg\:gap-x-0{grid-column-gap:0;column-gap:0}.lg\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.lg\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.lg\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.lg\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.lg\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.lg\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.lg\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.lg\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.lg\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.lg\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.lg\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.lg\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.lg\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.lg\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.lg\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.lg\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.lg\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.lg\:gap-x-px{grid-column-gap:1px;column-gap:1px}.lg\:row-gap-0{grid-row-gap:0;row-gap:0}.lg\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.lg\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.lg\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.lg\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.lg\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.lg\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.lg\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.lg\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.lg\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.lg\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.lg\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.lg\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.lg\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.lg\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.lg\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.lg\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.lg\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.lg\:row-gap-px{grid-row-gap:1px;row-gap:1px}.lg\:gap-y-0{grid-row-gap:0;row-gap:0}.lg\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.lg\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.lg\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.lg\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.lg\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.lg\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.lg\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.lg\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.lg\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.lg\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.lg\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.lg\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.lg\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.lg\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.lg\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.lg\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.lg\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.lg\:gap-y-px{grid-row-gap:1px;row-gap:1px}.lg\:grid-flow-row{grid-auto-flow:row}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-flow-row-dense{grid-auto-flow:row dense}.lg\:grid-flow-col-dense{grid-auto-flow:column dense}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}.lg\:auto-cols-auto{grid-auto-columns:auto}.lg\:auto-cols-min{grid-auto-columns:min-content}.lg\:auto-cols-max{grid-auto-columns:max-content}.lg\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.lg\:col-auto{grid-column:auto}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-full{grid-column:1/-1}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:col-start-3{grid-column-start:3}.lg\:col-start-4{grid-column-start:4}.lg\:col-start-5{grid-column-start:5}.lg\:col-start-6{grid-column-start:6}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-8{grid-column-start:8}.lg\:col-start-9{grid-column-start:9}.lg\:col-start-10{grid-column-start:10}.lg\:col-start-11{grid-column-start:11}.lg\:col-start-12{grid-column-start:12}.lg\:col-start-13{grid-column-start:13}.lg\:col-start-auto{grid-column-start:auto}.lg\:col-end-1{grid-column-end:1}.lg\:col-end-2{grid-column-end:2}.lg\:col-end-3{grid-column-end:3}.lg\:col-end-4{grid-column-end:4}.lg\:col-end-5{grid-column-end:5}.lg\:col-end-6{grid-column-end:6}.lg\:col-end-7{grid-column-end:7}.lg\:col-end-8{grid-column-end:8}.lg\:col-end-9{grid-column-end:9}.lg\:col-end-10{grid-column-end:10}.lg\:col-end-11{grid-column-end:11}.lg\:col-end-12{grid-column-end:12}.lg\:col-end-13{grid-column-end:13}.lg\:col-end-auto{grid-column-end:auto}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.lg\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.lg\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.lg\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.lg\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.lg\:grid-rows-none{grid-template-rows:none}.lg\:auto-rows-auto{grid-auto-rows:auto}.lg\:auto-rows-min{grid-auto-rows:min-content}.lg\:auto-rows-max{grid-auto-rows:max-content}.lg\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.lg\:row-auto{grid-row:auto}.lg\:row-span-1{grid-row:span 1/span 1}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-span-3{grid-row:span 3/span 3}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:row-span-6{grid-row:span 6/span 6}.lg\:row-span-full{grid-row:1/-1}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:row-start-3{grid-row-start:3}.lg\:row-start-4{grid-row-start:4}.lg\:row-start-5{grid-row-start:5}.lg\:row-start-6{grid-row-start:6}.lg\:row-start-7{grid-row-start:7}.lg\:row-start-auto{grid-row-start:auto}.lg\:row-end-1{grid-row-end:1}.lg\:row-end-2{grid-row-end:2}.lg\:row-end-3{grid-row-end:3}.lg\:row-end-4{grid-row-end:4}.lg\:row-end-5{grid-row-end:5}.lg\:row-end-6{grid-row-end:6}.lg\:row-end-7{grid-row-end:7}.lg\:row-end-auto{grid-row-end:auto}.lg\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.lg\:transform-none{transform:none}.lg\:origin-center{transform-origin:center}.lg\:origin-top{transform-origin:top}.lg\:origin-top-right{transform-origin:top right}.lg\:origin-right{transform-origin:right}.lg\:origin-bottom-right{transform-origin:bottom right}.lg\:origin-bottom{transform-origin:bottom}.lg\:origin-bottom-left{transform-origin:bottom left}.lg\:origin-left{transform-origin:left}.lg\:origin-top-left{transform-origin:top left}.lg\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.lg\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.lg\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:scale-x-0{--transform-scale-x:0}.lg\:scale-x-50{--transform-scale-x:.5}.lg\:scale-x-75{--transform-scale-x:.75}.lg\:scale-x-90{--transform-scale-x:.9}.lg\:scale-x-95{--transform-scale-x:.95}.lg\:scale-x-100{--transform-scale-x:1}.lg\:scale-x-105{--transform-scale-x:1.05}.lg\:scale-x-110{--transform-scale-x:1.1}.lg\:scale-x-125{--transform-scale-x:1.25}.lg\:scale-x-150{--transform-scale-x:1.5}.lg\:scale-y-0{--transform-scale-y:0}.lg\:scale-y-50{--transform-scale-y:.5}.lg\:scale-y-75{--transform-scale-y:.75}.lg\:scale-y-90{--transform-scale-y:.9}.lg\:scale-y-95{--transform-scale-y:.95}.lg\:scale-y-100{--transform-scale-y:1}.lg\:scale-y-105{--transform-scale-y:1.05}.lg\:scale-y-110{--transform-scale-y:1.1}.lg\:scale-y-125{--transform-scale-y:1.25}.lg\:scale-y-150{--transform-scale-y:1.5}.lg\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.lg\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.lg\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:hover\:scale-x-0:hover{--transform-scale-x:0}.lg\:hover\:scale-x-50:hover{--transform-scale-x:.5}.lg\:hover\:scale-x-75:hover{--transform-scale-x:.75}.lg\:hover\:scale-x-90:hover{--transform-scale-x:.9}.lg\:hover\:scale-x-95:hover{--transform-scale-x:.95}.lg\:hover\:scale-x-100:hover{--transform-scale-x:1}.lg\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.lg\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.lg\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.lg\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.lg\:hover\:scale-y-0:hover{--transform-scale-y:0}.lg\:hover\:scale-y-50:hover{--transform-scale-y:.5}.lg\:hover\:scale-y-75:hover{--transform-scale-y:.75}.lg\:hover\:scale-y-90:hover{--transform-scale-y:.9}.lg\:hover\:scale-y-95:hover{--transform-scale-y:.95}.lg\:hover\:scale-y-100:hover{--transform-scale-y:1}.lg\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.lg\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.lg\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.lg\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.lg\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.lg\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.lg\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.lg\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.lg\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.lg\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.lg\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.lg\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.lg\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.lg\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.lg\:focus\:scale-x-0:focus{--transform-scale-x:0}.lg\:focus\:scale-x-50:focus{--transform-scale-x:.5}.lg\:focus\:scale-x-75:focus{--transform-scale-x:.75}.lg\:focus\:scale-x-90:focus{--transform-scale-x:.9}.lg\:focus\:scale-x-95:focus{--transform-scale-x:.95}.lg\:focus\:scale-x-100:focus{--transform-scale-x:1}.lg\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.lg\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.lg\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.lg\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.lg\:focus\:scale-y-0:focus{--transform-scale-y:0}.lg\:focus\:scale-y-50:focus{--transform-scale-y:.5}.lg\:focus\:scale-y-75:focus{--transform-scale-y:.75}.lg\:focus\:scale-y-90:focus{--transform-scale-y:.9}.lg\:focus\:scale-y-95:focus{--transform-scale-y:.95}.lg\:focus\:scale-y-100:focus{--transform-scale-y:1}.lg\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.lg\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.lg\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.lg\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.lg\:rotate-0{--transform-rotate:0}.lg\:rotate-1{--transform-rotate:1deg}.lg\:rotate-2{--transform-rotate:2deg}.lg\:rotate-3{--transform-rotate:3deg}.lg\:rotate-6{--transform-rotate:6deg}.lg\:rotate-12{--transform-rotate:12deg}.lg\:rotate-45{--transform-rotate:45deg}.lg\:rotate-90{--transform-rotate:90deg}.lg\:rotate-180{--transform-rotate:180deg}.lg\:-rotate-180{--transform-rotate:-180deg}.lg\:-rotate-90{--transform-rotate:-90deg}.lg\:-rotate-45{--transform-rotate:-45deg}.lg\:-rotate-12{--transform-rotate:-12deg}.lg\:-rotate-6{--transform-rotate:-6deg}.lg\:-rotate-3{--transform-rotate:-3deg}.lg\:-rotate-2{--transform-rotate:-2deg}.lg\:-rotate-1{--transform-rotate:-1deg}.lg\:hover\:rotate-0:hover{--transform-rotate:0}.lg\:hover\:rotate-1:hover{--transform-rotate:1deg}.lg\:hover\:rotate-2:hover{--transform-rotate:2deg}.lg\:hover\:rotate-3:hover{--transform-rotate:3deg}.lg\:hover\:rotate-6:hover{--transform-rotate:6deg}.lg\:hover\:rotate-12:hover{--transform-rotate:12deg}.lg\:hover\:rotate-45:hover{--transform-rotate:45deg}.lg\:hover\:rotate-90:hover{--transform-rotate:90deg}.lg\:hover\:rotate-180:hover{--transform-rotate:180deg}.lg\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.lg\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.lg\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.lg\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.lg\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.lg\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.lg\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.lg\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.lg\:focus\:rotate-0:focus{--transform-rotate:0}.lg\:focus\:rotate-1:focus{--transform-rotate:1deg}.lg\:focus\:rotate-2:focus{--transform-rotate:2deg}.lg\:focus\:rotate-3:focus{--transform-rotate:3deg}.lg\:focus\:rotate-6:focus{--transform-rotate:6deg}.lg\:focus\:rotate-12:focus{--transform-rotate:12deg}.lg\:focus\:rotate-45:focus{--transform-rotate:45deg}.lg\:focus\:rotate-90:focus{--transform-rotate:90deg}.lg\:focus\:rotate-180:focus{--transform-rotate:180deg}.lg\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.lg\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.lg\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.lg\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.lg\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.lg\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.lg\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.lg\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.lg\:translate-x-0{--transform-translate-x:0}.lg\:translate-x-1{--transform-translate-x:0.25rem}.lg\:translate-x-2{--transform-translate-x:0.5rem}.lg\:translate-x-3{--transform-translate-x:0.75rem}.lg\:translate-x-4{--transform-translate-x:1rem}.lg\:translate-x-5{--transform-translate-x:1.25rem}.lg\:translate-x-6{--transform-translate-x:1.5rem}.lg\:translate-x-8{--transform-translate-x:2rem}.lg\:translate-x-10{--transform-translate-x:2.5rem}.lg\:translate-x-12{--transform-translate-x:3rem}.lg\:translate-x-16{--transform-translate-x:4rem}.lg\:translate-x-20{--transform-translate-x:5rem}.lg\:translate-x-24{--transform-translate-x:6rem}.lg\:translate-x-32{--transform-translate-x:8rem}.lg\:translate-x-40{--transform-translate-x:10rem}.lg\:translate-x-48{--transform-translate-x:12rem}.lg\:translate-x-56{--transform-translate-x:14rem}.lg\:translate-x-64{--transform-translate-x:16rem}.lg\:translate-x-px{--transform-translate-x:1px}.lg\:-translate-x-1{--transform-translate-x:-0.25rem}.lg\:-translate-x-2{--transform-translate-x:-0.5rem}.lg\:-translate-x-3{--transform-translate-x:-0.75rem}.lg\:-translate-x-4{--transform-translate-x:-1rem}.lg\:-translate-x-5{--transform-translate-x:-1.25rem}.lg\:-translate-x-6{--transform-translate-x:-1.5rem}.lg\:-translate-x-8{--transform-translate-x:-2rem}.lg\:-translate-x-10{--transform-translate-x:-2.5rem}.lg\:-translate-x-12{--transform-translate-x:-3rem}.lg\:-translate-x-16{--transform-translate-x:-4rem}.lg\:-translate-x-20{--transform-translate-x:-5rem}.lg\:-translate-x-24{--transform-translate-x:-6rem}.lg\:-translate-x-32{--transform-translate-x:-8rem}.lg\:-translate-x-40{--transform-translate-x:-10rem}.lg\:-translate-x-48{--transform-translate-x:-12rem}.lg\:-translate-x-56{--transform-translate-x:-14rem}.lg\:-translate-x-64{--transform-translate-x:-16rem}.lg\:-translate-x-px{--transform-translate-x:-1px}.lg\:-translate-x-full{--transform-translate-x:-100%}.lg\:-translate-x-1\/2{--transform-translate-x:-50%}.lg\:translate-x-1\/2{--transform-translate-x:50%}.lg\:translate-x-full{--transform-translate-x:100%}.lg\:translate-y-0{--transform-translate-y:0}.lg\:translate-y-1{--transform-translate-y:0.25rem}.lg\:translate-y-2{--transform-translate-y:0.5rem}.lg\:translate-y-3{--transform-translate-y:0.75rem}.lg\:translate-y-4{--transform-translate-y:1rem}.lg\:translate-y-5{--transform-translate-y:1.25rem}.lg\:translate-y-6{--transform-translate-y:1.5rem}.lg\:translate-y-8{--transform-translate-y:2rem}.lg\:translate-y-10{--transform-translate-y:2.5rem}.lg\:translate-y-12{--transform-translate-y:3rem}.lg\:translate-y-16{--transform-translate-y:4rem}.lg\:translate-y-20{--transform-translate-y:5rem}.lg\:translate-y-24{--transform-translate-y:6rem}.lg\:translate-y-32{--transform-translate-y:8rem}.lg\:translate-y-40{--transform-translate-y:10rem}.lg\:translate-y-48{--transform-translate-y:12rem}.lg\:translate-y-56{--transform-translate-y:14rem}.lg\:translate-y-64{--transform-translate-y:16rem}.lg\:translate-y-px{--transform-translate-y:1px}.lg\:-translate-y-1{--transform-translate-y:-0.25rem}.lg\:-translate-y-2{--transform-translate-y:-0.5rem}.lg\:-translate-y-3{--transform-translate-y:-0.75rem}.lg\:-translate-y-4{--transform-translate-y:-1rem}.lg\:-translate-y-5{--transform-translate-y:-1.25rem}.lg\:-translate-y-6{--transform-translate-y:-1.5rem}.lg\:-translate-y-8{--transform-translate-y:-2rem}.lg\:-translate-y-10{--transform-translate-y:-2.5rem}.lg\:-translate-y-12{--transform-translate-y:-3rem}.lg\:-translate-y-16{--transform-translate-y:-4rem}.lg\:-translate-y-20{--transform-translate-y:-5rem}.lg\:-translate-y-24{--transform-translate-y:-6rem}.lg\:-translate-y-32{--transform-translate-y:-8rem}.lg\:-translate-y-40{--transform-translate-y:-10rem}.lg\:-translate-y-48{--transform-translate-y:-12rem}.lg\:-translate-y-56{--transform-translate-y:-14rem}.lg\:-translate-y-64{--transform-translate-y:-16rem}.lg\:-translate-y-px{--transform-translate-y:-1px}.lg\:-translate-y-full{--transform-translate-y:-100%}.lg\:-translate-y-1\/2{--transform-translate-y:-50%}.lg\:translate-y-1\/2{--transform-translate-y:50%}.lg\:translate-y-full{--transform-translate-y:100%}.lg\:hover\:translate-x-0:hover{--transform-translate-x:0}.lg\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.lg\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.lg\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.lg\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.lg\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.lg\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.lg\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.lg\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.lg\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.lg\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.lg\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.lg\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.lg\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.lg\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.lg\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.lg\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.lg\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.lg\:hover\:translate-x-px:hover{--transform-translate-x:1px}.lg\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.lg\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.lg\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.lg\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.lg\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.lg\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.lg\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.lg\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.lg\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.lg\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.lg\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.lg\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.lg\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.lg\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.lg\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.lg\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.lg\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.lg\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.lg\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.lg\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.lg\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.lg\:hover\:translate-x-full:hover{--transform-translate-x:100%}.lg\:hover\:translate-y-0:hover{--transform-translate-y:0}.lg\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.lg\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.lg\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.lg\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.lg\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.lg\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.lg\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.lg\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.lg\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.lg\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.lg\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.lg\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.lg\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.lg\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.lg\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.lg\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.lg\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.lg\:hover\:translate-y-px:hover{--transform-translate-y:1px}.lg\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.lg\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.lg\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.lg\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.lg\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.lg\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.lg\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.lg\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.lg\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.lg\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.lg\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.lg\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.lg\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.lg\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.lg\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.lg\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.lg\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.lg\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.lg\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.lg\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.lg\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.lg\:hover\:translate-y-full:hover{--transform-translate-y:100%}.lg\:focus\:translate-x-0:focus{--transform-translate-x:0}.lg\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.lg\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.lg\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.lg\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.lg\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.lg\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.lg\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.lg\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.lg\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.lg\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.lg\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.lg\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.lg\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.lg\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.lg\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.lg\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.lg\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.lg\:focus\:translate-x-px:focus{--transform-translate-x:1px}.lg\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.lg\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.lg\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.lg\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.lg\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.lg\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.lg\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.lg\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.lg\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.lg\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.lg\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.lg\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.lg\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.lg\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.lg\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.lg\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.lg\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.lg\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.lg\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.lg\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.lg\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.lg\:focus\:translate-x-full:focus{--transform-translate-x:100%}.lg\:focus\:translate-y-0:focus{--transform-translate-y:0}.lg\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.lg\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.lg\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.lg\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.lg\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.lg\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.lg\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.lg\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.lg\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.lg\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.lg\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.lg\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.lg\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.lg\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.lg\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.lg\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.lg\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.lg\:focus\:translate-y-px:focus{--transform-translate-y:1px}.lg\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.lg\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.lg\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.lg\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.lg\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.lg\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.lg\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.lg\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.lg\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.lg\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.lg\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.lg\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.lg\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.lg\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.lg\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.lg\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.lg\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.lg\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.lg\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.lg\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.lg\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.lg\:focus\:translate-y-full:focus{--transform-translate-y:100%}.lg\:skew-x-0{--transform-skew-x:0}.lg\:skew-x-1{--transform-skew-x:1deg}.lg\:skew-x-2{--transform-skew-x:2deg}.lg\:skew-x-3{--transform-skew-x:3deg}.lg\:skew-x-6{--transform-skew-x:6deg}.lg\:skew-x-12{--transform-skew-x:12deg}.lg\:-skew-x-12{--transform-skew-x:-12deg}.lg\:-skew-x-6{--transform-skew-x:-6deg}.lg\:-skew-x-3{--transform-skew-x:-3deg}.lg\:-skew-x-2{--transform-skew-x:-2deg}.lg\:-skew-x-1{--transform-skew-x:-1deg}.lg\:skew-y-0{--transform-skew-y:0}.lg\:skew-y-1{--transform-skew-y:1deg}.lg\:skew-y-2{--transform-skew-y:2deg}.lg\:skew-y-3{--transform-skew-y:3deg}.lg\:skew-y-6{--transform-skew-y:6deg}.lg\:skew-y-12{--transform-skew-y:12deg}.lg\:-skew-y-12{--transform-skew-y:-12deg}.lg\:-skew-y-6{--transform-skew-y:-6deg}.lg\:-skew-y-3{--transform-skew-y:-3deg}.lg\:-skew-y-2{--transform-skew-y:-2deg}.lg\:-skew-y-1{--transform-skew-y:-1deg}.lg\:hover\:skew-x-0:hover{--transform-skew-x:0}.lg\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.lg\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.lg\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.lg\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.lg\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.lg\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.lg\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.lg\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.lg\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.lg\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.lg\:hover\:skew-y-0:hover{--transform-skew-y:0}.lg\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.lg\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.lg\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.lg\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.lg\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.lg\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.lg\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.lg\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.lg\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.lg\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.lg\:focus\:skew-x-0:focus{--transform-skew-x:0}.lg\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.lg\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.lg\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.lg\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.lg\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.lg\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.lg\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.lg\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.lg\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.lg\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.lg\:focus\:skew-y-0:focus{--transform-skew-y:0}.lg\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.lg\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.lg\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.lg\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.lg\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.lg\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.lg\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.lg\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.lg\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.lg\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.lg\:transition-none{transition-property:none}.lg\:transition-all{transition-property:all}.lg\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.lg\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.lg\:transition-opacity{transition-property:opacity}.lg\:transition-shadow{transition-property:box-shadow}.lg\:transition-transform{transition-property:transform}.lg\:ease-linear{transition-timing-function:linear}.lg\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.lg\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.lg\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.lg\:duration-75{transition-duration:75ms}.lg\:duration-100{transition-duration:.1s}.lg\:duration-150{transition-duration:.15s}.lg\:duration-200{transition-duration:.2s}.lg\:duration-300{transition-duration:.3s}.lg\:duration-500{transition-duration:.5s}.lg\:duration-700{transition-duration:.7s}.lg\:duration-1000{transition-duration:1s}.lg\:delay-75{transition-delay:75ms}.lg\:delay-100{transition-delay:.1s}.lg\:delay-150{transition-delay:.15s}.lg\:delay-200{transition-delay:.2s}.lg\:delay-300{transition-delay:.3s}.lg\:delay-500{transition-delay:.5s}.lg\:delay-700{transition-delay:.7s}.lg\:delay-1000{transition-delay:1s}.lg\:animate-none{animation:none}.lg\:animate-spin{animation:spin 1s linear infinite}.lg\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.lg\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.lg\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1280px){.xl\:container{width:100%}@media (min-width:360px){.xl\:container{max-width:360px}}@media (min-width:640px){.xl\:container{max-width:640px}}@media (min-width:768px){.xl\:container{max-width:768px}}@media (min-width:1024px){.xl\:container{max-width:1024px}}@media (min-width:1280px){.xl\:container{max-width:1280px}}@media (min-width:1480px){.xl\:container{max-width:1480px}}.xl\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xl\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xl\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xl\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xl\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xl\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xl\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xl\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xl\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xl\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xl\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xl\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xl\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xl\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xl\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xl\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xl\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xl\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xl\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xl\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xl\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xl\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xl\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xl\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xl\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xl\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xl\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xl\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xl\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xl\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xl\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xl\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xl\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xl\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xl\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xl\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xl\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xl\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xl\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xl\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xl\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xl\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xl\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xl\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xl\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xl\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xl\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xl\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xl\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xl\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xl\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xl\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xl\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xl\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xl\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xl\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xl\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xl\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xl\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xl\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xl\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xl\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xl\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xl\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xl\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xl\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xl\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xl\:divide-current>:not(template)~:not(template){border-color:currentColor}.xl\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xl\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xl\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xl\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xl\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xl\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xl\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xl\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xl\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xl\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xl\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xl\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xl\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xl\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xl\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xl\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xl\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xl\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xl\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xl\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xl\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xl\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xl\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xl\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xl\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xl\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xl\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xl\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xl\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xl\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xl\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xl\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xl\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xl\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xl\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xl\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xl\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xl\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xl\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xl\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xl\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xl\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xl\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xl\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xl\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xl\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xl\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xl\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xl\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xl\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xl\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xl\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xl\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xl\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xl\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xl\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xl\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xl\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xl\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xl\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xl\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xl\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xl\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xl\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xl\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xl\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xl\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xl\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xl\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xl\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xl\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xl\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xl\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xl\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xl\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xl\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xl\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xl\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xl\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xl\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xl\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xl\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xl\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xl\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xl\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xl\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xl\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xl\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xl\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xl\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xl\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xl\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xl\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xl\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xl\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xl\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xl\:divide-solid>:not(template)~:not(template){border-style:solid}.xl\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xl\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xl\:divide-double>:not(template)~:not(template){border-style:double}.xl\:divide-none>:not(template)~:not(template){border-style:none}.xl\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xl\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xl\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xl\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xl\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xl\:appearance-none{-webkit-appearance:none;appearance:none}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-clip-border{background-clip:border-box}.xl\:bg-clip-padding{background-clip:padding-box}.xl\:bg-clip-content{background-clip:content-box}.xl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xl\:bg-transparent{background-color:transparent}.xl\:bg-current{background-color:currentColor}.xl\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-current:hover{background-color:currentColor}.xl\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:focus\:bg-transparent:focus{background-color:transparent}.xl\:focus\:bg-current:focus{background-color:currentColor}.xl\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xl\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xl\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xl\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xl\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xl\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xl\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xl\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xl\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xl\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xl\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xl\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xl\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xl\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xl\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xl\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xl\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xl\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xl\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xl\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xl\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xl\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xl\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xl\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xl\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xl\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xl\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xl\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xl\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xl\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xl\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xl\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xl\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xl\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xl\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xl\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xl\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xl\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xl\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xl\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xl\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xl\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xl\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xl\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xl\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xl\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xl\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xl\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xl\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xl\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xl\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xl\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xl\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xl\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xl\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xl\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xl\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xl\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xl\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xl\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xl\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xl\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xl\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xl\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xl\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xl\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xl\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xl\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xl\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xl\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xl\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xl\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xl\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xl\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xl\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xl\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xl\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xl\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xl\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xl\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xl\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xl\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xl\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xl\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xl\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xl\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xl\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xl\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xl\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xl\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xl\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xl\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xl\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xl\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xl\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xl\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xl\:bg-none{background-image:none}.xl\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xl\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xl\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xl\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xl\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:to-transparent{--gradient-to-color:transparent}.xl\:to-current{--gradient-to-color:currentColor}.xl\:to-black{--gradient-to-color:#000}.xl\:to-white{--gradient-to-color:#fff}.xl\:to-gray-100{--gradient-to-color:#f7fafc}.xl\:to-gray-200{--gradient-to-color:#edf2f7}.xl\:to-gray-300{--gradient-to-color:#e2e8f0}.xl\:to-gray-400{--gradient-to-color:#cbd5e0}.xl\:to-gray-500{--gradient-to-color:#a0aec0}.xl\:to-gray-600{--gradient-to-color:#718096}.xl\:to-gray-700{--gradient-to-color:#4a5568}.xl\:to-gray-800{--gradient-to-color:#2d3748}.xl\:to-gray-900{--gradient-to-color:#1a202c}.xl\:to-red-100{--gradient-to-color:#fff5f5}.xl\:to-red-200{--gradient-to-color:#fed7d7}.xl\:to-red-300{--gradient-to-color:#feb2b2}.xl\:to-red-400{--gradient-to-color:#fc8181}.xl\:to-red-500{--gradient-to-color:#f56565}.xl\:to-red-600{--gradient-to-color:#e53e3e}.xl\:to-red-700{--gradient-to-color:#c53030}.xl\:to-red-800{--gradient-to-color:#9b2c2c}.xl\:to-red-900{--gradient-to-color:#742a2a}.xl\:to-orange-100{--gradient-to-color:#fffaf0}.xl\:to-orange-200{--gradient-to-color:#feebc8}.xl\:to-orange-300{--gradient-to-color:#fbd38d}.xl\:to-orange-400{--gradient-to-color:#f6ad55}.xl\:to-orange-500{--gradient-to-color:#ed8936}.xl\:to-orange-600{--gradient-to-color:#dd6b20}.xl\:to-orange-700{--gradient-to-color:#c05621}.xl\:to-orange-800{--gradient-to-color:#9c4221}.xl\:to-orange-900{--gradient-to-color:#7b341e}.xl\:to-yellow-100{--gradient-to-color:ivory}.xl\:to-yellow-200{--gradient-to-color:#fefcbf}.xl\:to-yellow-300{--gradient-to-color:#faf089}.xl\:to-yellow-400{--gradient-to-color:#f6e05e}.xl\:to-yellow-500{--gradient-to-color:#ecc94b}.xl\:to-yellow-600{--gradient-to-color:#d69e2e}.xl\:to-yellow-700{--gradient-to-color:#b7791f}.xl\:to-yellow-800{--gradient-to-color:#975a16}.xl\:to-yellow-900{--gradient-to-color:#744210}.xl\:to-green-100{--gradient-to-color:#f0fff4}.xl\:to-green-200{--gradient-to-color:#c6f6d5}.xl\:to-green-300{--gradient-to-color:#9ae6b4}.xl\:to-green-400{--gradient-to-color:#68d391}.xl\:to-green-500{--gradient-to-color:#48bb78}.xl\:to-green-600{--gradient-to-color:#38a169}.xl\:to-green-700{--gradient-to-color:#2f855a}.xl\:to-green-800{--gradient-to-color:#276749}.xl\:to-green-900{--gradient-to-color:#22543d}.xl\:to-teal-100{--gradient-to-color:#e6fffa}.xl\:to-teal-200{--gradient-to-color:#b2f5ea}.xl\:to-teal-300{--gradient-to-color:#81e6d9}.xl\:to-teal-400{--gradient-to-color:#4fd1c5}.xl\:to-teal-500{--gradient-to-color:#38b2ac}.xl\:to-teal-600{--gradient-to-color:#319795}.xl\:to-teal-700{--gradient-to-color:#2c7a7b}.xl\:to-teal-800{--gradient-to-color:#285e61}.xl\:to-teal-900{--gradient-to-color:#234e52}.xl\:to-blue-100{--gradient-to-color:#ebf8ff}.xl\:to-blue-200{--gradient-to-color:#bee3f8}.xl\:to-blue-300{--gradient-to-color:#90cdf4}.xl\:to-blue-400{--gradient-to-color:#63b3ed}.xl\:to-blue-500{--gradient-to-color:#4299e1}.xl\:to-blue-600{--gradient-to-color:#3182ce}.xl\:to-blue-700{--gradient-to-color:#2b6cb0}.xl\:to-blue-800{--gradient-to-color:#2c5282}.xl\:to-blue-900{--gradient-to-color:#2a4365}.xl\:to-indigo-100{--gradient-to-color:#ebf4ff}.xl\:to-indigo-200{--gradient-to-color:#c3dafe}.xl\:to-indigo-300{--gradient-to-color:#a3bffa}.xl\:to-indigo-400{--gradient-to-color:#7f9cf5}.xl\:to-indigo-500{--gradient-to-color:#667eea}.xl\:to-indigo-600{--gradient-to-color:#5a67d8}.xl\:to-indigo-700{--gradient-to-color:#4c51bf}.xl\:to-indigo-800{--gradient-to-color:#434190}.xl\:to-indigo-900{--gradient-to-color:#3c366b}.xl\:to-purple-100{--gradient-to-color:#faf5ff}.xl\:to-purple-200{--gradient-to-color:#e9d8fd}.xl\:to-purple-300{--gradient-to-color:#d6bcfa}.xl\:to-purple-400{--gradient-to-color:#b794f4}.xl\:to-purple-500{--gradient-to-color:#9f7aea}.xl\:to-purple-600{--gradient-to-color:#805ad5}.xl\:to-purple-700{--gradient-to-color:#6b46c1}.xl\:to-purple-800{--gradient-to-color:#553c9a}.xl\:to-purple-900{--gradient-to-color:#44337a}.xl\:to-pink-100{--gradient-to-color:#fff5f7}.xl\:to-pink-200{--gradient-to-color:#fed7e2}.xl\:to-pink-300{--gradient-to-color:#fbb6ce}.xl\:to-pink-400{--gradient-to-color:#f687b3}.xl\:to-pink-500{--gradient-to-color:#ed64a6}.xl\:to-pink-600{--gradient-to-color:#d53f8c}.xl\:to-pink-700{--gradient-to-color:#b83280}.xl\:to-pink-800{--gradient-to-color:#97266d}.xl\:to-pink-900{--gradient-to-color:#702459}.xl\:to-primary{--gradient-to-color:#00d1ff}.xl\:to-secondary{--gradient-to-color:#e077ff}.xl\:to-greenish-blue{--gradient-to-color:#adffed}.xl\:to-blue-gray{--gradient-to-color:#cfe1e6}.xl\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xl\:hover\:to-current:hover{--gradient-to-color:currentColor}.xl\:hover\:to-black:hover{--gradient-to-color:#000}.xl\:hover\:to-white:hover{--gradient-to-color:#fff}.xl\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xl\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xl\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xl\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xl\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xl\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xl\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xl\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xl\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xl\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xl\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xl\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xl\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xl\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xl\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xl\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xl\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xl\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xl\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xl\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xl\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xl\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xl\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xl\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xl\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xl\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xl\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xl\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xl\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xl\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xl\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xl\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xl\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xl\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xl\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xl\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xl\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xl\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xl\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xl\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xl\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xl\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xl\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xl\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xl\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xl\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xl\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xl\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xl\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xl\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xl\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xl\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xl\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xl\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xl\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xl\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xl\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xl\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xl\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xl\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xl\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xl\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xl\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xl\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xl\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xl\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xl\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xl\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xl\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xl\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xl\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xl\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xl\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xl\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xl\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xl\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xl\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xl\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xl\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xl\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xl\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xl\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xl\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xl\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xl\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xl\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xl\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xl\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xl\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xl\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xl\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xl\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xl\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xl\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xl\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xl\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xl\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xl\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xl\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xl\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xl\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xl\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xl\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xl\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xl\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xl\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xl\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xl\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xl\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xl\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xl\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xl\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xl\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xl\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xl\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xl\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xl\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xl\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xl\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xl\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xl\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xl\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xl\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xl\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xl\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xl\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xl\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xl\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xl\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xl\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xl\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xl\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xl\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xl\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xl\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xl\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xl\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xl\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xl\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xl\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xl\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xl\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xl\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xl\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xl\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xl\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xl\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xl\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xl\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xl\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xl\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xl\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xl\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xl\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xl\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xl\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xl\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xl\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xl\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xl\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xl\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xl\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xl\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xl\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xl\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xl\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xl\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xl\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xl\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xl\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xl\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xl\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xl\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xl\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xl\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xl\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xl\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xl\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xl\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xl\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xl\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xl\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xl\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xl\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xl\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xl\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xl\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xl\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xl\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xl\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xl\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xl\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xl\:focus\:to-current:focus{--gradient-to-color:currentColor}.xl\:focus\:to-black:focus{--gradient-to-color:#000}.xl\:focus\:to-white:focus{--gradient-to-color:#fff}.xl\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xl\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xl\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xl\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xl\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xl\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xl\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xl\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xl\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xl\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xl\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xl\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xl\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xl\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xl\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xl\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xl\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xl\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xl\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xl\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xl\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xl\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xl\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xl\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xl\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xl\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xl\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xl\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xl\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xl\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xl\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xl\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xl\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xl\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xl\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xl\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xl\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xl\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xl\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xl\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xl\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xl\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xl\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xl\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xl\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xl\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xl\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xl\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xl\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xl\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xl\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xl\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xl\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xl\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xl\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xl\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xl\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xl\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xl\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xl\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xl\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xl\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xl\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xl\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xl\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xl\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xl\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xl\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xl\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xl\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xl\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xl\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xl\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xl\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xl\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xl\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xl\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xl\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xl\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xl\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xl\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xl\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xl\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xl\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xl\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xl\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xl\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xl\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xl\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xl\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xl\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xl\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xl\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xl\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xl\:bg-opacity-0{--bg-opacity:0}.xl\:bg-opacity-25{--bg-opacity:0.25}.xl\:bg-opacity-50{--bg-opacity:0.5}.xl\:bg-opacity-75{--bg-opacity:0.75}.xl\:bg-opacity-100{--bg-opacity:1}.xl\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xl\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xl\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xl\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xl\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xl\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xl\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xl\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xl\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xl\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:50%}.xl\:bg-left{background-position:0}.xl\:bg-left-bottom{background-position:0 100%}.xl\:bg-left-top{background-position:0 0}.xl\:bg-right{background-position:100%}.xl\:bg-right-bottom{background-position:100% 100%}.xl\:bg-right-top{background-position:100% 0}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-repeat-round{background-repeat:round}.xl\:bg-repeat-space{background-repeat:space}.xl\:bg-auto{background-size:auto}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:border-collapse{border-collapse:collapse}.xl\:border-separate{border-collapse:separate}.xl\:border-transparent{border-color:transparent}.xl\:border-current{border-color:currentColor}.xl\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-current:hover{border-color:currentColor}.xl\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:focus\:border-transparent:focus{border-color:transparent}.xl\:focus\:border-current:focus{border-color:currentColor}.xl\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xl\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xl\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xl\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xl\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xl\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xl\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xl\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xl\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xl\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xl\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xl\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xl\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xl\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xl\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xl\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xl\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xl\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xl\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xl\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xl\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xl\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xl\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xl\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xl\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xl\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xl\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xl\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xl\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xl\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xl\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xl\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xl\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xl\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xl\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xl\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xl\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xl\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xl\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xl\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xl\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xl\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xl\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xl\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xl\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xl\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xl\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xl\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xl\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xl\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xl\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xl\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xl\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xl\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xl\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xl\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xl\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xl\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xl\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xl\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xl\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xl\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xl\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xl\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xl\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xl\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xl\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xl\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xl\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xl\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xl\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xl\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xl\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xl\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xl\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xl\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xl\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xl\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xl\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xl\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xl\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xl\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xl\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xl\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xl\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xl\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xl\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xl\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xl\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xl\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xl\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xl\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xl\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xl\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xl\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xl\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xl\:border-opacity-0{--border-opacity:0}.xl\:border-opacity-25{--border-opacity:0.25}.xl\:border-opacity-50{--border-opacity:0.5}.xl\:border-opacity-75{--border-opacity:0.75}.xl\:border-opacity-100{--border-opacity:1}.xl\:hover\:border-opacity-0:hover{--border-opacity:0}.xl\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xl\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xl\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xl\:hover\:border-opacity-100:hover{--border-opacity:1}.xl\:focus\:border-opacity-0:focus{--border-opacity:0}.xl\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xl\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xl\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xl\:focus\:border-opacity-100:focus{--border-opacity:1}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-md{border-radius:.375rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-xl{border-radius:.75rem}.xl\:rounded-2xl{border-radius:1rem}.xl\:rounded-3xl{border-radius:1.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem}.xl\:rounded-r,.xl\:rounded-t{border-top-right-radius:.25rem}.xl\:rounded-b,.xl\:rounded-r{border-bottom-right-radius:.25rem}.xl\:rounded-b,.xl\:rounded-l{border-bottom-left-radius:.25rem}.xl\:rounded-l{border-top-left-radius:.25rem}.xl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-tl-md{border-top-left-radius:.375rem}.xl\:rounded-tr-md{border-top-right-radius:.375rem}.xl\:rounded-br-md{border-bottom-right-radius:.375rem}.xl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-tl-xl{border-top-left-radius:.75rem}.xl\:rounded-tr-xl{border-top-right-radius:.75rem}.xl\:rounded-br-xl{border-bottom-right-radius:.75rem}.xl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xl\:rounded-tl-2xl{border-top-left-radius:1rem}.xl\:rounded-tr-2xl{border-top-right-radius:1rem}.xl\:rounded-br-2xl{border-bottom-right-radius:1rem}.xl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-double{border-style:double}.xl\:border-none{border-style:none}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-r-0{border-right-width:0}.xl\:border-b-0{border-bottom-width:0}.xl\:border-l-0{border-left-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-r-2{border-right-width:2px}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-l-2{border-left-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-r-4{border-right-width:4px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-l-4{border-left-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-r-8{border-right-width:8px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-l-8{border-left-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r{border-right-width:1px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l{border-left-width:1px}.xl\:box-border{box-sizing:border-box}.xl\:box-content{box-sizing:content-box}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-wait{cursor:wait}.xl\:cursor-text{cursor:text}.xl\:cursor-move{cursor:move}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:table{display:table}.xl\:table-caption{display:table-caption}.xl\:table-cell{display:table-cell}.xl\:table-column{display:table-column}.xl\:table-column-group{display:table-column-group}.xl\:table-footer-group{display:table-footer-group}.xl\:table-header-group{display:table-header-group}.xl\:table-row-group{display:table-row-group}.xl\:table-row{display:table-row}.xl\:flow-root{display:flow-root}.xl\:grid{display:grid}.xl\:inline-grid{display:inline-grid}.xl\:contents{display:contents}.xl\:hidden{display:none}.xl\:flex-row{flex-direction:row}.xl\:flex-row-reverse{flex-direction:row-reverse}.xl\:flex-col{flex-direction:column}.xl\:flex-col-reverse{flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-no-wrap{flex-wrap:nowrap}.xl\:place-items-auto{place-items:auto}.xl\:place-items-start{place-items:start}.xl\:place-items-end{place-items:end}.xl\:place-items-center{place-items:center}.xl\:place-items-stretch{place-items:stretch}.xl\:place-content-center{place-content:center}.xl\:place-content-start{place-content:start}.xl\:place-content-end{place-content:end}.xl\:place-content-between{place-content:space-between}.xl\:place-content-around{place-content:space-around}.xl\:place-content-evenly{place-content:space-evenly}.xl\:place-content-stretch{place-content:stretch}.xl\:place-self-auto{place-self:auto}.xl\:place-self-start{place-self:start}.xl\:place-self-end{place-self:end}.xl\:place-self-center{place-self:center}.xl\:place-self-stretch{place-self:stretch}.xl\:items-start{align-items:flex-start}.xl\:items-end{align-items:flex-end}.xl\:items-center{align-items:center}.xl\:items-baseline{align-items:baseline}.xl\:items-stretch{align-items:stretch}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:content-evenly{align-content:space-evenly}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:justify-items-auto{justify-items:auto}.xl\:justify-items-start{justify-items:start}.xl\:justify-items-end{justify-items:end}.xl\:justify-items-center{justify-items:center}.xl\:justify-items-stretch{justify-items:stretch}.xl\:justify-start{justify-content:flex-start}.xl\:justify-end{justify-content:flex-end}.xl\:justify-center{justify-content:center}.xl\:justify-between{justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:justify-evenly{justify-content:space-evenly}.xl\:justify-self-auto{justify-self:auto}.xl\:justify-self-start{justify-self:start}.xl\:justify-self-end{justify-self:end}.xl\:justify-self-center{justify-self:center}.xl\:justify-self-stretch{justify-self:stretch}.xl\:flex-1{flex:1 1 0%}.xl\:flex-auto{flex:1 1 auto}.xl\:flex-initial{flex:0 1 auto}.xl\:flex-none{flex:none}.xl\:flex-grow-0{flex-grow:0}.xl\:flex-grow{flex-grow:1}.xl\:flex-shrink-0{flex-shrink:0}.xl\:flex-shrink{flex-shrink:1}.xl\:order-1{order:1}.xl\:order-2{order:2}.xl\:order-3{order:3}.xl\:order-4{order:4}.xl\:order-5{order:5}.xl\:order-6{order:6}.xl\:order-7{order:7}.xl\:order-8{order:8}.xl\:order-9{order:9}.xl\:order-10{order:10}.xl\:order-11{order:11}.xl\:order-12{order:12}.xl\:order-first{order:-9999}.xl\:order-last{order:9999}.xl\:order-none{order:0}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clearfix:after{content:"";display:table;clear:both}.xl\:clear-left{clear:left}.xl\:clear-right{clear:right}.xl\:clear-both{clear:both}.xl\:clear-none{clear:none}.xl\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xl\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xl\:font-hairline{font-weight:100}.xl\:font-thin{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:hover\:font-hairline:hover{font-weight:100}.xl\:hover\:font-thin:hover{font-weight:200}.xl\:hover\:font-light:hover{font-weight:300}.xl\:hover\:font-normal:hover{font-weight:400}.xl\:hover\:font-medium:hover{font-weight:500}.xl\:hover\:font-semibold:hover{font-weight:600}.xl\:hover\:font-bold:hover{font-weight:700}.xl\:hover\:font-extrabold:hover{font-weight:800}.xl\:hover\:font-black:hover{font-weight:900}.xl\:focus\:font-hairline:focus{font-weight:100}.xl\:focus\:font-thin:focus{font-weight:200}.xl\:focus\:font-light:focus{font-weight:300}.xl\:focus\:font-normal:focus{font-weight:400}.xl\:focus\:font-medium:focus{font-weight:500}.xl\:focus\:font-semibold:focus{font-weight:600}.xl\:focus\:font-bold:focus{font-weight:700}.xl\:focus\:font-extrabold:focus{font-weight:800}.xl\:focus\:font-black:focus{font-weight:900}.xl\:h-0{height:0}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-5{height:1.25rem}.xl\:h-6{height:1.5rem}.xl\:h-8{height:2rem}.xl\:h-10{height:2.5rem}.xl\:h-12{height:3rem}.xl\:h-16{height:4rem}.xl\:h-20{height:5rem}.xl\:h-24{height:6rem}.xl\:h-32{height:8rem}.xl\:h-40{height:10rem}.xl\:h-48{height:12rem}.xl\:h-56{height:14rem}.xl\:h-64{height:16rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:text-xs{font-size:.75rem}.xl\:text-sm{font-size:.875rem}.xl\:text-base{font-size:1rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.25rem}.xl\:text-2xl{font-size:1.5rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-5xl{font-size:3rem}.xl\:text-6xl{font-size:4rem}.xl\:leading-3{line-height:.75rem}.xl\:leading-4{line-height:1rem}.xl\:leading-5{line-height:1.25rem}.xl\:leading-6{line-height:1.5rem}.xl\:leading-7{line-height:1.75rem}.xl\:leading-8{line-height:2rem}.xl\:leading-9{line-height:2.25rem}.xl\:leading-10{line-height:2.5rem}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-snug{line-height:1.375}.xl\:leading-normal{line-height:1.5}.xl\:leading-relaxed{line-height:1.625}.xl\:leading-loose{line-height:2}.xl\:list-inside{list-style-position:inside}.xl\:list-outside{list-style-position:outside}.xl\:list-none{list-style-type:none}.xl\:list-disc{list-style-type:disc}.xl\:list-decimal{list-style-type:decimal}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-5{margin:1.25rem}.xl\:m-6{margin:1.5rem}.xl\:m-8{margin:2rem}.xl\:m-10{margin:2.5rem}.xl\:m-12{margin:3rem}.xl\:m-16{margin:4rem}.xl\:m-20{margin:5rem}.xl\:m-24{margin:6rem}.xl\:m-32{margin:8rem}.xl\:m-40{margin:10rem}.xl\:m-48{margin:12rem}.xl\:m-56{margin:14rem}.xl\:m-64{margin:16rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-5{margin:-1.25rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-8{margin:-2rem}.xl\:-m-10{margin:-2.5rem}.xl\:-m-12{margin:-3rem}.xl\:-m-16{margin:-4rem}.xl\:-m-20{margin:-5rem}.xl\:-m-24{margin:-6rem}.xl\:-m-32{margin:-8rem}.xl\:-m-40{margin:-10rem}.xl\:-m-48{margin:-12rem}.xl\:-m-56{margin:-14rem}.xl\:-m-64{margin:-16rem}.xl\:-m-px{margin:-1px}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xl\:my-12{margin-top:3rem;margin-bottom:3rem}.xl\:mx-12{margin-left:3rem;margin-right:3rem}.xl\:my-16{margin-top:4rem;margin-bottom:4rem}.xl\:mx-16{margin-left:4rem;margin-right:4rem}.xl\:my-20{margin-top:5rem;margin-bottom:5rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:my-24{margin-top:6rem;margin-bottom:6rem}.xl\:mx-24{margin-left:6rem;margin-right:6rem}.xl\:my-32{margin-top:8rem;margin-bottom:8rem}.xl\:mx-32{margin-left:8rem;margin-right:8rem}.xl\:my-40{margin-top:10rem;margin-bottom:10rem}.xl\:mx-40{margin-left:10rem;margin-right:10rem}.xl\:my-48{margin-top:12rem;margin-bottom:12rem}.xl\:mx-48{margin-left:12rem;margin-right:12rem}.xl\:my-56{margin-top:14rem;margin-bottom:14rem}.xl\:mx-56{margin-left:14rem;margin-right:14rem}.xl\:my-64{margin-top:16rem;margin-bottom:16rem}.xl\:mx-64{margin-left:16rem;margin-right:16rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:mt-0{margin-top:0}.xl\:mr-0{margin-right:0}.xl\:mb-0{margin-bottom:0}.xl\:ml-0{margin-left:0}.xl\:mt-1{margin-top:.25rem}.xl\:mr-1{margin-right:.25rem}.xl\:mb-1{margin-bottom:.25rem}.xl\:ml-1{margin-left:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mr-2{margin-right:.5rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-2{margin-left:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mr-3{margin-right:.75rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:ml-3{margin-left:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mr-4{margin-right:1rem}.xl\:mb-4{margin-bottom:1rem}.xl\:ml-4{margin-left:1rem}.xl\:mt-5{margin-top:1.25rem}.xl\:mr-5{margin-right:1.25rem}.xl\:mb-5{margin-bottom:1.25rem}.xl\:ml-5{margin-left:1.25rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-6{margin-left:1.5rem}.xl\:mt-8{margin-top:2rem}.xl\:mr-8{margin-right:2rem}.xl\:mb-8{margin-bottom:2rem}.xl\:ml-8{margin-left:2rem}.xl\:mt-10{margin-top:2.5rem}.xl\:mr-10{margin-right:2.5rem}.xl\:mb-10{margin-bottom:2.5rem}.xl\:ml-10{margin-left:2.5rem}.xl\:mt-12{margin-top:3rem}.xl\:mr-12{margin-right:3rem}.xl\:mb-12{margin-bottom:3rem}.xl\:ml-12{margin-left:3rem}.xl\:mt-16{margin-top:4rem}.xl\:mr-16{margin-right:4rem}.xl\:mb-16{margin-bottom:4rem}.xl\:ml-16{margin-left:4rem}.xl\:mt-20{margin-top:5rem}.xl\:mr-20{margin-right:5rem}.xl\:mb-20{margin-bottom:5rem}.xl\:ml-20{margin-left:5rem}.xl\:mt-24{margin-top:6rem}.xl\:mr-24{margin-right:6rem}.xl\:mb-24{margin-bottom:6rem}.xl\:ml-24{margin-left:6rem}.xl\:mt-32{margin-top:8rem}.xl\:mr-32{margin-right:8rem}.xl\:mb-32{margin-bottom:8rem}.xl\:ml-32{margin-left:8rem}.xl\:mt-40{margin-top:10rem}.xl\:mr-40{margin-right:10rem}.xl\:mb-40{margin-bottom:10rem}.xl\:ml-40{margin-left:10rem}.xl\:mt-48{margin-top:12rem}.xl\:mr-48{margin-right:12rem}.xl\:mb-48{margin-bottom:12rem}.xl\:ml-48{margin-left:12rem}.xl\:mt-56{margin-top:14rem}.xl\:mr-56{margin-right:14rem}.xl\:mb-56{margin-bottom:14rem}.xl\:ml-56{margin-left:14rem}.xl\:mt-64{margin-top:16rem}.xl\:mr-64{margin-right:16rem}.xl\:mb-64{margin-bottom:16rem}.xl\:ml-64{margin-left:16rem}.xl\:mt-auto{margin-top:auto}.xl\:mr-auto{margin-right:auto}.xl\:mb-auto{margin-bottom:auto}.xl\:ml-auto{margin-left:auto}.xl\:mt-px{margin-top:1px}.xl\:mr-px{margin-right:1px}.xl\:mb-px{margin-bottom:1px}.xl\:ml-px{margin-left:1px}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-ml-1{margin-left:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mt-5{margin-top:-1.25rem}.xl\:-mr-5{margin-right:-1.25rem}.xl\:-mb-5{margin-bottom:-1.25rem}.xl\:-ml-5{margin-left:-1.25rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-mt-10{margin-top:-2.5rem}.xl\:-mr-10{margin-right:-2.5rem}.xl\:-mb-10{margin-bottom:-2.5rem}.xl\:-ml-10{margin-left:-2.5rem}.xl\:-mt-12{margin-top:-3rem}.xl\:-mr-12{margin-right:-3rem}.xl\:-mb-12{margin-bottom:-3rem}.xl\:-ml-12{margin-left:-3rem}.xl\:-mt-16{margin-top:-4rem}.xl\:-mr-16{margin-right:-4rem}.xl\:-mb-16{margin-bottom:-4rem}.xl\:-ml-16{margin-left:-4rem}.xl\:-mt-20{margin-top:-5rem}.xl\:-mr-20{margin-right:-5rem}.xl\:-mb-20{margin-bottom:-5rem}.xl\:-ml-20{margin-left:-5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mr-24{margin-right:-6rem}.xl\:-mb-24{margin-bottom:-6rem}.xl\:-ml-24{margin-left:-6rem}.xl\:-mt-32{margin-top:-8rem}.xl\:-mr-32{margin-right:-8rem}.xl\:-mb-32{margin-bottom:-8rem}.xl\:-ml-32{margin-left:-8rem}.xl\:-mt-40{margin-top:-10rem}.xl\:-mr-40{margin-right:-10rem}.xl\:-mb-40{margin-bottom:-10rem}.xl\:-ml-40{margin-left:-10rem}.xl\:-mt-48{margin-top:-12rem}.xl\:-mr-48{margin-right:-12rem}.xl\:-mb-48{margin-bottom:-12rem}.xl\:-ml-48{margin-left:-12rem}.xl\:-mt-56{margin-top:-14rem}.xl\:-mr-56{margin-right:-14rem}.xl\:-mb-56{margin-bottom:-14rem}.xl\:-ml-56{margin-left:-14rem}.xl\:-mt-64{margin-top:-16rem}.xl\:-mr-64{margin-right:-16rem}.xl\:-mb-64{margin-bottom:-16rem}.xl\:-ml-64{margin-left:-16rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mr-px{margin-right:-1px}.xl\:-mb-px{margin-bottom:-1px}.xl\:-ml-px{margin-left:-1px}.xl\:max-h-full{max-height:100%}.xl\:max-h-screen{max-height:100vh}.xl\:max-w-none{max-width:none}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:24rem}.xl\:max-w-md{max-width:28rem}.xl\:max-w-lg{max-width:32rem}.xl\:max-w-xl{max-width:36rem}.xl\:max-w-2xl{max-width:42rem}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-4xl{max-width:56rem}.xl\:max-w-5xl{max-width:64rem}.xl\:max-w-6xl{max-width:72rem}.xl\:max-w-full{max-width:100%}.xl\:max-w-screen-xs{max-width:360px}.xl\:max-w-screen-sm{max-width:640px}.xl\:max-w-screen-md{max-width:768px}.xl\:max-w-screen-lg{max-width:1024px}.xl\:max-w-screen-xl{max-width:1280px}.xl\:max-w-screen-xxl{max-width:1480px}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:object-contain{-o-object-fit:contain;object-fit:contain}.xl\:object-cover{-o-object-fit:cover;object-fit:cover}.xl\:object-fill{-o-object-fit:fill;object-fit:fill}.xl\:object-none{-o-object-fit:none;object-fit:none}.xl\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xl\:object-bottom{-o-object-position:bottom;object-position:bottom}.xl\:object-center{-o-object-position:center;object-position:center}.xl\:object-left{-o-object-position:left;object-position:left}.xl\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xl\:object-left-top{-o-object-position:left top;object-position:left top}.xl\:object-right{-o-object-position:right;object-position:right}.xl\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xl\:object-right-top{-o-object-position:right top;object-position:right top}.xl\:object-top{-o-object-position:top;object-position:top}.xl\:opacity-0{opacity:0}.xl\:opacity-25{opacity:.25}.xl\:opacity-50{opacity:.5}.xl\:opacity-75{opacity:.75}.xl\:opacity-100{opacity:1}.xl\:hover\:opacity-0:hover{opacity:0}.xl\:hover\:opacity-25:hover{opacity:.25}.xl\:hover\:opacity-50:hover{opacity:.5}.xl\:hover\:opacity-75:hover{opacity:.75}.xl\:hover\:opacity-100:hover{opacity:1}.xl\:focus\:opacity-0:focus{opacity:0}.xl\:focus\:opacity-25:focus{opacity:.25}.xl\:focus\:opacity-50:focus{opacity:.5}.xl\:focus\:opacity-75:focus{opacity:.75}.xl\:focus\:opacity-100:focus{opacity:1}.xl\:outline-none{outline:2px solid transparent;outline-offset:2px}.xl\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xl\:outline-black{outline:2px dotted #000;outline-offset:2px}.xl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xl\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xl\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-auto{overflow-x:auto}.xl\:overflow-y-auto{overflow-y:auto}.xl\:overflow-x-hidden{overflow-x:hidden}.xl\:overflow-y-hidden{overflow-y:hidden}.xl\:overflow-x-visible{overflow-x:visible}.xl\:overflow-y-visible{overflow-y:visible}.xl\:overflow-x-scroll{overflow-x:scroll}.xl\:overflow-y-scroll{overflow-y:scroll}.xl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xl\:overscroll-auto{overscroll-behavior:auto}.xl\:overscroll-contain{overscroll-behavior:contain}.xl\:overscroll-none{overscroll-behavior:none}.xl\:overscroll-y-auto{overscroll-behavior-y:auto}.xl\:overscroll-y-contain{overscroll-behavior-y:contain}.xl\:overscroll-y-none{overscroll-behavior-y:none}.xl\:overscroll-x-auto{overscroll-behavior-x:auto}.xl\:overscroll-x-contain{overscroll-behavior-x:contain}.xl\:overscroll-x-none{overscroll-behavior-x:none}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-5{padding:1.25rem}.xl\:p-6{padding:1.5rem}.xl\:p-8{padding:2rem}.xl\:p-10{padding:2.5rem}.xl\:p-12{padding:3rem}.xl\:p-16{padding:4rem}.xl\:p-20{padding:5rem}.xl\:p-24{padding:6rem}.xl\:p-32{padding:8rem}.xl\:p-40{padding:10rem}.xl\:p-48{padding:12rem}.xl\:p-56{padding:14rem}.xl\:p-64{padding:16rem}.xl\:p-px{padding:1px}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:px-0{padding-left:0;padding-right:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xl\:py-12{padding-top:3rem;padding-bottom:3rem}.xl\:px-12{padding-left:3rem;padding-right:3rem}.xl\:py-16{padding-top:4rem;padding-bottom:4rem}.xl\:px-16{padding-left:4rem;padding-right:4rem}.xl\:py-20{padding-top:5rem;padding-bottom:5rem}.xl\:px-20{padding-left:5rem;padding-right:5rem}.xl\:py-24{padding-top:6rem;padding-bottom:6rem}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:py-32{padding-top:8rem;padding-bottom:8rem}.xl\:px-32{padding-left:8rem;padding-right:8rem}.xl\:py-40{padding-top:10rem;padding-bottom:10rem}.xl\:px-40{padding-left:10rem;padding-right:10rem}.xl\:py-48{padding-top:12rem;padding-bottom:12rem}.xl\:px-48{padding-left:12rem;padding-right:12rem}.xl\:py-56{padding-top:14rem;padding-bottom:14rem}.xl\:px-56{padding-left:14rem;padding-right:14rem}.xl\:py-64{padding-top:16rem;padding-bottom:16rem}.xl\:px-64{padding-left:16rem;padding-right:16rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:pt-0{padding-top:0}.xl\:pr-0{padding-right:0}.xl\:pb-0{padding-bottom:0}.xl\:pl-0{padding-left:0}.xl\:pt-1{padding-top:.25rem}.xl\:pr-1{padding-right:.25rem}.xl\:pb-1{padding-bottom:.25rem}.xl\:pl-1{padding-left:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pr-2{padding-right:.5rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pl-2{padding-left:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pr-3{padding-right:.75rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pl-3{padding-left:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pr-4{padding-right:1rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pl-4{padding-left:1rem}.xl\:pt-5{padding-top:1.25rem}.xl\:pr-5{padding-right:1.25rem}.xl\:pb-5{padding-bottom:1.25rem}.xl\:pl-5{padding-left:1.25rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:pr-8{padding-right:2rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pl-8{padding-left:2rem}.xl\:pt-10{padding-top:2.5rem}.xl\:pr-10{padding-right:2.5rem}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pl-10{padding-left:2.5rem}.xl\:pt-12{padding-top:3rem}.xl\:pr-12{padding-right:3rem}.xl\:pb-12{padding-bottom:3rem}.xl\:pl-12{padding-left:3rem}.xl\:pt-16{padding-top:4rem}.xl\:pr-16{padding-right:4rem}.xl\:pb-16{padding-bottom:4rem}.xl\:pl-16{padding-left:4rem}.xl\:pt-20{padding-top:5rem}.xl\:pr-20{padding-right:5rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pl-20{padding-left:5rem}.xl\:pt-24{padding-top:6rem}.xl\:pr-24{padding-right:6rem}.xl\:pb-24{padding-bottom:6rem}.xl\:pl-24{padding-left:6rem}.xl\:pt-32{padding-top:8rem}.xl\:pr-32{padding-right:8rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pl-32{padding-left:8rem}.xl\:pt-40{padding-top:10rem}.xl\:pr-40{padding-right:10rem}.xl\:pb-40{padding-bottom:10rem}.xl\:pl-40{padding-left:10rem}.xl\:pt-48{padding-top:12rem}.xl\:pr-48{padding-right:12rem}.xl\:pb-48{padding-bottom:12rem}.xl\:pl-48{padding-left:12rem}.xl\:pt-56{padding-top:14rem}.xl\:pr-56{padding-right:14rem}.xl\:pb-56{padding-bottom:14rem}.xl\:pl-56{padding-left:14rem}.xl\:pt-64{padding-top:16rem}.xl\:pr-64{padding-right:16rem}.xl\:pb-64{padding-bottom:16rem}.xl\:pl-64{padding-left:16rem}.xl\:pt-px{padding-top:1px}.xl\:pr-px{padding-right:1px}.xl\:pb-px{padding-bottom:1px}.xl\:pl-px{padding-left:1px}.xl\:placeholder-transparent::placeholder{color:transparent}.xl\:placeholder-current::placeholder{color:currentColor}.xl\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xl\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xl\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xl\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xl\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xl\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xl\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xl\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xl\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xl\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xl\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xl\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xl\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xl\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xl\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xl\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xl\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xl\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xl\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xl\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xl\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xl\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xl\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xl\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xl\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xl\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xl\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xl\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xl\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xl\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xl\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xl\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xl\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xl\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xl\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xl\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xl\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xl\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xl\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xl\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xl\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xl\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xl\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xl\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xl\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xl\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xl\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xl\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xl\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xl\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xl\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xl\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xl\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xl\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xl\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xl\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xl\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xl\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xl\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xl\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xl\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xl\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xl\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xl\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xl\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xl\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xl\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xl\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xl\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xl\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xl\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xl\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xl\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xl\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xl\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xl\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xl\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xl\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xl\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xl\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xl\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xl\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xl\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xl\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xl\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xl\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xl\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xl\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xl\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xl\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xl\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xl\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xl\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xl\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xl\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xl\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xl\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xl\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xl\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xl\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xl\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xl\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xl\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xl\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xl\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xl\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xl\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xl\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xl\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xl\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xl\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xl\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xl\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xl\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xl\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xl\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xl\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:sticky{position:sticky}.xl\:inset-0{top:0;right:0;bottom:0;left:0}.xl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xl\:inset-y-0{top:0;bottom:0}.xl\:inset-x-0{right:0;left:0}.xl\:inset-y-auto{top:auto;bottom:auto}.xl\:inset-x-auto{right:auto;left:auto}.xl\:top-0{top:0}.xl\:right-0{right:0}.xl\:bottom-0{bottom:0}.xl\:left-0{left:0}.xl\:top-auto{top:auto}.xl\:right-auto{right:auto}.xl\:bottom-auto{bottom:auto}.xl\:left-auto{left:auto}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:shadow-none{box-shadow:none}.xl\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:hover\:shadow-none:hover{box-shadow:none}.xl\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xl\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xl\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xl\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xl\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xl\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xl\:focus\:shadow-none:focus{box-shadow:none}.xl\:fill-current{fill:currentColor}.xl\:stroke-current{stroke:currentColor}.xl\:stroke-0{stroke-width:0}.xl\:stroke-1{stroke-width:1}.xl\:stroke-2{stroke-width:2}.xl\:table-auto{table-layout:auto}.xl\:table-fixed{table-layout:fixed}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:text-transparent{color:transparent}.xl\:text-current{color:currentColor}.xl\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-current:hover{color:currentColor}.xl\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:focus\:text-transparent:focus{color:transparent}.xl\:focus\:text-current:focus{color:currentColor}.xl\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xl\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xl\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xl\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xl\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xl\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xl\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xl\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xl\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xl\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xl\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xl\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xl\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xl\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xl\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xl\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xl\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xl\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xl\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xl\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xl\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xl\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xl\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xl\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xl\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xl\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xl\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xl\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xl\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xl\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xl\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xl\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xl\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xl\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xl\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xl\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xl\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xl\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xl\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xl\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xl\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xl\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xl\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xl\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xl\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xl\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xl\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xl\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xl\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xl\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xl\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xl\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xl\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xl\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xl\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xl\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xl\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xl\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xl\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xl\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xl\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xl\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xl\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xl\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xl\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xl\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xl\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xl\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xl\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xl\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xl\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xl\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xl\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xl\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xl\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xl\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xl\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xl\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xl\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xl\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xl\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xl\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xl\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xl\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xl\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xl\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xl\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xl\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xl\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xl\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xl\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xl\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xl\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xl\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xl\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xl\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xl\:text-opacity-0{--text-opacity:0}.xl\:text-opacity-25{--text-opacity:0.25}.xl\:text-opacity-50{--text-opacity:0.5}.xl\:text-opacity-75{--text-opacity:0.75}.xl\:text-opacity-100{--text-opacity:1}.xl\:hover\:text-opacity-0:hover{--text-opacity:0}.xl\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xl\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xl\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xl\:hover\:text-opacity-100:hover{--text-opacity:1}.xl\:focus\:text-opacity-0:focus{--text-opacity:0}.xl\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xl\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xl\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xl\:focus\:text-opacity-100:focus{--text-opacity:1}.xl\:italic{font-style:italic}.xl\:not-italic{font-style:normal}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:focus\:underline:focus{text-decoration:underline}.xl\:focus\:line-through:focus{text-decoration:line-through}.xl\:focus\:no-underline:focus{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:diagonal-fractions,.xl\:lining-nums,.xl\:oldstyle-nums,.xl\:ordinal,.xl\:proportional-nums,.xl\:slashed-zero,.xl\:stacked-fractions,.xl\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xl\:normal-nums{font-variant-numeric:normal}.xl\:ordinal{--font-variant-numeric-ordinal:ordinal}.xl\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xl\:lining-nums{--font-variant-numeric-figure:lining-nums}.xl\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xl\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xl\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xl\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xl\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xl\:tracking-tighter{letter-spacing:-.05em}.xl\:tracking-tight{letter-spacing:-.025em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.025em}.xl\:tracking-wider{letter-spacing:.05em}.xl\:tracking-widest{letter-spacing:.1em}.xl\:select-none{-webkit-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;user-select:text}.xl\:select-all{-webkit-user-select:all;user-select:all}.xl\:select-auto{-webkit-user-select:auto;user-select:auto}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-no-wrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xl\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xl\:break-all{word-break:break-all}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:w-0{width:0}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-5{width:1.25rem}.xl\:w-6{width:1.5rem}.xl\:w-8{width:2rem}.xl\:w-10{width:2.5rem}.xl\:w-12{width:3rem}.xl\:w-16{width:4rem}.xl\:w-20{width:5rem}.xl\:w-24{width:6rem}.xl\:w-32{width:8rem}.xl\:w-40{width:10rem}.xl\:w-48{width:12rem}.xl\:w-56{width:14rem}.xl\:w-64{width:16rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.333333%}.xl\:w-2\/3{width:66.666667%}.xl\:w-1\/4{width:25%}.xl\:w-2\/4{width:50%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.666667%}.xl\:w-2\/6{width:33.333333%}.xl\:w-3\/6{width:50%}.xl\:w-4\/6{width:66.666667%}.xl\:w-5\/6{width:83.333333%}.xl\:w-1\/12{width:8.333333%}.xl\:w-2\/12{width:16.666667%}.xl\:w-3\/12{width:25%}.xl\:w-4\/12{width:33.333333%}.xl\:w-5\/12{width:41.666667%}.xl\:w-6\/12{width:50%}.xl\:w-7\/12{width:58.333333%}.xl\:w-8\/12{width:66.666667%}.xl\:w-9\/12{width:75%}.xl\:w-10\/12{width:83.333333%}.xl\:w-11\/12{width:91.666667%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}.xl\:gap-0{grid-gap:0;gap:0}.xl\:gap-1{grid-gap:.25rem;gap:.25rem}.xl\:gap-2{grid-gap:.5rem;gap:.5rem}.xl\:gap-3{grid-gap:.75rem;gap:.75rem}.xl\:gap-4{grid-gap:1rem;gap:1rem}.xl\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xl\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xl\:gap-8{grid-gap:2rem;gap:2rem}.xl\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xl\:gap-12{grid-gap:3rem;gap:3rem}.xl\:gap-16{grid-gap:4rem;gap:4rem}.xl\:gap-20{grid-gap:5rem;gap:5rem}.xl\:gap-24{grid-gap:6rem;gap:6rem}.xl\:gap-32{grid-gap:8rem;gap:8rem}.xl\:gap-40{grid-gap:10rem;gap:10rem}.xl\:gap-48{grid-gap:12rem;gap:12rem}.xl\:gap-56{grid-gap:14rem;gap:14rem}.xl\:gap-64{grid-gap:16rem;gap:16rem}.xl\:gap-px{grid-gap:1px;gap:1px}.xl\:col-gap-0{grid-column-gap:0;column-gap:0}.xl\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xl\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xl\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xl\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xl\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xl\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xl\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xl\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xl\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xl\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xl\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xl\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xl\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xl\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xl\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xl\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xl\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xl\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xl\:gap-x-0{grid-column-gap:0;column-gap:0}.xl\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xl\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xl\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xl\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xl\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xl\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xl\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xl\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xl\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xl\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xl\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xl\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xl\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xl\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xl\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xl\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xl\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xl\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xl\:row-gap-0{grid-row-gap:0;row-gap:0}.xl\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xl\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xl\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xl\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xl\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xl\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xl\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xl\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xl\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xl\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xl\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xl\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xl\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xl\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xl\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xl\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xl\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xl\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xl\:gap-y-0{grid-row-gap:0;row-gap:0}.xl\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xl\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xl\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xl\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xl\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xl\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xl\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xl\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xl\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xl\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xl\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xl\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xl\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xl\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xl\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xl\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xl\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xl\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xl\:grid-flow-row{grid-auto-flow:row}.xl\:grid-flow-col{grid-auto-flow:column}.xl\:grid-flow-row-dense{grid-auto-flow:row dense}.xl\:grid-flow-col-dense{grid-auto-flow:column dense}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-none{grid-template-columns:none}.xl\:auto-cols-auto{grid-auto-columns:auto}.xl\:auto-cols-min{grid-auto-columns:min-content}.xl\:auto-cols-max{grid-auto-columns:max-content}.xl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xl\:col-auto{grid-column:auto}.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-4{grid-column:span 4/span 4}.xl\:col-span-5{grid-column:span 5/span 5}.xl\:col-span-6{grid-column:span 6/span 6}.xl\:col-span-7{grid-column:span 7/span 7}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}.xl\:col-span-10{grid-column:span 10/span 10}.xl\:col-span-11{grid-column:span 11/span 11}.xl\:col-span-12{grid-column:span 12/span 12}.xl\:col-span-full{grid-column:1/-1}.xl\:col-start-1{grid-column-start:1}.xl\:col-start-2{grid-column-start:2}.xl\:col-start-3{grid-column-start:3}.xl\:col-start-4{grid-column-start:4}.xl\:col-start-5{grid-column-start:5}.xl\:col-start-6{grid-column-start:6}.xl\:col-start-7{grid-column-start:7}.xl\:col-start-8{grid-column-start:8}.xl\:col-start-9{grid-column-start:9}.xl\:col-start-10{grid-column-start:10}.xl\:col-start-11{grid-column-start:11}.xl\:col-start-12{grid-column-start:12}.xl\:col-start-13{grid-column-start:13}.xl\:col-start-auto{grid-column-start:auto}.xl\:col-end-1{grid-column-end:1}.xl\:col-end-2{grid-column-end:2}.xl\:col-end-3{grid-column-end:3}.xl\:col-end-4{grid-column-end:4}.xl\:col-end-5{grid-column-end:5}.xl\:col-end-6{grid-column-end:6}.xl\:col-end-7{grid-column-end:7}.xl\:col-end-8{grid-column-end:8}.xl\:col-end-9{grid-column-end:9}.xl\:col-end-10{grid-column-end:10}.xl\:col-end-11{grid-column-end:11}.xl\:col-end-12{grid-column-end:12}.xl\:col-end-13{grid-column-end:13}.xl\:col-end-auto{grid-column-end:auto}.xl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xl\:grid-rows-none{grid-template-rows:none}.xl\:auto-rows-auto{grid-auto-rows:auto}.xl\:auto-rows-min{grid-auto-rows:min-content}.xl\:auto-rows-max{grid-auto-rows:max-content}.xl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xl\:row-auto{grid-row:auto}.xl\:row-span-1{grid-row:span 1/span 1}.xl\:row-span-2{grid-row:span 2/span 2}.xl\:row-span-3{grid-row:span 3/span 3}.xl\:row-span-4{grid-row:span 4/span 4}.xl\:row-span-5{grid-row:span 5/span 5}.xl\:row-span-6{grid-row:span 6/span 6}.xl\:row-span-full{grid-row:1/-1}.xl\:row-start-1{grid-row-start:1}.xl\:row-start-2{grid-row-start:2}.xl\:row-start-3{grid-row-start:3}.xl\:row-start-4{grid-row-start:4}.xl\:row-start-5{grid-row-start:5}.xl\:row-start-6{grid-row-start:6}.xl\:row-start-7{grid-row-start:7}.xl\:row-start-auto{grid-row-start:auto}.xl\:row-end-1{grid-row-end:1}.xl\:row-end-2{grid-row-end:2}.xl\:row-end-3{grid-row-end:3}.xl\:row-end-4{grid-row-end:4}.xl\:row-end-5{grid-row-end:5}.xl\:row-end-6{grid-row-end:6}.xl\:row-end-7{grid-row-end:7}.xl\:row-end-auto{grid-row-end:auto}.xl\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xl\:transform-none{transform:none}.xl\:origin-center{transform-origin:center}.xl\:origin-top{transform-origin:top}.xl\:origin-top-right{transform-origin:top right}.xl\:origin-right{transform-origin:right}.xl\:origin-bottom-right{transform-origin:bottom right}.xl\:origin-bottom{transform-origin:bottom}.xl\:origin-bottom-left{transform-origin:bottom left}.xl\:origin-left{transform-origin:left}.xl\:origin-top-left{transform-origin:top left}.xl\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xl\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xl\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:scale-x-0{--transform-scale-x:0}.xl\:scale-x-50{--transform-scale-x:.5}.xl\:scale-x-75{--transform-scale-x:.75}.xl\:scale-x-90{--transform-scale-x:.9}.xl\:scale-x-95{--transform-scale-x:.95}.xl\:scale-x-100{--transform-scale-x:1}.xl\:scale-x-105{--transform-scale-x:1.05}.xl\:scale-x-110{--transform-scale-x:1.1}.xl\:scale-x-125{--transform-scale-x:1.25}.xl\:scale-x-150{--transform-scale-x:1.5}.xl\:scale-y-0{--transform-scale-y:0}.xl\:scale-y-50{--transform-scale-y:.5}.xl\:scale-y-75{--transform-scale-y:.75}.xl\:scale-y-90{--transform-scale-y:.9}.xl\:scale-y-95{--transform-scale-y:.95}.xl\:scale-y-100{--transform-scale-y:1}.xl\:scale-y-105{--transform-scale-y:1.05}.xl\:scale-y-110{--transform-scale-y:1.1}.xl\:scale-y-125{--transform-scale-y:1.25}.xl\:scale-y-150{--transform-scale-y:1.5}.xl\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xl\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xl\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:hover\:scale-x-0:hover{--transform-scale-x:0}.xl\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xl\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xl\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xl\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xl\:hover\:scale-x-100:hover{--transform-scale-x:1}.xl\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xl\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xl\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xl\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xl\:hover\:scale-y-0:hover{--transform-scale-y:0}.xl\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xl\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xl\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xl\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xl\:hover\:scale-y-100:hover{--transform-scale-y:1}.xl\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xl\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xl\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xl\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xl\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xl\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xl\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xl\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xl\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xl\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xl\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xl\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xl\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xl\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xl\:focus\:scale-x-0:focus{--transform-scale-x:0}.xl\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xl\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xl\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xl\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xl\:focus\:scale-x-100:focus{--transform-scale-x:1}.xl\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xl\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xl\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xl\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xl\:focus\:scale-y-0:focus{--transform-scale-y:0}.xl\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xl\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xl\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xl\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xl\:focus\:scale-y-100:focus{--transform-scale-y:1}.xl\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xl\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xl\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xl\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xl\:rotate-0{--transform-rotate:0}.xl\:rotate-1{--transform-rotate:1deg}.xl\:rotate-2{--transform-rotate:2deg}.xl\:rotate-3{--transform-rotate:3deg}.xl\:rotate-6{--transform-rotate:6deg}.xl\:rotate-12{--transform-rotate:12deg}.xl\:rotate-45{--transform-rotate:45deg}.xl\:rotate-90{--transform-rotate:90deg}.xl\:rotate-180{--transform-rotate:180deg}.xl\:-rotate-180{--transform-rotate:-180deg}.xl\:-rotate-90{--transform-rotate:-90deg}.xl\:-rotate-45{--transform-rotate:-45deg}.xl\:-rotate-12{--transform-rotate:-12deg}.xl\:-rotate-6{--transform-rotate:-6deg}.xl\:-rotate-3{--transform-rotate:-3deg}.xl\:-rotate-2{--transform-rotate:-2deg}.xl\:-rotate-1{--transform-rotate:-1deg}.xl\:hover\:rotate-0:hover{--transform-rotate:0}.xl\:hover\:rotate-1:hover{--transform-rotate:1deg}.xl\:hover\:rotate-2:hover{--transform-rotate:2deg}.xl\:hover\:rotate-3:hover{--transform-rotate:3deg}.xl\:hover\:rotate-6:hover{--transform-rotate:6deg}.xl\:hover\:rotate-12:hover{--transform-rotate:12deg}.xl\:hover\:rotate-45:hover{--transform-rotate:45deg}.xl\:hover\:rotate-90:hover{--transform-rotate:90deg}.xl\:hover\:rotate-180:hover{--transform-rotate:180deg}.xl\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xl\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xl\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xl\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xl\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xl\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xl\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xl\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xl\:focus\:rotate-0:focus{--transform-rotate:0}.xl\:focus\:rotate-1:focus{--transform-rotate:1deg}.xl\:focus\:rotate-2:focus{--transform-rotate:2deg}.xl\:focus\:rotate-3:focus{--transform-rotate:3deg}.xl\:focus\:rotate-6:focus{--transform-rotate:6deg}.xl\:focus\:rotate-12:focus{--transform-rotate:12deg}.xl\:focus\:rotate-45:focus{--transform-rotate:45deg}.xl\:focus\:rotate-90:focus{--transform-rotate:90deg}.xl\:focus\:rotate-180:focus{--transform-rotate:180deg}.xl\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xl\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xl\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xl\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xl\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xl\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xl\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xl\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xl\:translate-x-0{--transform-translate-x:0}.xl\:translate-x-1{--transform-translate-x:0.25rem}.xl\:translate-x-2{--transform-translate-x:0.5rem}.xl\:translate-x-3{--transform-translate-x:0.75rem}.xl\:translate-x-4{--transform-translate-x:1rem}.xl\:translate-x-5{--transform-translate-x:1.25rem}.xl\:translate-x-6{--transform-translate-x:1.5rem}.xl\:translate-x-8{--transform-translate-x:2rem}.xl\:translate-x-10{--transform-translate-x:2.5rem}.xl\:translate-x-12{--transform-translate-x:3rem}.xl\:translate-x-16{--transform-translate-x:4rem}.xl\:translate-x-20{--transform-translate-x:5rem}.xl\:translate-x-24{--transform-translate-x:6rem}.xl\:translate-x-32{--transform-translate-x:8rem}.xl\:translate-x-40{--transform-translate-x:10rem}.xl\:translate-x-48{--transform-translate-x:12rem}.xl\:translate-x-56{--transform-translate-x:14rem}.xl\:translate-x-64{--transform-translate-x:16rem}.xl\:translate-x-px{--transform-translate-x:1px}.xl\:-translate-x-1{--transform-translate-x:-0.25rem}.xl\:-translate-x-2{--transform-translate-x:-0.5rem}.xl\:-translate-x-3{--transform-translate-x:-0.75rem}.xl\:-translate-x-4{--transform-translate-x:-1rem}.xl\:-translate-x-5{--transform-translate-x:-1.25rem}.xl\:-translate-x-6{--transform-translate-x:-1.5rem}.xl\:-translate-x-8{--transform-translate-x:-2rem}.xl\:-translate-x-10{--transform-translate-x:-2.5rem}.xl\:-translate-x-12{--transform-translate-x:-3rem}.xl\:-translate-x-16{--transform-translate-x:-4rem}.xl\:-translate-x-20{--transform-translate-x:-5rem}.xl\:-translate-x-24{--transform-translate-x:-6rem}.xl\:-translate-x-32{--transform-translate-x:-8rem}.xl\:-translate-x-40{--transform-translate-x:-10rem}.xl\:-translate-x-48{--transform-translate-x:-12rem}.xl\:-translate-x-56{--transform-translate-x:-14rem}.xl\:-translate-x-64{--transform-translate-x:-16rem}.xl\:-translate-x-px{--transform-translate-x:-1px}.xl\:-translate-x-full{--transform-translate-x:-100%}.xl\:-translate-x-1\/2{--transform-translate-x:-50%}.xl\:translate-x-1\/2{--transform-translate-x:50%}.xl\:translate-x-full{--transform-translate-x:100%}.xl\:translate-y-0{--transform-translate-y:0}.xl\:translate-y-1{--transform-translate-y:0.25rem}.xl\:translate-y-2{--transform-translate-y:0.5rem}.xl\:translate-y-3{--transform-translate-y:0.75rem}.xl\:translate-y-4{--transform-translate-y:1rem}.xl\:translate-y-5{--transform-translate-y:1.25rem}.xl\:translate-y-6{--transform-translate-y:1.5rem}.xl\:translate-y-8{--transform-translate-y:2rem}.xl\:translate-y-10{--transform-translate-y:2.5rem}.xl\:translate-y-12{--transform-translate-y:3rem}.xl\:translate-y-16{--transform-translate-y:4rem}.xl\:translate-y-20{--transform-translate-y:5rem}.xl\:translate-y-24{--transform-translate-y:6rem}.xl\:translate-y-32{--transform-translate-y:8rem}.xl\:translate-y-40{--transform-translate-y:10rem}.xl\:translate-y-48{--transform-translate-y:12rem}.xl\:translate-y-56{--transform-translate-y:14rem}.xl\:translate-y-64{--transform-translate-y:16rem}.xl\:translate-y-px{--transform-translate-y:1px}.xl\:-translate-y-1{--transform-translate-y:-0.25rem}.xl\:-translate-y-2{--transform-translate-y:-0.5rem}.xl\:-translate-y-3{--transform-translate-y:-0.75rem}.xl\:-translate-y-4{--transform-translate-y:-1rem}.xl\:-translate-y-5{--transform-translate-y:-1.25rem}.xl\:-translate-y-6{--transform-translate-y:-1.5rem}.xl\:-translate-y-8{--transform-translate-y:-2rem}.xl\:-translate-y-10{--transform-translate-y:-2.5rem}.xl\:-translate-y-12{--transform-translate-y:-3rem}.xl\:-translate-y-16{--transform-translate-y:-4rem}.xl\:-translate-y-20{--transform-translate-y:-5rem}.xl\:-translate-y-24{--transform-translate-y:-6rem}.xl\:-translate-y-32{--transform-translate-y:-8rem}.xl\:-translate-y-40{--transform-translate-y:-10rem}.xl\:-translate-y-48{--transform-translate-y:-12rem}.xl\:-translate-y-56{--transform-translate-y:-14rem}.xl\:-translate-y-64{--transform-translate-y:-16rem}.xl\:-translate-y-px{--transform-translate-y:-1px}.xl\:-translate-y-full{--transform-translate-y:-100%}.xl\:-translate-y-1\/2{--transform-translate-y:-50%}.xl\:translate-y-1\/2{--transform-translate-y:50%}.xl\:translate-y-full{--transform-translate-y:100%}.xl\:hover\:translate-x-0:hover{--transform-translate-x:0}.xl\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xl\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xl\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xl\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xl\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xl\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xl\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xl\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xl\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xl\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xl\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xl\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xl\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xl\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xl\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xl\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xl\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xl\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xl\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xl\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xl\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xl\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xl\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xl\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xl\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xl\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xl\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xl\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xl\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xl\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xl\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xl\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xl\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xl\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xl\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xl\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xl\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xl\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xl\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xl\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xl\:hover\:translate-y-0:hover{--transform-translate-y:0}.xl\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xl\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xl\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xl\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xl\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xl\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xl\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xl\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xl\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xl\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xl\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xl\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xl\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xl\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xl\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xl\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xl\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xl\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xl\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xl\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xl\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xl\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xl\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xl\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xl\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xl\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xl\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xl\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xl\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xl\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xl\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xl\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xl\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xl\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xl\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xl\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xl\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xl\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xl\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xl\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xl\:focus\:translate-x-0:focus{--transform-translate-x:0}.xl\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xl\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xl\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xl\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xl\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xl\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xl\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xl\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xl\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xl\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xl\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xl\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xl\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xl\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xl\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xl\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xl\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xl\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xl\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xl\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xl\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xl\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xl\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xl\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xl\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xl\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xl\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xl\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xl\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xl\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xl\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xl\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xl\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xl\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xl\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xl\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xl\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xl\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xl\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xl\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xl\:focus\:translate-y-0:focus{--transform-translate-y:0}.xl\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xl\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xl\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xl\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xl\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xl\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xl\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xl\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xl\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xl\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xl\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xl\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xl\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xl\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xl\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xl\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xl\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xl\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xl\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xl\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xl\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xl\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xl\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xl\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xl\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xl\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xl\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xl\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xl\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xl\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xl\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xl\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xl\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xl\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xl\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xl\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xl\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xl\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xl\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xl\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xl\:skew-x-0{--transform-skew-x:0}.xl\:skew-x-1{--transform-skew-x:1deg}.xl\:skew-x-2{--transform-skew-x:2deg}.xl\:skew-x-3{--transform-skew-x:3deg}.xl\:skew-x-6{--transform-skew-x:6deg}.xl\:skew-x-12{--transform-skew-x:12deg}.xl\:-skew-x-12{--transform-skew-x:-12deg}.xl\:-skew-x-6{--transform-skew-x:-6deg}.xl\:-skew-x-3{--transform-skew-x:-3deg}.xl\:-skew-x-2{--transform-skew-x:-2deg}.xl\:-skew-x-1{--transform-skew-x:-1deg}.xl\:skew-y-0{--transform-skew-y:0}.xl\:skew-y-1{--transform-skew-y:1deg}.xl\:skew-y-2{--transform-skew-y:2deg}.xl\:skew-y-3{--transform-skew-y:3deg}.xl\:skew-y-6{--transform-skew-y:6deg}.xl\:skew-y-12{--transform-skew-y:12deg}.xl\:-skew-y-12{--transform-skew-y:-12deg}.xl\:-skew-y-6{--transform-skew-y:-6deg}.xl\:-skew-y-3{--transform-skew-y:-3deg}.xl\:-skew-y-2{--transform-skew-y:-2deg}.xl\:-skew-y-1{--transform-skew-y:-1deg}.xl\:hover\:skew-x-0:hover{--transform-skew-x:0}.xl\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xl\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xl\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xl\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xl\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xl\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xl\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xl\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xl\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xl\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xl\:hover\:skew-y-0:hover{--transform-skew-y:0}.xl\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xl\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xl\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xl\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xl\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xl\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xl\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xl\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xl\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xl\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xl\:focus\:skew-x-0:focus{--transform-skew-x:0}.xl\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xl\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xl\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xl\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xl\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xl\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xl\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xl\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xl\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xl\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xl\:focus\:skew-y-0:focus{--transform-skew-y:0}.xl\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xl\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xl\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xl\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xl\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xl\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xl\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xl\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xl\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xl\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xl\:transition-none{transition-property:none}.xl\:transition-all{transition-property:all}.xl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xl\:transition-opacity{transition-property:opacity}.xl\:transition-shadow{transition-property:box-shadow}.xl\:transition-transform{transition-property:transform}.xl\:ease-linear{transition-timing-function:linear}.xl\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xl\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xl\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xl\:duration-75{transition-duration:75ms}.xl\:duration-100{transition-duration:.1s}.xl\:duration-150{transition-duration:.15s}.xl\:duration-200{transition-duration:.2s}.xl\:duration-300{transition-duration:.3s}.xl\:duration-500{transition-duration:.5s}.xl\:duration-700{transition-duration:.7s}.xl\:duration-1000{transition-duration:1s}.xl\:delay-75{transition-delay:75ms}.xl\:delay-100{transition-delay:.1s}.xl\:delay-150{transition-delay:.15s}.xl\:delay-200{transition-delay:.2s}.xl\:delay-300{transition-delay:.3s}.xl\:delay-500{transition-delay:.5s}.xl\:delay-700{transition-delay:.7s}.xl\:delay-1000{transition-delay:1s}.xl\:animate-none{animation:none}.xl\:animate-spin{animation:spin 1s linear infinite}.xl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xl\:animate-bounce{animation:bounce 1s infinite}}@media (min-width:1480px){.xxl\:container{width:100%}@media (min-width:360px){.xxl\:container{max-width:360px}}@media (min-width:640px){.xxl\:container{max-width:640px}}@media (min-width:768px){.xxl\:container{max-width:768px}}@media (min-width:1024px){.xxl\:container{max-width:1024px}}@media (min-width:1280px){.xxl\:container{max-width:1280px}}@media (min-width:1480px){.xxl\:container{max-width:1480px}}.xxl\:space-y-0>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0px*(1 - var(--space-y-reverse)));margin-bottom:calc(0px*var(--space-y-reverse))}.xxl\:space-x-0>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0px*var(--space-x-reverse));margin-left:calc(0px*(1 - var(--space-x-reverse)))}.xxl\:space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.25rem*var(--space-y-reverse))}.xxl\:space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.25rem*var(--space-x-reverse));margin-left:calc(0.25rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.5rem*var(--space-y-reverse))}.xxl\:space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(0.75rem*var(--space-y-reverse))}.xxl\:space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.75rem*var(--space-x-reverse));margin-left:calc(0.75rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}.xxl\:space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem*var(--space-y-reverse))}.xxl\:space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem*var(--space-x-reverse));margin-left:calc(1.25rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.xxl\:space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.5rem*var(--space-x-reverse));margin-left:calc(1.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2rem*var(--space-y-reverse))}.xxl\:space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2rem*var(--space-x-reverse));margin-left:calc(2rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(2.5rem*var(--space-y-reverse))}.xxl\:space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(2.5rem*var(--space-x-reverse));margin-left:calc(2.5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(3rem*var(--space-y-reverse))}.xxl\:space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(3rem*var(--space-x-reverse));margin-left:calc(3rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(4rem*var(--space-y-reverse))}.xxl\:space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(4rem*var(--space-x-reverse));margin-left:calc(4rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(5rem*var(--space-y-reverse))}.xxl\:space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(5rem*var(--space-x-reverse));margin-left:calc(5rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(6rem*var(--space-y-reverse))}.xxl\:space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(6rem*var(--space-x-reverse));margin-left:calc(6rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(8rem*var(--space-y-reverse))}.xxl\:space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(8rem*var(--space-x-reverse));margin-left:calc(8rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(10rem*var(--space-y-reverse))}.xxl\:space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(10rem*var(--space-x-reverse));margin-left:calc(10rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(12rem*var(--space-y-reverse))}.xxl\:space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(12rem*var(--space-x-reverse));margin-left:calc(12rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(14rem*var(--space-y-reverse))}.xxl\:space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(14rem*var(--space-x-reverse));margin-left:calc(14rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(16rem*var(--space-y-reverse))}.xxl\:space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(16rem*var(--space-x-reverse));margin-left:calc(16rem*(1 - var(--space-x-reverse)))}.xxl\:space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1px*(1 - var(--space-y-reverse)));margin-bottom:calc(1px*var(--space-y-reverse))}.xxl\:space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1px*var(--space-x-reverse));margin-left:calc(1px*(1 - var(--space-x-reverse)))}.xxl\:-space-y-1>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.25rem*var(--space-y-reverse))}.xxl\:-space-x-1>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.25rem*var(--space-x-reverse));margin-left:calc(-0.25rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-2>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.5rem*var(--space-y-reverse))}.xxl\:-space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.5rem*var(--space-x-reverse));margin-left:calc(-0.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-3>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-0.75rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-0.75rem*var(--space-y-reverse))}.xxl\:-space-x-3>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-0.75rem*var(--space-x-reverse));margin-left:calc(-0.75rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-4>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1rem*var(--space-y-reverse))}.xxl\:-space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1rem*var(--space-x-reverse));margin-left:calc(-1rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.25rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.25rem*var(--space-y-reverse))}.xxl\:-space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.25rem*var(--space-x-reverse));margin-left:calc(-1.25rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-6>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-1.5rem*var(--space-y-reverse))}.xxl\:-space-x-6>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1.5rem*var(--space-x-reverse));margin-left:calc(-1.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-8>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2rem*var(--space-y-reverse))}.xxl\:-space-x-8>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2rem*var(--space-x-reverse));margin-left:calc(-2rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-10>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-2.5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-2.5rem*var(--space-y-reverse))}.xxl\:-space-x-10>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-2.5rem*var(--space-x-reverse));margin-left:calc(-2.5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-12>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-3rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-3rem*var(--space-y-reverse))}.xxl\:-space-x-12>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-3rem*var(--space-x-reverse));margin-left:calc(-3rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-16>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-4rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-4rem*var(--space-y-reverse))}.xxl\:-space-x-16>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-4rem*var(--space-x-reverse));margin-left:calc(-4rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-20>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-5rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-5rem*var(--space-y-reverse))}.xxl\:-space-x-20>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-5rem*var(--space-x-reverse));margin-left:calc(-5rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-24>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-6rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-6rem*var(--space-y-reverse))}.xxl\:-space-x-24>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-6rem*var(--space-x-reverse));margin-left:calc(-6rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-32>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-8rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-8rem*var(--space-y-reverse))}.xxl\:-space-x-32>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-8rem*var(--space-x-reverse));margin-left:calc(-8rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-40>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-10rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-10rem*var(--space-y-reverse))}.xxl\:-space-x-40>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-10rem*var(--space-x-reverse));margin-left:calc(-10rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-48>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-12rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-12rem*var(--space-y-reverse))}.xxl\:-space-x-48>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-12rem*var(--space-x-reverse));margin-left:calc(-12rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-56>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-14rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-14rem*var(--space-y-reverse))}.xxl\:-space-x-56>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-14rem*var(--space-x-reverse));margin-left:calc(-14rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-64>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-16rem*(1 - var(--space-y-reverse)));margin-bottom:calc(-16rem*var(--space-y-reverse))}.xxl\:-space-x-64>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-16rem*var(--space-x-reverse));margin-left:calc(-16rem*(1 - var(--space-x-reverse)))}.xxl\:-space-y-px>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(-1px*(1 - var(--space-y-reverse)));margin-bottom:calc(-1px*var(--space-y-reverse))}.xxl\:-space-x-px>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(-1px*var(--space-x-reverse));margin-left:calc(-1px*(1 - var(--space-x-reverse)))}.xxl\:space-y-reverse>:not(template)~:not(template){--space-y-reverse:1}.xxl\:space-x-reverse>:not(template)~:not(template){--space-x-reverse:1}.xxl\:divide-y-0>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(0px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(0px*var(--divide-y-reverse))}.xxl\:divide-x-0>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(0px*var(--divide-x-reverse));border-left-width:calc(0px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-2>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(2px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(2px*var(--divide-y-reverse))}.xxl\:divide-x-2>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(2px*var(--divide-x-reverse));border-left-width:calc(2px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-4>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(4px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(4px*var(--divide-y-reverse))}.xxl\:divide-x-4>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(4px*var(--divide-x-reverse));border-left-width:calc(4px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-8>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(8px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(8px*var(--divide-y-reverse))}.xxl\:divide-x-8>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(8px*var(--divide-x-reverse));border-left-width:calc(8px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y>:not(template)~:not(template){--divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--divide-y-reverse)));border-bottom-width:calc(1px*var(--divide-y-reverse))}.xxl\:divide-x>:not(template)~:not(template){--divide-x-reverse:0;border-right-width:calc(1px*var(--divide-x-reverse));border-left-width:calc(1px*(1 - var(--divide-x-reverse)))}.xxl\:divide-y-reverse>:not(template)~:not(template){--divide-y-reverse:1}.xxl\:divide-x-reverse>:not(template)~:not(template){--divide-x-reverse:1}.xxl\:divide-transparent>:not(template)~:not(template){border-color:transparent}.xxl\:divide-current>:not(template)~:not(template){border-color:currentColor}.xxl\:divide-black>:not(template)~:not(template){--divide-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--divide-opacity))}.xxl\:divide-white>:not(template)~:not(template){--divide-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--divide-opacity))}.xxl\:divide-gray-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--divide-opacity))}.xxl\:divide-gray-200>:not(template)~:not(template){--divide-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--divide-opacity))}.xxl\:divide-gray-300>:not(template)~:not(template){--divide-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--divide-opacity))}.xxl\:divide-gray-400>:not(template)~:not(template){--divide-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--divide-opacity))}.xxl\:divide-gray-500>:not(template)~:not(template){--divide-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--divide-opacity))}.xxl\:divide-gray-600>:not(template)~:not(template){--divide-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--divide-opacity))}.xxl\:divide-gray-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--divide-opacity))}.xxl\:divide-gray-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--divide-opacity))}.xxl\:divide-gray-900>:not(template)~:not(template){--divide-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--divide-opacity))}.xxl\:divide-red-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--divide-opacity))}.xxl\:divide-red-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--divide-opacity))}.xxl\:divide-red-300>:not(template)~:not(template){--divide-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--divide-opacity))}.xxl\:divide-red-400>:not(template)~:not(template){--divide-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--divide-opacity))}.xxl\:divide-red-500>:not(template)~:not(template){--divide-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--divide-opacity))}.xxl\:divide-red-600>:not(template)~:not(template){--divide-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--divide-opacity))}.xxl\:divide-red-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--divide-opacity))}.xxl\:divide-red-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--divide-opacity))}.xxl\:divide-red-900>:not(template)~:not(template){--divide-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--divide-opacity))}.xxl\:divide-orange-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--divide-opacity))}.xxl\:divide-orange-200>:not(template)~:not(template){--divide-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--divide-opacity))}.xxl\:divide-orange-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--divide-opacity))}.xxl\:divide-orange-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--divide-opacity))}.xxl\:divide-orange-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--divide-opacity))}.xxl\:divide-orange-600>:not(template)~:not(template){--divide-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--divide-opacity))}.xxl\:divide-orange-700>:not(template)~:not(template){--divide-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--divide-opacity))}.xxl\:divide-orange-800>:not(template)~:not(template){--divide-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--divide-opacity))}.xxl\:divide-orange-900>:not(template)~:not(template){--divide-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--divide-opacity))}.xxl\:divide-yellow-100>:not(template)~:not(template){--divide-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--divide-opacity))}.xxl\:divide-yellow-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--divide-opacity))}.xxl\:divide-yellow-300>:not(template)~:not(template){--divide-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--divide-opacity))}.xxl\:divide-yellow-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--divide-opacity))}.xxl\:divide-yellow-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--divide-opacity))}.xxl\:divide-yellow-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--divide-opacity))}.xxl\:divide-yellow-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--divide-opacity))}.xxl\:divide-yellow-800>:not(template)~:not(template){--divide-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--divide-opacity))}.xxl\:divide-yellow-900>:not(template)~:not(template){--divide-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--divide-opacity))}.xxl\:divide-green-100>:not(template)~:not(template){--divide-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--divide-opacity))}.xxl\:divide-green-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--divide-opacity))}.xxl\:divide-green-300>:not(template)~:not(template){--divide-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--divide-opacity))}.xxl\:divide-green-400>:not(template)~:not(template){--divide-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--divide-opacity))}.xxl\:divide-green-500>:not(template)~:not(template){--divide-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--divide-opacity))}.xxl\:divide-green-600>:not(template)~:not(template){--divide-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--divide-opacity))}.xxl\:divide-green-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--divide-opacity))}.xxl\:divide-green-800>:not(template)~:not(template){--divide-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--divide-opacity))}.xxl\:divide-green-900>:not(template)~:not(template){--divide-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--divide-opacity))}.xxl\:divide-teal-100>:not(template)~:not(template){--divide-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--divide-opacity))}.xxl\:divide-teal-200>:not(template)~:not(template){--divide-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--divide-opacity))}.xxl\:divide-teal-300>:not(template)~:not(template){--divide-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--divide-opacity))}.xxl\:divide-teal-400>:not(template)~:not(template){--divide-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--divide-opacity))}.xxl\:divide-teal-500>:not(template)~:not(template){--divide-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--divide-opacity))}.xxl\:divide-teal-600>:not(template)~:not(template){--divide-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--divide-opacity))}.xxl\:divide-teal-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--divide-opacity))}.xxl\:divide-teal-800>:not(template)~:not(template){--divide-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--divide-opacity))}.xxl\:divide-teal-900>:not(template)~:not(template){--divide-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--divide-opacity))}.xxl\:divide-blue-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--divide-opacity))}.xxl\:divide-blue-200>:not(template)~:not(template){--divide-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--divide-opacity))}.xxl\:divide-blue-300>:not(template)~:not(template){--divide-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--divide-opacity))}.xxl\:divide-blue-400>:not(template)~:not(template){--divide-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--divide-opacity))}.xxl\:divide-blue-500>:not(template)~:not(template){--divide-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--divide-opacity))}.xxl\:divide-blue-600>:not(template)~:not(template){--divide-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--divide-opacity))}.xxl\:divide-blue-700>:not(template)~:not(template){--divide-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--divide-opacity))}.xxl\:divide-blue-800>:not(template)~:not(template){--divide-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--divide-opacity))}.xxl\:divide-blue-900>:not(template)~:not(template){--divide-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--divide-opacity))}.xxl\:divide-indigo-100>:not(template)~:not(template){--divide-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--divide-opacity))}.xxl\:divide-indigo-200>:not(template)~:not(template){--divide-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--divide-opacity))}.xxl\:divide-indigo-300>:not(template)~:not(template){--divide-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--divide-opacity))}.xxl\:divide-indigo-400>:not(template)~:not(template){--divide-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--divide-opacity))}.xxl\:divide-indigo-500>:not(template)~:not(template){--divide-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--divide-opacity))}.xxl\:divide-indigo-600>:not(template)~:not(template){--divide-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--divide-opacity))}.xxl\:divide-indigo-700>:not(template)~:not(template){--divide-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--divide-opacity))}.xxl\:divide-indigo-800>:not(template)~:not(template){--divide-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--divide-opacity))}.xxl\:divide-indigo-900>:not(template)~:not(template){--divide-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--divide-opacity))}.xxl\:divide-purple-100>:not(template)~:not(template){--divide-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--divide-opacity))}.xxl\:divide-purple-200>:not(template)~:not(template){--divide-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--divide-opacity))}.xxl\:divide-purple-300>:not(template)~:not(template){--divide-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--divide-opacity))}.xxl\:divide-purple-400>:not(template)~:not(template){--divide-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--divide-opacity))}.xxl\:divide-purple-500>:not(template)~:not(template){--divide-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--divide-opacity))}.xxl\:divide-purple-600>:not(template)~:not(template){--divide-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--divide-opacity))}.xxl\:divide-purple-700>:not(template)~:not(template){--divide-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--divide-opacity))}.xxl\:divide-purple-800>:not(template)~:not(template){--divide-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--divide-opacity))}.xxl\:divide-purple-900>:not(template)~:not(template){--divide-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--divide-opacity))}.xxl\:divide-pink-100>:not(template)~:not(template){--divide-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--divide-opacity))}.xxl\:divide-pink-200>:not(template)~:not(template){--divide-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--divide-opacity))}.xxl\:divide-pink-300>:not(template)~:not(template){--divide-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--divide-opacity))}.xxl\:divide-pink-400>:not(template)~:not(template){--divide-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--divide-opacity))}.xxl\:divide-pink-500>:not(template)~:not(template){--divide-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--divide-opacity))}.xxl\:divide-pink-600>:not(template)~:not(template){--divide-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--divide-opacity))}.xxl\:divide-pink-700>:not(template)~:not(template){--divide-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--divide-opacity))}.xxl\:divide-pink-800>:not(template)~:not(template){--divide-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--divide-opacity))}.xxl\:divide-pink-900>:not(template)~:not(template){--divide-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--divide-opacity))}.xxl\:divide-primary>:not(template)~:not(template){--divide-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--divide-opacity))}.xxl\:divide-secondary>:not(template)~:not(template){--divide-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--divide-opacity))}.xxl\:divide-greenish-blue>:not(template)~:not(template){--divide-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--divide-opacity))}.xxl\:divide-blue-gray>:not(template)~:not(template){--divide-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--divide-opacity))}.xxl\:divide-solid>:not(template)~:not(template){border-style:solid}.xxl\:divide-dashed>:not(template)~:not(template){border-style:dashed}.xxl\:divide-dotted>:not(template)~:not(template){border-style:dotted}.xxl\:divide-double>:not(template)~:not(template){border-style:double}.xxl\:divide-none>:not(template)~:not(template){border-style:none}.xxl\:divide-opacity-0>:not(template)~:not(template){--divide-opacity:0}.xxl\:divide-opacity-25>:not(template)~:not(template){--divide-opacity:0.25}.xxl\:divide-opacity-50>:not(template)~:not(template){--divide-opacity:0.5}.xxl\:divide-opacity-75>:not(template)~:not(template){--divide-opacity:0.75}.xxl\:divide-opacity-100>:not(template)~:not(template){--divide-opacity:1}.xxl\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xxl\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xxl\:focus\:sr-only:focus{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.xxl\:focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.xxl\:appearance-none{-webkit-appearance:none;appearance:none}.xxl\:bg-fixed{background-attachment:fixed}.xxl\:bg-local{background-attachment:local}.xxl\:bg-scroll{background-attachment:scroll}.xxl\:bg-clip-border{background-clip:border-box}.xxl\:bg-clip-padding{background-clip:padding-box}.xxl\:bg-clip-content{background-clip:content-box}.xxl\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.xxl\:bg-transparent{background-color:transparent}.xxl\:bg-current{background-color:currentColor}.xxl\:bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:bg-gray-300{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:bg-gray-400{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:bg-gray-500{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:bg-gray-600{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:bg-gray-700{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:bg-red-300{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:bg-red-400{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:bg-red-700{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:bg-red-800{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:bg-orange-300{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:bg-orange-400{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:bg-orange-500{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:bg-orange-600{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:bg-orange-700{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:bg-orange-800{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:bg-orange-900{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:bg-yellow-100{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:bg-yellow-200{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:bg-yellow-300{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:bg-yellow-400{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:bg-yellow-500{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:bg-yellow-600{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:bg-yellow-700{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:bg-yellow-800{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:bg-green-300{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:bg-green-400{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:bg-green-600{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:bg-green-700{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:bg-green-800{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:bg-teal-100{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:bg-teal-200{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:bg-teal-300{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:bg-teal-400{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:bg-teal-500{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:bg-teal-600{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:bg-teal-700{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:bg-teal-800{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:bg-teal-900{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:bg-blue-300{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:bg-blue-400{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:bg-blue-500{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:bg-blue-600{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:bg-blue-700{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:bg-blue-800{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:bg-indigo-100{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:bg-indigo-200{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:bg-indigo-300{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:bg-indigo-400{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:bg-indigo-500{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:bg-indigo-600{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:bg-indigo-700{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:bg-indigo-800{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:bg-indigo-900{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:bg-purple-100{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:bg-purple-200{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:bg-purple-300{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:bg-purple-400{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:bg-purple-500{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:bg-purple-600{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:bg-purple-700{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:bg-purple-800{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:bg-purple-900{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:bg-pink-100{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:bg-pink-200{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:bg-pink-300{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:bg-pink-400{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:bg-pink-500{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:bg-pink-600{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:bg-pink-700{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:bg-pink-800{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:bg-pink-900{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:bg-primary{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:bg-secondary{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:bg-greenish-blue{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:bg-blue-gray{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:hover\:bg-transparent:hover{background-color:transparent}.xxl\:hover\:bg-current:hover{background-color:currentColor}.xxl\:hover\:bg-black:hover{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:hover\:bg-white:hover{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:hover\:bg-gray-100:hover{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:hover\:bg-gray-200:hover{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:hover\:bg-gray-300:hover{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:hover\:bg-gray-400:hover{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:hover\:bg-gray-500:hover{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:hover\:bg-gray-600:hover{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:hover\:bg-gray-700:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:hover\:bg-gray-800:hover{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:hover\:bg-gray-900:hover{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:hover\:bg-red-100:hover{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:hover\:bg-red-200:hover{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:hover\:bg-red-300:hover{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:hover\:bg-red-400:hover{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:hover\:bg-red-500:hover{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:hover\:bg-red-600:hover{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:hover\:bg-red-700:hover{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:hover\:bg-red-800:hover{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:hover\:bg-red-900:hover{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:hover\:bg-orange-100:hover{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:hover\:bg-orange-200:hover{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:hover\:bg-orange-300:hover{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:hover\:bg-orange-400:hover{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:hover\:bg-orange-500:hover{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:hover\:bg-orange-600:hover{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:hover\:bg-orange-700:hover{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:hover\:bg-orange-800:hover{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:hover\:bg-orange-900:hover{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:hover\:bg-yellow-100:hover{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:hover\:bg-yellow-200:hover{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:hover\:bg-yellow-300:hover{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:hover\:bg-yellow-400:hover{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:hover\:bg-yellow-500:hover{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:hover\:bg-yellow-600:hover{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:hover\:bg-yellow-700:hover{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:hover\:bg-yellow-800:hover{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:hover\:bg-yellow-900:hover{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:hover\:bg-green-100:hover{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:hover\:bg-green-200:hover{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:hover\:bg-green-300:hover{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:hover\:bg-green-400:hover{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:hover\:bg-green-500:hover{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:hover\:bg-green-600:hover{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:hover\:bg-green-700:hover{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:hover\:bg-green-800:hover{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:hover\:bg-green-900:hover{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:hover\:bg-teal-100:hover{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:hover\:bg-teal-200:hover{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:hover\:bg-teal-300:hover{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:hover\:bg-teal-400:hover{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:hover\:bg-teal-500:hover{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:hover\:bg-teal-600:hover{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:hover\:bg-teal-700:hover{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:hover\:bg-teal-800:hover{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:hover\:bg-teal-900:hover{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:hover\:bg-blue-100:hover{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:hover\:bg-blue-200:hover{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:hover\:bg-blue-300:hover{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:hover\:bg-blue-400:hover{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:hover\:bg-blue-500:hover{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:hover\:bg-blue-600:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:hover\:bg-blue-700:hover{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:hover\:bg-blue-800:hover{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:hover\:bg-blue-900:hover{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:hover\:bg-indigo-100:hover{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:hover\:bg-indigo-200:hover{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:hover\:bg-indigo-300:hover{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:hover\:bg-indigo-400:hover{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:hover\:bg-indigo-500:hover{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:hover\:bg-indigo-600:hover{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:hover\:bg-indigo-700:hover{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:hover\:bg-indigo-800:hover{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:hover\:bg-indigo-900:hover{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:hover\:bg-purple-100:hover{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:hover\:bg-purple-200:hover{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:hover\:bg-purple-300:hover{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:hover\:bg-purple-400:hover{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:hover\:bg-purple-500:hover{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:hover\:bg-purple-600:hover{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:hover\:bg-purple-700:hover{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:hover\:bg-purple-800:hover{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:hover\:bg-purple-900:hover{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:hover\:bg-pink-100:hover{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:hover\:bg-pink-200:hover{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:hover\:bg-pink-300:hover{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:hover\:bg-pink-400:hover{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:hover\:bg-pink-500:hover{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:hover\:bg-pink-600:hover{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:hover\:bg-pink-700:hover{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:hover\:bg-pink-800:hover{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:hover\:bg-pink-900:hover{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:hover\:bg-primary:hover{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:hover\:bg-secondary:hover{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:hover\:bg-greenish-blue:hover{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:hover\:bg-blue-gray:hover{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:focus\:bg-transparent:focus{background-color:transparent}.xxl\:focus\:bg-current:focus{background-color:currentColor}.xxl\:focus\:bg-black:focus{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.xxl\:focus\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.xxl\:focus\:bg-gray-100:focus{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.xxl\:focus\:bg-gray-200:focus{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.xxl\:focus\:bg-gray-300:focus{--bg-opacity:1;background-color:#e2e8f0;background-color:rgba(226,232,240,var(--bg-opacity))}.xxl\:focus\:bg-gray-400:focus{--bg-opacity:1;background-color:#cbd5e0;background-color:rgba(203,213,224,var(--bg-opacity))}.xxl\:focus\:bg-gray-500:focus{--bg-opacity:1;background-color:#a0aec0;background-color:rgba(160,174,192,var(--bg-opacity))}.xxl\:focus\:bg-gray-600:focus{--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.xxl\:focus\:bg-gray-700:focus{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.xxl\:focus\:bg-gray-800:focus{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.xxl\:focus\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.xxl\:focus\:bg-red-100:focus{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.xxl\:focus\:bg-red-200:focus{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.xxl\:focus\:bg-red-300:focus{--bg-opacity:1;background-color:#feb2b2;background-color:rgba(254,178,178,var(--bg-opacity))}.xxl\:focus\:bg-red-400:focus{--bg-opacity:1;background-color:#fc8181;background-color:rgba(252,129,129,var(--bg-opacity))}.xxl\:focus\:bg-red-500:focus{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.xxl\:focus\:bg-red-600:focus{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.xxl\:focus\:bg-red-700:focus{--bg-opacity:1;background-color:#c53030;background-color:rgba(197,48,48,var(--bg-opacity))}.xxl\:focus\:bg-red-800:focus{--bg-opacity:1;background-color:#9b2c2c;background-color:rgba(155,44,44,var(--bg-opacity))}.xxl\:focus\:bg-red-900:focus{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.xxl\:focus\:bg-orange-100:focus{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.xxl\:focus\:bg-orange-200:focus{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.xxl\:focus\:bg-orange-300:focus{--bg-opacity:1;background-color:#fbd38d;background-color:rgba(251,211,141,var(--bg-opacity))}.xxl\:focus\:bg-orange-400:focus{--bg-opacity:1;background-color:#f6ad55;background-color:rgba(246,173,85,var(--bg-opacity))}.xxl\:focus\:bg-orange-500:focus{--bg-opacity:1;background-color:#ed8936;background-color:rgba(237,137,54,var(--bg-opacity))}.xxl\:focus\:bg-orange-600:focus{--bg-opacity:1;background-color:#dd6b20;background-color:rgba(221,107,32,var(--bg-opacity))}.xxl\:focus\:bg-orange-700:focus{--bg-opacity:1;background-color:#c05621;background-color:rgba(192,86,33,var(--bg-opacity))}.xxl\:focus\:bg-orange-800:focus{--bg-opacity:1;background-color:#9c4221;background-color:rgba(156,66,33,var(--bg-opacity))}.xxl\:focus\:bg-orange-900:focus{--bg-opacity:1;background-color:#7b341e;background-color:rgba(123,52,30,var(--bg-opacity))}.xxl\:focus\:bg-yellow-100:focus{--bg-opacity:1;background-color:ivory;background-color:rgba(255,255,240,var(--bg-opacity))}.xxl\:focus\:bg-yellow-200:focus{--bg-opacity:1;background-color:#fefcbf;background-color:rgba(254,252,191,var(--bg-opacity))}.xxl\:focus\:bg-yellow-300:focus{--bg-opacity:1;background-color:#faf089;background-color:rgba(250,240,137,var(--bg-opacity))}.xxl\:focus\:bg-yellow-400:focus{--bg-opacity:1;background-color:#f6e05e;background-color:rgba(246,224,94,var(--bg-opacity))}.xxl\:focus\:bg-yellow-500:focus{--bg-opacity:1;background-color:#ecc94b;background-color:rgba(236,201,75,var(--bg-opacity))}.xxl\:focus\:bg-yellow-600:focus{--bg-opacity:1;background-color:#d69e2e;background-color:rgba(214,158,46,var(--bg-opacity))}.xxl\:focus\:bg-yellow-700:focus{--bg-opacity:1;background-color:#b7791f;background-color:rgba(183,121,31,var(--bg-opacity))}.xxl\:focus\:bg-yellow-800:focus{--bg-opacity:1;background-color:#975a16;background-color:rgba(151,90,22,var(--bg-opacity))}.xxl\:focus\:bg-yellow-900:focus{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.xxl\:focus\:bg-green-100:focus{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.xxl\:focus\:bg-green-200:focus{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.xxl\:focus\:bg-green-300:focus{--bg-opacity:1;background-color:#9ae6b4;background-color:rgba(154,230,180,var(--bg-opacity))}.xxl\:focus\:bg-green-400:focus{--bg-opacity:1;background-color:#68d391;background-color:rgba(104,211,145,var(--bg-opacity))}.xxl\:focus\:bg-green-500:focus{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.xxl\:focus\:bg-green-600:focus{--bg-opacity:1;background-color:#38a169;background-color:rgba(56,161,105,var(--bg-opacity))}.xxl\:focus\:bg-green-700:focus{--bg-opacity:1;background-color:#2f855a;background-color:rgba(47,133,90,var(--bg-opacity))}.xxl\:focus\:bg-green-800:focus{--bg-opacity:1;background-color:#276749;background-color:rgba(39,103,73,var(--bg-opacity))}.xxl\:focus\:bg-green-900:focus{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.xxl\:focus\:bg-teal-100:focus{--bg-opacity:1;background-color:#e6fffa;background-color:rgba(230,255,250,var(--bg-opacity))}.xxl\:focus\:bg-teal-200:focus{--bg-opacity:1;background-color:#b2f5ea;background-color:rgba(178,245,234,var(--bg-opacity))}.xxl\:focus\:bg-teal-300:focus{--bg-opacity:1;background-color:#81e6d9;background-color:rgba(129,230,217,var(--bg-opacity))}.xxl\:focus\:bg-teal-400:focus{--bg-opacity:1;background-color:#4fd1c5;background-color:rgba(79,209,197,var(--bg-opacity))}.xxl\:focus\:bg-teal-500:focus{--bg-opacity:1;background-color:#38b2ac;background-color:rgba(56,178,172,var(--bg-opacity))}.xxl\:focus\:bg-teal-600:focus{--bg-opacity:1;background-color:#319795;background-color:rgba(49,151,149,var(--bg-opacity))}.xxl\:focus\:bg-teal-700:focus{--bg-opacity:1;background-color:#2c7a7b;background-color:rgba(44,122,123,var(--bg-opacity))}.xxl\:focus\:bg-teal-800:focus{--bg-opacity:1;background-color:#285e61;background-color:rgba(40,94,97,var(--bg-opacity))}.xxl\:focus\:bg-teal-900:focus{--bg-opacity:1;background-color:#234e52;background-color:rgba(35,78,82,var(--bg-opacity))}.xxl\:focus\:bg-blue-100:focus{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.xxl\:focus\:bg-blue-200:focus{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.xxl\:focus\:bg-blue-300:focus{--bg-opacity:1;background-color:#90cdf4;background-color:rgba(144,205,244,var(--bg-opacity))}.xxl\:focus\:bg-blue-400:focus{--bg-opacity:1;background-color:#63b3ed;background-color:rgba(99,179,237,var(--bg-opacity))}.xxl\:focus\:bg-blue-500:focus{--bg-opacity:1;background-color:#4299e1;background-color:rgba(66,153,225,var(--bg-opacity))}.xxl\:focus\:bg-blue-600:focus{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity))}.xxl\:focus\:bg-blue-700:focus{--bg-opacity:1;background-color:#2b6cb0;background-color:rgba(43,108,176,var(--bg-opacity))}.xxl\:focus\:bg-blue-800:focus{--bg-opacity:1;background-color:#2c5282;background-color:rgba(44,82,130,var(--bg-opacity))}.xxl\:focus\:bg-blue-900:focus{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.xxl\:focus\:bg-indigo-100:focus{--bg-opacity:1;background-color:#ebf4ff;background-color:rgba(235,244,255,var(--bg-opacity))}.xxl\:focus\:bg-indigo-200:focus{--bg-opacity:1;background-color:#c3dafe;background-color:rgba(195,218,254,var(--bg-opacity))}.xxl\:focus\:bg-indigo-300:focus{--bg-opacity:1;background-color:#a3bffa;background-color:rgba(163,191,250,var(--bg-opacity))}.xxl\:focus\:bg-indigo-400:focus{--bg-opacity:1;background-color:#7f9cf5;background-color:rgba(127,156,245,var(--bg-opacity))}.xxl\:focus\:bg-indigo-500:focus{--bg-opacity:1;background-color:#667eea;background-color:rgba(102,126,234,var(--bg-opacity))}.xxl\:focus\:bg-indigo-600:focus{--bg-opacity:1;background-color:#5a67d8;background-color:rgba(90,103,216,var(--bg-opacity))}.xxl\:focus\:bg-indigo-700:focus{--bg-opacity:1;background-color:#4c51bf;background-color:rgba(76,81,191,var(--bg-opacity))}.xxl\:focus\:bg-indigo-800:focus{--bg-opacity:1;background-color:#434190;background-color:rgba(67,65,144,var(--bg-opacity))}.xxl\:focus\:bg-indigo-900:focus{--bg-opacity:1;background-color:#3c366b;background-color:rgba(60,54,107,var(--bg-opacity))}.xxl\:focus\:bg-purple-100:focus{--bg-opacity:1;background-color:#faf5ff;background-color:rgba(250,245,255,var(--bg-opacity))}.xxl\:focus\:bg-purple-200:focus{--bg-opacity:1;background-color:#e9d8fd;background-color:rgba(233,216,253,var(--bg-opacity))}.xxl\:focus\:bg-purple-300:focus{--bg-opacity:1;background-color:#d6bcfa;background-color:rgba(214,188,250,var(--bg-opacity))}.xxl\:focus\:bg-purple-400:focus{--bg-opacity:1;background-color:#b794f4;background-color:rgba(183,148,244,var(--bg-opacity))}.xxl\:focus\:bg-purple-500:focus{--bg-opacity:1;background-color:#9f7aea;background-color:rgba(159,122,234,var(--bg-opacity))}.xxl\:focus\:bg-purple-600:focus{--bg-opacity:1;background-color:#805ad5;background-color:rgba(128,90,213,var(--bg-opacity))}.xxl\:focus\:bg-purple-700:focus{--bg-opacity:1;background-color:#6b46c1;background-color:rgba(107,70,193,var(--bg-opacity))}.xxl\:focus\:bg-purple-800:focus{--bg-opacity:1;background-color:#553c9a;background-color:rgba(85,60,154,var(--bg-opacity))}.xxl\:focus\:bg-purple-900:focus{--bg-opacity:1;background-color:#44337a;background-color:rgba(68,51,122,var(--bg-opacity))}.xxl\:focus\:bg-pink-100:focus{--bg-opacity:1;background-color:#fff5f7;background-color:rgba(255,245,247,var(--bg-opacity))}.xxl\:focus\:bg-pink-200:focus{--bg-opacity:1;background-color:#fed7e2;background-color:rgba(254,215,226,var(--bg-opacity))}.xxl\:focus\:bg-pink-300:focus{--bg-opacity:1;background-color:#fbb6ce;background-color:rgba(251,182,206,var(--bg-opacity))}.xxl\:focus\:bg-pink-400:focus{--bg-opacity:1;background-color:#f687b3;background-color:rgba(246,135,179,var(--bg-opacity))}.xxl\:focus\:bg-pink-500:focus{--bg-opacity:1;background-color:#ed64a6;background-color:rgba(237,100,166,var(--bg-opacity))}.xxl\:focus\:bg-pink-600:focus{--bg-opacity:1;background-color:#d53f8c;background-color:rgba(213,63,140,var(--bg-opacity))}.xxl\:focus\:bg-pink-700:focus{--bg-opacity:1;background-color:#b83280;background-color:rgba(184,50,128,var(--bg-opacity))}.xxl\:focus\:bg-pink-800:focus{--bg-opacity:1;background-color:#97266d;background-color:rgba(151,38,109,var(--bg-opacity))}.xxl\:focus\:bg-pink-900:focus{--bg-opacity:1;background-color:#702459;background-color:rgba(112,36,89,var(--bg-opacity))}.xxl\:focus\:bg-primary:focus{--bg-opacity:1;background-color:#00d1ff;background-color:rgba(0,209,255,var(--bg-opacity))}.xxl\:focus\:bg-secondary:focus{--bg-opacity:1;background-color:#e077ff;background-color:rgba(224,119,255,var(--bg-opacity))}.xxl\:focus\:bg-greenish-blue:focus{--bg-opacity:1;background-color:#adffed;background-color:rgba(173,255,237,var(--bg-opacity))}.xxl\:focus\:bg-blue-gray:focus{--bg-opacity:1;background-color:#cfe1e6;background-color:rgba(207,225,230,var(--bg-opacity))}.xxl\:bg-none{background-image:none}.xxl\:bg-gradient-to-t{background-image:linear-gradient(0deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--gradient-color-stops))}.xxl\:bg-gradient-to-r{background-image:linear-gradient(90deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--gradient-color-stops))}.xxl\:bg-gradient-to-b{background-image:linear-gradient(180deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-bl{background-image:linear-gradient(to bottom left,var(--gradient-color-stops))}.xxl\:bg-gradient-to-l{background-image:linear-gradient(270deg,var(--gradient-color-stops))}.xxl\:bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--gradient-color-stops))}.xxl\:from-transparent{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:from-current{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:from-black{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:from-white{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:from-gray-100{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:from-gray-200{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:from-gray-300{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:from-gray-400{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:from-gray-500{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:from-gray-600{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:from-gray-700{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:from-gray-800{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:from-gray-900{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:from-red-100{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:from-red-200{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:from-red-300{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:from-red-400{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:from-red-500{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:from-red-600{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:from-red-700{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:from-red-800{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:from-red-900{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:from-orange-100{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:from-orange-200{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:from-orange-300{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:from-orange-400{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:from-orange-500{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:from-orange-600{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:from-orange-700{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:from-orange-800{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:from-orange-900{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:from-yellow-100{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:from-yellow-200{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:from-yellow-300{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:from-yellow-400{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:from-yellow-500{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:from-yellow-600{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:from-yellow-700{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:from-yellow-800{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:from-yellow-900{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:from-green-100{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:from-green-200{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:from-green-300{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:from-green-400{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:from-green-500{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:from-green-600{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:from-green-700{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:from-green-800{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:from-green-900{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:from-teal-100{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:from-teal-200{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:from-teal-300{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:from-teal-400{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:from-teal-500{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:from-teal-600{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:from-teal-700{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:from-teal-800{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:from-teal-900{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:from-blue-100{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:from-blue-200{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:from-blue-300{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:from-blue-400{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:from-blue-500{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:from-blue-600{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:from-blue-700{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:from-blue-800{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:from-blue-900{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:from-indigo-100{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:from-indigo-200{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:from-indigo-300{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:from-indigo-400{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:from-indigo-500{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:from-indigo-600{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:from-indigo-700{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:from-indigo-800{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:from-indigo-900{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:from-purple-100{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:from-purple-200{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:from-purple-300{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:from-purple-400{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:from-purple-500{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:from-purple-600{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:from-purple-700{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:from-purple-800{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:from-purple-900{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:from-pink-100{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:from-pink-200{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:from-pink-300{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:from-pink-400{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:from-pink-500{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:from-pink-600{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:from-pink-700{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:from-pink-800{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:from-pink-900{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:from-primary{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:from-secondary{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:from-greenish-blue{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:from-blue-gray{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:via-transparent{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:via-current{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:via-black{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:via-white{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:via-gray-100{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:via-gray-200{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:via-gray-300{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:via-gray-400{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:via-gray-500{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:via-gray-600{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:via-gray-700{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:via-gray-800{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:via-gray-900{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:via-red-100{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:via-red-200{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:via-red-300{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:via-red-400{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:via-red-500{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:via-red-600{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:via-red-700{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:via-red-800{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:via-red-900{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:via-orange-100{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:via-orange-200{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:via-orange-300{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:via-orange-400{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:via-orange-500{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:via-orange-600{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:via-orange-700{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:via-orange-800{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:via-orange-900{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:via-yellow-100{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:via-yellow-200{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:via-yellow-300{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:via-yellow-400{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:via-yellow-500{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:via-yellow-600{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:via-yellow-700{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:via-yellow-800{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:via-yellow-900{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:via-green-100{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:via-green-200{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:via-green-300{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:via-green-400{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:via-green-500{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:via-green-600{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:via-green-700{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:via-green-800{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:via-green-900{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:via-teal-100{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:via-teal-200{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:via-teal-300{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:via-teal-400{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:via-teal-500{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:via-teal-600{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:via-teal-700{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:via-teal-800{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:via-teal-900{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:via-blue-100{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:via-blue-200{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:via-blue-300{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:via-blue-400{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:via-blue-500{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:via-blue-600{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:via-blue-700{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:via-blue-800{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:via-blue-900{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:via-indigo-100{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:via-indigo-200{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:via-indigo-300{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:via-indigo-400{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:via-indigo-500{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:via-indigo-600{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:via-indigo-700{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:via-indigo-800{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:via-indigo-900{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:via-purple-100{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:via-purple-200{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:via-purple-300{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:via-purple-400{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:via-purple-500{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:via-purple-600{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:via-purple-700{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:via-purple-800{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:via-purple-900{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:via-pink-100{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:via-pink-200{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:via-pink-300{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:via-pink-400{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:via-pink-500{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:via-pink-600{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:via-pink-700{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:via-pink-800{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:via-pink-900{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:via-primary{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:via-secondary{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:via-greenish-blue{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:via-blue-gray{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:to-transparent{--gradient-to-color:transparent}.xxl\:to-current{--gradient-to-color:currentColor}.xxl\:to-black{--gradient-to-color:#000}.xxl\:to-white{--gradient-to-color:#fff}.xxl\:to-gray-100{--gradient-to-color:#f7fafc}.xxl\:to-gray-200{--gradient-to-color:#edf2f7}.xxl\:to-gray-300{--gradient-to-color:#e2e8f0}.xxl\:to-gray-400{--gradient-to-color:#cbd5e0}.xxl\:to-gray-500{--gradient-to-color:#a0aec0}.xxl\:to-gray-600{--gradient-to-color:#718096}.xxl\:to-gray-700{--gradient-to-color:#4a5568}.xxl\:to-gray-800{--gradient-to-color:#2d3748}.xxl\:to-gray-900{--gradient-to-color:#1a202c}.xxl\:to-red-100{--gradient-to-color:#fff5f5}.xxl\:to-red-200{--gradient-to-color:#fed7d7}.xxl\:to-red-300{--gradient-to-color:#feb2b2}.xxl\:to-red-400{--gradient-to-color:#fc8181}.xxl\:to-red-500{--gradient-to-color:#f56565}.xxl\:to-red-600{--gradient-to-color:#e53e3e}.xxl\:to-red-700{--gradient-to-color:#c53030}.xxl\:to-red-800{--gradient-to-color:#9b2c2c}.xxl\:to-red-900{--gradient-to-color:#742a2a}.xxl\:to-orange-100{--gradient-to-color:#fffaf0}.xxl\:to-orange-200{--gradient-to-color:#feebc8}.xxl\:to-orange-300{--gradient-to-color:#fbd38d}.xxl\:to-orange-400{--gradient-to-color:#f6ad55}.xxl\:to-orange-500{--gradient-to-color:#ed8936}.xxl\:to-orange-600{--gradient-to-color:#dd6b20}.xxl\:to-orange-700{--gradient-to-color:#c05621}.xxl\:to-orange-800{--gradient-to-color:#9c4221}.xxl\:to-orange-900{--gradient-to-color:#7b341e}.xxl\:to-yellow-100{--gradient-to-color:ivory}.xxl\:to-yellow-200{--gradient-to-color:#fefcbf}.xxl\:to-yellow-300{--gradient-to-color:#faf089}.xxl\:to-yellow-400{--gradient-to-color:#f6e05e}.xxl\:to-yellow-500{--gradient-to-color:#ecc94b}.xxl\:to-yellow-600{--gradient-to-color:#d69e2e}.xxl\:to-yellow-700{--gradient-to-color:#b7791f}.xxl\:to-yellow-800{--gradient-to-color:#975a16}.xxl\:to-yellow-900{--gradient-to-color:#744210}.xxl\:to-green-100{--gradient-to-color:#f0fff4}.xxl\:to-green-200{--gradient-to-color:#c6f6d5}.xxl\:to-green-300{--gradient-to-color:#9ae6b4}.xxl\:to-green-400{--gradient-to-color:#68d391}.xxl\:to-green-500{--gradient-to-color:#48bb78}.xxl\:to-green-600{--gradient-to-color:#38a169}.xxl\:to-green-700{--gradient-to-color:#2f855a}.xxl\:to-green-800{--gradient-to-color:#276749}.xxl\:to-green-900{--gradient-to-color:#22543d}.xxl\:to-teal-100{--gradient-to-color:#e6fffa}.xxl\:to-teal-200{--gradient-to-color:#b2f5ea}.xxl\:to-teal-300{--gradient-to-color:#81e6d9}.xxl\:to-teal-400{--gradient-to-color:#4fd1c5}.xxl\:to-teal-500{--gradient-to-color:#38b2ac}.xxl\:to-teal-600{--gradient-to-color:#319795}.xxl\:to-teal-700{--gradient-to-color:#2c7a7b}.xxl\:to-teal-800{--gradient-to-color:#285e61}.xxl\:to-teal-900{--gradient-to-color:#234e52}.xxl\:to-blue-100{--gradient-to-color:#ebf8ff}.xxl\:to-blue-200{--gradient-to-color:#bee3f8}.xxl\:to-blue-300{--gradient-to-color:#90cdf4}.xxl\:to-blue-400{--gradient-to-color:#63b3ed}.xxl\:to-blue-500{--gradient-to-color:#4299e1}.xxl\:to-blue-600{--gradient-to-color:#3182ce}.xxl\:to-blue-700{--gradient-to-color:#2b6cb0}.xxl\:to-blue-800{--gradient-to-color:#2c5282}.xxl\:to-blue-900{--gradient-to-color:#2a4365}.xxl\:to-indigo-100{--gradient-to-color:#ebf4ff}.xxl\:to-indigo-200{--gradient-to-color:#c3dafe}.xxl\:to-indigo-300{--gradient-to-color:#a3bffa}.xxl\:to-indigo-400{--gradient-to-color:#7f9cf5}.xxl\:to-indigo-500{--gradient-to-color:#667eea}.xxl\:to-indigo-600{--gradient-to-color:#5a67d8}.xxl\:to-indigo-700{--gradient-to-color:#4c51bf}.xxl\:to-indigo-800{--gradient-to-color:#434190}.xxl\:to-indigo-900{--gradient-to-color:#3c366b}.xxl\:to-purple-100{--gradient-to-color:#faf5ff}.xxl\:to-purple-200{--gradient-to-color:#e9d8fd}.xxl\:to-purple-300{--gradient-to-color:#d6bcfa}.xxl\:to-purple-400{--gradient-to-color:#b794f4}.xxl\:to-purple-500{--gradient-to-color:#9f7aea}.xxl\:to-purple-600{--gradient-to-color:#805ad5}.xxl\:to-purple-700{--gradient-to-color:#6b46c1}.xxl\:to-purple-800{--gradient-to-color:#553c9a}.xxl\:to-purple-900{--gradient-to-color:#44337a}.xxl\:to-pink-100{--gradient-to-color:#fff5f7}.xxl\:to-pink-200{--gradient-to-color:#fed7e2}.xxl\:to-pink-300{--gradient-to-color:#fbb6ce}.xxl\:to-pink-400{--gradient-to-color:#f687b3}.xxl\:to-pink-500{--gradient-to-color:#ed64a6}.xxl\:to-pink-600{--gradient-to-color:#d53f8c}.xxl\:to-pink-700{--gradient-to-color:#b83280}.xxl\:to-pink-800{--gradient-to-color:#97266d}.xxl\:to-pink-900{--gradient-to-color:#702459}.xxl\:to-primary{--gradient-to-color:#00d1ff}.xxl\:to-secondary{--gradient-to-color:#e077ff}.xxl\:to-greenish-blue{--gradient-to-color:#adffed}.xxl\:to-blue-gray{--gradient-to-color:#cfe1e6}.xxl\:hover\:from-transparent:hover{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:hover\:from-current:hover{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:from-black:hover{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:hover\:from-white:hover{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:from-gray-100:hover{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:hover\:from-gray-200:hover{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:hover\:from-gray-300:hover{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:hover\:from-gray-400:hover{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:hover\:from-gray-500:hover{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:hover\:from-gray-600:hover{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:hover\:from-gray-700:hover{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:hover\:from-gray-800:hover{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:hover\:from-gray-900:hover{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:hover\:from-red-100:hover{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:hover\:from-red-200:hover{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:hover\:from-red-300:hover{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:hover\:from-red-400:hover{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:hover\:from-red-500:hover{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:hover\:from-red-600:hover{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:hover\:from-red-700:hover{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:hover\:from-red-800:hover{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:hover\:from-red-900:hover{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:hover\:from-orange-100:hover{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:hover\:from-orange-200:hover{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:hover\:from-orange-300:hover{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:hover\:from-orange-400:hover{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:hover\:from-orange-500:hover{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:hover\:from-orange-600:hover{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:hover\:from-orange-700:hover{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:hover\:from-orange-800:hover{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:hover\:from-orange-900:hover{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:hover\:from-yellow-100:hover{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:hover\:from-yellow-200:hover{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:hover\:from-yellow-300:hover{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:hover\:from-yellow-400:hover{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:hover\:from-yellow-500:hover{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:hover\:from-yellow-600:hover{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:hover\:from-yellow-700:hover{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:hover\:from-yellow-800:hover{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:hover\:from-yellow-900:hover{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:hover\:from-green-100:hover{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:hover\:from-green-200:hover{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:hover\:from-green-300:hover{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:hover\:from-green-400:hover{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:hover\:from-green-500:hover{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:hover\:from-green-600:hover{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:hover\:from-green-700:hover{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:hover\:from-green-800:hover{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:hover\:from-green-900:hover{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:hover\:from-teal-100:hover{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:hover\:from-teal-200:hover{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:hover\:from-teal-300:hover{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:hover\:from-teal-400:hover{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:hover\:from-teal-500:hover{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:hover\:from-teal-600:hover{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:hover\:from-teal-700:hover{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:hover\:from-teal-800:hover{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:hover\:from-teal-900:hover{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:hover\:from-blue-100:hover{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:hover\:from-blue-200:hover{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:hover\:from-blue-300:hover{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:hover\:from-blue-400:hover{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:hover\:from-blue-500:hover{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:hover\:from-blue-600:hover{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:hover\:from-blue-700:hover{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:hover\:from-blue-800:hover{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:hover\:from-blue-900:hover{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:hover\:from-indigo-100:hover{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:hover\:from-indigo-200:hover{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:hover\:from-indigo-300:hover{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:hover\:from-indigo-400:hover{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:hover\:from-indigo-500:hover{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:hover\:from-indigo-600:hover{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:hover\:from-indigo-700:hover{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:hover\:from-indigo-800:hover{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:hover\:from-indigo-900:hover{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:hover\:from-purple-100:hover{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:hover\:from-purple-200:hover{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:hover\:from-purple-300:hover{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:hover\:from-purple-400:hover{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:hover\:from-purple-500:hover{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:hover\:from-purple-600:hover{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:hover\:from-purple-700:hover{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:hover\:from-purple-800:hover{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:hover\:from-purple-900:hover{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:hover\:from-pink-100:hover{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:hover\:from-pink-200:hover{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:hover\:from-pink-300:hover{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:hover\:from-pink-400:hover{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:hover\:from-pink-500:hover{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:hover\:from-pink-600:hover{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:hover\:from-pink-700:hover{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:hover\:from-pink-800:hover{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:hover\:from-pink-900:hover{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:hover\:from-primary:hover{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:hover\:from-secondary:hover{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:hover\:from-greenish-blue:hover{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:hover\:from-blue-gray:hover{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:hover\:via-transparent:hover{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:hover\:via-current:hover{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:via-black:hover{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:hover\:via-white:hover{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:hover\:via-gray-100:hover{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:hover\:via-gray-200:hover{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:hover\:via-gray-300:hover{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:hover\:via-gray-400:hover{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:hover\:via-gray-500:hover{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:hover\:via-gray-600:hover{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:hover\:via-gray-700:hover{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:hover\:via-gray-800:hover{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:hover\:via-gray-900:hover{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:hover\:via-red-100:hover{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:hover\:via-red-200:hover{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:hover\:via-red-300:hover{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:hover\:via-red-400:hover{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:hover\:via-red-500:hover{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:hover\:via-red-600:hover{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:hover\:via-red-700:hover{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:hover\:via-red-800:hover{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:hover\:via-red-900:hover{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:hover\:via-orange-100:hover{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:hover\:via-orange-200:hover{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:hover\:via-orange-300:hover{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:hover\:via-orange-400:hover{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:hover\:via-orange-500:hover{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:hover\:via-orange-600:hover{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:hover\:via-orange-700:hover{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:hover\:via-orange-800:hover{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:hover\:via-orange-900:hover{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:hover\:via-yellow-100:hover{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:hover\:via-yellow-200:hover{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:hover\:via-yellow-300:hover{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:hover\:via-yellow-400:hover{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:hover\:via-yellow-500:hover{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:hover\:via-yellow-600:hover{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:hover\:via-yellow-700:hover{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:hover\:via-yellow-800:hover{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:hover\:via-yellow-900:hover{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:hover\:via-green-100:hover{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:hover\:via-green-200:hover{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:hover\:via-green-300:hover{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:hover\:via-green-400:hover{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:hover\:via-green-500:hover{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:hover\:via-green-600:hover{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:hover\:via-green-700:hover{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:hover\:via-green-800:hover{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:hover\:via-green-900:hover{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:hover\:via-teal-100:hover{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:hover\:via-teal-200:hover{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:hover\:via-teal-300:hover{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:hover\:via-teal-400:hover{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:hover\:via-teal-500:hover{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:hover\:via-teal-600:hover{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:hover\:via-teal-700:hover{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:hover\:via-teal-800:hover{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:hover\:via-teal-900:hover{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:hover\:via-blue-100:hover{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:hover\:via-blue-200:hover{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:hover\:via-blue-300:hover{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:hover\:via-blue-400:hover{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:hover\:via-blue-500:hover{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:hover\:via-blue-600:hover{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:hover\:via-blue-700:hover{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:hover\:via-blue-800:hover{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:hover\:via-blue-900:hover{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:hover\:via-indigo-100:hover{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:hover\:via-indigo-200:hover{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:hover\:via-indigo-300:hover{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:hover\:via-indigo-400:hover{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:hover\:via-indigo-500:hover{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:hover\:via-indigo-600:hover{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:hover\:via-indigo-700:hover{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:hover\:via-indigo-800:hover{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:hover\:via-indigo-900:hover{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:hover\:via-purple-100:hover{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:hover\:via-purple-200:hover{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:hover\:via-purple-300:hover{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:hover\:via-purple-400:hover{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:hover\:via-purple-500:hover{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:hover\:via-purple-600:hover{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:hover\:via-purple-700:hover{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:hover\:via-purple-800:hover{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:hover\:via-purple-900:hover{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:hover\:via-pink-100:hover{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:hover\:via-pink-200:hover{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:hover\:via-pink-300:hover{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:hover\:via-pink-400:hover{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:hover\:via-pink-500:hover{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:hover\:via-pink-600:hover{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:hover\:via-pink-700:hover{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:hover\:via-pink-800:hover{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:hover\:via-pink-900:hover{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:hover\:via-primary:hover{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:hover\:via-secondary:hover{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:hover\:via-greenish-blue:hover{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:hover\:via-blue-gray:hover{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:hover\:to-transparent:hover{--gradient-to-color:transparent}.xxl\:hover\:to-current:hover{--gradient-to-color:currentColor}.xxl\:hover\:to-black:hover{--gradient-to-color:#000}.xxl\:hover\:to-white:hover{--gradient-to-color:#fff}.xxl\:hover\:to-gray-100:hover{--gradient-to-color:#f7fafc}.xxl\:hover\:to-gray-200:hover{--gradient-to-color:#edf2f7}.xxl\:hover\:to-gray-300:hover{--gradient-to-color:#e2e8f0}.xxl\:hover\:to-gray-400:hover{--gradient-to-color:#cbd5e0}.xxl\:hover\:to-gray-500:hover{--gradient-to-color:#a0aec0}.xxl\:hover\:to-gray-600:hover{--gradient-to-color:#718096}.xxl\:hover\:to-gray-700:hover{--gradient-to-color:#4a5568}.xxl\:hover\:to-gray-800:hover{--gradient-to-color:#2d3748}.xxl\:hover\:to-gray-900:hover{--gradient-to-color:#1a202c}.xxl\:hover\:to-red-100:hover{--gradient-to-color:#fff5f5}.xxl\:hover\:to-red-200:hover{--gradient-to-color:#fed7d7}.xxl\:hover\:to-red-300:hover{--gradient-to-color:#feb2b2}.xxl\:hover\:to-red-400:hover{--gradient-to-color:#fc8181}.xxl\:hover\:to-red-500:hover{--gradient-to-color:#f56565}.xxl\:hover\:to-red-600:hover{--gradient-to-color:#e53e3e}.xxl\:hover\:to-red-700:hover{--gradient-to-color:#c53030}.xxl\:hover\:to-red-800:hover{--gradient-to-color:#9b2c2c}.xxl\:hover\:to-red-900:hover{--gradient-to-color:#742a2a}.xxl\:hover\:to-orange-100:hover{--gradient-to-color:#fffaf0}.xxl\:hover\:to-orange-200:hover{--gradient-to-color:#feebc8}.xxl\:hover\:to-orange-300:hover{--gradient-to-color:#fbd38d}.xxl\:hover\:to-orange-400:hover{--gradient-to-color:#f6ad55}.xxl\:hover\:to-orange-500:hover{--gradient-to-color:#ed8936}.xxl\:hover\:to-orange-600:hover{--gradient-to-color:#dd6b20}.xxl\:hover\:to-orange-700:hover{--gradient-to-color:#c05621}.xxl\:hover\:to-orange-800:hover{--gradient-to-color:#9c4221}.xxl\:hover\:to-orange-900:hover{--gradient-to-color:#7b341e}.xxl\:hover\:to-yellow-100:hover{--gradient-to-color:ivory}.xxl\:hover\:to-yellow-200:hover{--gradient-to-color:#fefcbf}.xxl\:hover\:to-yellow-300:hover{--gradient-to-color:#faf089}.xxl\:hover\:to-yellow-400:hover{--gradient-to-color:#f6e05e}.xxl\:hover\:to-yellow-500:hover{--gradient-to-color:#ecc94b}.xxl\:hover\:to-yellow-600:hover{--gradient-to-color:#d69e2e}.xxl\:hover\:to-yellow-700:hover{--gradient-to-color:#b7791f}.xxl\:hover\:to-yellow-800:hover{--gradient-to-color:#975a16}.xxl\:hover\:to-yellow-900:hover{--gradient-to-color:#744210}.xxl\:hover\:to-green-100:hover{--gradient-to-color:#f0fff4}.xxl\:hover\:to-green-200:hover{--gradient-to-color:#c6f6d5}.xxl\:hover\:to-green-300:hover{--gradient-to-color:#9ae6b4}.xxl\:hover\:to-green-400:hover{--gradient-to-color:#68d391}.xxl\:hover\:to-green-500:hover{--gradient-to-color:#48bb78}.xxl\:hover\:to-green-600:hover{--gradient-to-color:#38a169}.xxl\:hover\:to-green-700:hover{--gradient-to-color:#2f855a}.xxl\:hover\:to-green-800:hover{--gradient-to-color:#276749}.xxl\:hover\:to-green-900:hover{--gradient-to-color:#22543d}.xxl\:hover\:to-teal-100:hover{--gradient-to-color:#e6fffa}.xxl\:hover\:to-teal-200:hover{--gradient-to-color:#b2f5ea}.xxl\:hover\:to-teal-300:hover{--gradient-to-color:#81e6d9}.xxl\:hover\:to-teal-400:hover{--gradient-to-color:#4fd1c5}.xxl\:hover\:to-teal-500:hover{--gradient-to-color:#38b2ac}.xxl\:hover\:to-teal-600:hover{--gradient-to-color:#319795}.xxl\:hover\:to-teal-700:hover{--gradient-to-color:#2c7a7b}.xxl\:hover\:to-teal-800:hover{--gradient-to-color:#285e61}.xxl\:hover\:to-teal-900:hover{--gradient-to-color:#234e52}.xxl\:hover\:to-blue-100:hover{--gradient-to-color:#ebf8ff}.xxl\:hover\:to-blue-200:hover{--gradient-to-color:#bee3f8}.xxl\:hover\:to-blue-300:hover{--gradient-to-color:#90cdf4}.xxl\:hover\:to-blue-400:hover{--gradient-to-color:#63b3ed}.xxl\:hover\:to-blue-500:hover{--gradient-to-color:#4299e1}.xxl\:hover\:to-blue-600:hover{--gradient-to-color:#3182ce}.xxl\:hover\:to-blue-700:hover{--gradient-to-color:#2b6cb0}.xxl\:hover\:to-blue-800:hover{--gradient-to-color:#2c5282}.xxl\:hover\:to-blue-900:hover{--gradient-to-color:#2a4365}.xxl\:hover\:to-indigo-100:hover{--gradient-to-color:#ebf4ff}.xxl\:hover\:to-indigo-200:hover{--gradient-to-color:#c3dafe}.xxl\:hover\:to-indigo-300:hover{--gradient-to-color:#a3bffa}.xxl\:hover\:to-indigo-400:hover{--gradient-to-color:#7f9cf5}.xxl\:hover\:to-indigo-500:hover{--gradient-to-color:#667eea}.xxl\:hover\:to-indigo-600:hover{--gradient-to-color:#5a67d8}.xxl\:hover\:to-indigo-700:hover{--gradient-to-color:#4c51bf}.xxl\:hover\:to-indigo-800:hover{--gradient-to-color:#434190}.xxl\:hover\:to-indigo-900:hover{--gradient-to-color:#3c366b}.xxl\:hover\:to-purple-100:hover{--gradient-to-color:#faf5ff}.xxl\:hover\:to-purple-200:hover{--gradient-to-color:#e9d8fd}.xxl\:hover\:to-purple-300:hover{--gradient-to-color:#d6bcfa}.xxl\:hover\:to-purple-400:hover{--gradient-to-color:#b794f4}.xxl\:hover\:to-purple-500:hover{--gradient-to-color:#9f7aea}.xxl\:hover\:to-purple-600:hover{--gradient-to-color:#805ad5}.xxl\:hover\:to-purple-700:hover{--gradient-to-color:#6b46c1}.xxl\:hover\:to-purple-800:hover{--gradient-to-color:#553c9a}.xxl\:hover\:to-purple-900:hover{--gradient-to-color:#44337a}.xxl\:hover\:to-pink-100:hover{--gradient-to-color:#fff5f7}.xxl\:hover\:to-pink-200:hover{--gradient-to-color:#fed7e2}.xxl\:hover\:to-pink-300:hover{--gradient-to-color:#fbb6ce}.xxl\:hover\:to-pink-400:hover{--gradient-to-color:#f687b3}.xxl\:hover\:to-pink-500:hover{--gradient-to-color:#ed64a6}.xxl\:hover\:to-pink-600:hover{--gradient-to-color:#d53f8c}.xxl\:hover\:to-pink-700:hover{--gradient-to-color:#b83280}.xxl\:hover\:to-pink-800:hover{--gradient-to-color:#97266d}.xxl\:hover\:to-pink-900:hover{--gradient-to-color:#702459}.xxl\:hover\:to-primary:hover{--gradient-to-color:#00d1ff}.xxl\:hover\:to-secondary:hover{--gradient-to-color:#e077ff}.xxl\:hover\:to-greenish-blue:hover{--gradient-to-color:#adffed}.xxl\:hover\:to-blue-gray:hover{--gradient-to-color:#cfe1e6}.xxl\:focus\:from-transparent:focus{--gradient-from-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:focus\:from-current:focus{--gradient-from-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:from-black:focus{--gradient-from-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,transparent)}.xxl\:focus\:from-white:focus{--gradient-from-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:from-gray-100:focus{--gradient-from-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:focus\:from-gray-200:focus{--gradient-from-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:focus\:from-gray-300:focus{--gradient-from-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:focus\:from-gray-400:focus{--gradient-from-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:focus\:from-gray-500:focus{--gradient-from-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:focus\:from-gray-600:focus{--gradient-from-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:focus\:from-gray-700:focus{--gradient-from-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:focus\:from-gray-800:focus{--gradient-from-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:focus\:from-gray-900:focus{--gradient-from-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:focus\:from-red-100:focus{--gradient-from-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:focus\:from-red-200:focus{--gradient-from-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:focus\:from-red-300:focus{--gradient-from-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:focus\:from-red-400:focus{--gradient-from-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:focus\:from-red-500:focus{--gradient-from-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:focus\:from-red-600:focus{--gradient-from-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:focus\:from-red-700:focus{--gradient-from-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:focus\:from-red-800:focus{--gradient-from-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:focus\:from-red-900:focus{--gradient-from-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:focus\:from-orange-100:focus{--gradient-from-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:focus\:from-orange-200:focus{--gradient-from-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:focus\:from-orange-300:focus{--gradient-from-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:focus\:from-orange-400:focus{--gradient-from-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:focus\:from-orange-500:focus{--gradient-from-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:focus\:from-orange-600:focus{--gradient-from-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:focus\:from-orange-700:focus{--gradient-from-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:focus\:from-orange-800:focus{--gradient-from-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:focus\:from-orange-900:focus{--gradient-from-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:focus\:from-yellow-100:focus{--gradient-from-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:focus\:from-yellow-200:focus{--gradient-from-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:focus\:from-yellow-300:focus{--gradient-from-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:focus\:from-yellow-400:focus{--gradient-from-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:focus\:from-yellow-500:focus{--gradient-from-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:focus\:from-yellow-600:focus{--gradient-from-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:focus\:from-yellow-700:focus{--gradient-from-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:focus\:from-yellow-800:focus{--gradient-from-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:focus\:from-yellow-900:focus{--gradient-from-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:focus\:from-green-100:focus{--gradient-from-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:focus\:from-green-200:focus{--gradient-from-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:focus\:from-green-300:focus{--gradient-from-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:focus\:from-green-400:focus{--gradient-from-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:focus\:from-green-500:focus{--gradient-from-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:focus\:from-green-600:focus{--gradient-from-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:focus\:from-green-700:focus{--gradient-from-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:focus\:from-green-800:focus{--gradient-from-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:focus\:from-green-900:focus{--gradient-from-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:focus\:from-teal-100:focus{--gradient-from-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:focus\:from-teal-200:focus{--gradient-from-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:focus\:from-teal-300:focus{--gradient-from-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:focus\:from-teal-400:focus{--gradient-from-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:focus\:from-teal-500:focus{--gradient-from-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:focus\:from-teal-600:focus{--gradient-from-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:focus\:from-teal-700:focus{--gradient-from-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:focus\:from-teal-800:focus{--gradient-from-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:focus\:from-teal-900:focus{--gradient-from-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:focus\:from-blue-100:focus{--gradient-from-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:focus\:from-blue-200:focus{--gradient-from-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:focus\:from-blue-300:focus{--gradient-from-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:focus\:from-blue-400:focus{--gradient-from-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:focus\:from-blue-500:focus{--gradient-from-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:focus\:from-blue-600:focus{--gradient-from-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:focus\:from-blue-700:focus{--gradient-from-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:focus\:from-blue-800:focus{--gradient-from-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:focus\:from-blue-900:focus{--gradient-from-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:focus\:from-indigo-100:focus{--gradient-from-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:focus\:from-indigo-200:focus{--gradient-from-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:focus\:from-indigo-300:focus{--gradient-from-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:focus\:from-indigo-400:focus{--gradient-from-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:focus\:from-indigo-500:focus{--gradient-from-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:focus\:from-indigo-600:focus{--gradient-from-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:focus\:from-indigo-700:focus{--gradient-from-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:focus\:from-indigo-800:focus{--gradient-from-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:focus\:from-indigo-900:focus{--gradient-from-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:focus\:from-purple-100:focus{--gradient-from-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:focus\:from-purple-200:focus{--gradient-from-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:focus\:from-purple-300:focus{--gradient-from-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:focus\:from-purple-400:focus{--gradient-from-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:focus\:from-purple-500:focus{--gradient-from-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:focus\:from-purple-600:focus{--gradient-from-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:focus\:from-purple-700:focus{--gradient-from-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:focus\:from-purple-800:focus{--gradient-from-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:focus\:from-purple-900:focus{--gradient-from-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:focus\:from-pink-100:focus{--gradient-from-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:focus\:from-pink-200:focus{--gradient-from-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:focus\:from-pink-300:focus{--gradient-from-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:focus\:from-pink-400:focus{--gradient-from-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:focus\:from-pink-500:focus{--gradient-from-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:focus\:from-pink-600:focus{--gradient-from-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:focus\:from-pink-700:focus{--gradient-from-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:focus\:from-pink-800:focus{--gradient-from-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:focus\:from-pink-900:focus{--gradient-from-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:focus\:from-primary:focus{--gradient-from-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:focus\:from-secondary:focus{--gradient-from-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:focus\:from-greenish-blue:focus{--gradient-from-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:focus\:from-blue-gray:focus{--gradient-from-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:focus\:via-transparent:focus{--gradient-via-color:transparent;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:focus\:via-current:focus{--gradient-via-color:currentColor;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:via-black:focus{--gradient-via-color:#000;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,transparent)}.xxl\:focus\:via-white:focus{--gradient-via-color:#fff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,0%,100%,0))}.xxl\:focus\:via-gray-100:focus{--gradient-via-color:#f7fafc;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(247,250,252,0))}.xxl\:focus\:via-gray-200:focus{--gradient-via-color:#edf2f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,242,247,0))}.xxl\:focus\:via-gray-300:focus{--gradient-via-color:#e2e8f0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(226,232,240,0))}.xxl\:focus\:via-gray-400:focus{--gradient-via-color:#cbd5e0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(203,213,224,0))}.xxl\:focus\:via-gray-500:focus{--gradient-via-color:#a0aec0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(160,174,192,0))}.xxl\:focus\:via-gray-600:focus{--gradient-via-color:#718096;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(113,128,150,0))}.xxl\:focus\:via-gray-700:focus{--gradient-via-color:#4a5568;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(74,85,104,0))}.xxl\:focus\:via-gray-800:focus{--gradient-via-color:#2d3748;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(45,55,72,0))}.xxl\:focus\:via-gray-900:focus{--gradient-via-color:#1a202c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(26,32,44,0))}.xxl\:focus\:via-red-100:focus{--gradient-via-color:#fff5f5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,hsla(0,100%,98%,0))}.xxl\:focus\:via-red-200:focus{--gradient-via-color:#fed7d7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,215,0))}.xxl\:focus\:via-red-300:focus{--gradient-via-color:#feb2b2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,178,178,0))}.xxl\:focus\:via-red-400:focus{--gradient-via-color:#fc8181;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(252,129,129,0))}.xxl\:focus\:via-red-500:focus{--gradient-via-color:#f56565;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(245,101,101,0))}.xxl\:focus\:via-red-600:focus{--gradient-via-color:#e53e3e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(229,62,62,0))}.xxl\:focus\:via-red-700:focus{--gradient-via-color:#c53030;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(197,48,48,0))}.xxl\:focus\:via-red-800:focus{--gradient-via-color:#9b2c2c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(155,44,44,0))}.xxl\:focus\:via-red-900:focus{--gradient-via-color:#742a2a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,42,42,0))}.xxl\:focus\:via-orange-100:focus{--gradient-via-color:#fffaf0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,250,240,0))}.xxl\:focus\:via-orange-200:focus{--gradient-via-color:#feebc8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,235,200,0))}.xxl\:focus\:via-orange-300:focus{--gradient-via-color:#fbd38d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,211,141,0))}.xxl\:focus\:via-orange-400:focus{--gradient-via-color:#f6ad55;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,173,85,0))}.xxl\:focus\:via-orange-500:focus{--gradient-via-color:#ed8936;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,137,54,0))}.xxl\:focus\:via-orange-600:focus{--gradient-via-color:#dd6b20;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(221,107,32,0))}.xxl\:focus\:via-orange-700:focus{--gradient-via-color:#c05621;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(192,86,33,0))}.xxl\:focus\:via-orange-800:focus{--gradient-via-color:#9c4221;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(156,66,33,0))}.xxl\:focus\:via-orange-900:focus{--gradient-via-color:#7b341e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(123,52,30,0))}.xxl\:focus\:via-yellow-100:focus{--gradient-via-color:ivory;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,255,240,0))}.xxl\:focus\:via-yellow-200:focus{--gradient-via-color:#fefcbf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,252,191,0))}.xxl\:focus\:via-yellow-300:focus{--gradient-via-color:#faf089;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,240,137,0))}.xxl\:focus\:via-yellow-400:focus{--gradient-via-color:#f6e05e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,224,94,0))}.xxl\:focus\:via-yellow-500:focus{--gradient-via-color:#ecc94b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(236,201,75,0))}.xxl\:focus\:via-yellow-600:focus{--gradient-via-color:#d69e2e;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,158,46,0))}.xxl\:focus\:via-yellow-700:focus{--gradient-via-color:#b7791f;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,121,31,0))}.xxl\:focus\:via-yellow-800:focus{--gradient-via-color:#975a16;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,90,22,0))}.xxl\:focus\:via-yellow-900:focus{--gradient-via-color:#744210;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(116,66,16,0))}.xxl\:focus\:via-green-100:focus{--gradient-via-color:#f0fff4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(240,255,244,0))}.xxl\:focus\:via-green-200:focus{--gradient-via-color:#c6f6d5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(198,246,213,0))}.xxl\:focus\:via-green-300:focus{--gradient-via-color:#9ae6b4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(154,230,180,0))}.xxl\:focus\:via-green-400:focus{--gradient-via-color:#68d391;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(104,211,145,0))}.xxl\:focus\:via-green-500:focus{--gradient-via-color:#48bb78;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(72,187,120,0))}.xxl\:focus\:via-green-600:focus{--gradient-via-color:#38a169;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,161,105,0))}.xxl\:focus\:via-green-700:focus{--gradient-via-color:#2f855a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(47,133,90,0))}.xxl\:focus\:via-green-800:focus{--gradient-via-color:#276749;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(39,103,73,0))}.xxl\:focus\:via-green-900:focus{--gradient-via-color:#22543d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(34,84,61,0))}.xxl\:focus\:via-teal-100:focus{--gradient-via-color:#e6fffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(230,255,250,0))}.xxl\:focus\:via-teal-200:focus{--gradient-via-color:#b2f5ea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(178,245,234,0))}.xxl\:focus\:via-teal-300:focus{--gradient-via-color:#81e6d9;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(129,230,217,0))}.xxl\:focus\:via-teal-400:focus{--gradient-via-color:#4fd1c5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(79,209,197,0))}.xxl\:focus\:via-teal-500:focus{--gradient-via-color:#38b2ac;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(56,178,172,0))}.xxl\:focus\:via-teal-600:focus{--gradient-via-color:#319795;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,151,149,0))}.xxl\:focus\:via-teal-700:focus{--gradient-via-color:#2c7a7b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,122,123,0))}.xxl\:focus\:via-teal-800:focus{--gradient-via-color:#285e61;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(40,94,97,0))}.xxl\:focus\:via-teal-900:focus{--gradient-via-color:#234e52;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(35,78,82,0))}.xxl\:focus\:via-blue-100:focus{--gradient-via-color:#ebf8ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,248,255,0))}.xxl\:focus\:via-blue-200:focus{--gradient-via-color:#bee3f8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(190,227,248,0))}.xxl\:focus\:via-blue-300:focus{--gradient-via-color:#90cdf4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(144,205,244,0))}.xxl\:focus\:via-blue-400:focus{--gradient-via-color:#63b3ed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(99,179,237,0))}.xxl\:focus\:via-blue-500:focus{--gradient-via-color:#4299e1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(66,153,225,0))}.xxl\:focus\:via-blue-600:focus{--gradient-via-color:#3182ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(49,130,206,0))}.xxl\:focus\:via-blue-700:focus{--gradient-via-color:#2b6cb0;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(43,108,176,0))}.xxl\:focus\:via-blue-800:focus{--gradient-via-color:#2c5282;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(44,82,130,0))}.xxl\:focus\:via-blue-900:focus{--gradient-via-color:#2a4365;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(42,67,101,0))}.xxl\:focus\:via-indigo-100:focus{--gradient-via-color:#ebf4ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(235,244,255,0))}.xxl\:focus\:via-indigo-200:focus{--gradient-via-color:#c3dafe;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(195,218,254,0))}.xxl\:focus\:via-indigo-300:focus{--gradient-via-color:#a3bffa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(163,191,250,0))}.xxl\:focus\:via-indigo-400:focus{--gradient-via-color:#7f9cf5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(127,156,245,0))}.xxl\:focus\:via-indigo-500:focus{--gradient-via-color:#667eea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(102,126,234,0))}.xxl\:focus\:via-indigo-600:focus{--gradient-via-color:#5a67d8;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(90,103,216,0))}.xxl\:focus\:via-indigo-700:focus{--gradient-via-color:#4c51bf;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(76,81,191,0))}.xxl\:focus\:via-indigo-800:focus{--gradient-via-color:#434190;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(67,65,144,0))}.xxl\:focus\:via-indigo-900:focus{--gradient-via-color:#3c366b;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(60,54,107,0))}.xxl\:focus\:via-purple-100:focus{--gradient-via-color:#faf5ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(250,245,255,0))}.xxl\:focus\:via-purple-200:focus{--gradient-via-color:#e9d8fd;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(233,216,253,0))}.xxl\:focus\:via-purple-300:focus{--gradient-via-color:#d6bcfa;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(214,188,250,0))}.xxl\:focus\:via-purple-400:focus{--gradient-via-color:#b794f4;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(183,148,244,0))}.xxl\:focus\:via-purple-500:focus{--gradient-via-color:#9f7aea;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(159,122,234,0))}.xxl\:focus\:via-purple-600:focus{--gradient-via-color:#805ad5;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(128,90,213,0))}.xxl\:focus\:via-purple-700:focus{--gradient-via-color:#6b46c1;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(107,70,193,0))}.xxl\:focus\:via-purple-800:focus{--gradient-via-color:#553c9a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(85,60,154,0))}.xxl\:focus\:via-purple-900:focus{--gradient-via-color:#44337a;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(68,51,122,0))}.xxl\:focus\:via-pink-100:focus{--gradient-via-color:#fff5f7;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(255,245,247,0))}.xxl\:focus\:via-pink-200:focus{--gradient-via-color:#fed7e2;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(254,215,226,0))}.xxl\:focus\:via-pink-300:focus{--gradient-via-color:#fbb6ce;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(251,182,206,0))}.xxl\:focus\:via-pink-400:focus{--gradient-via-color:#f687b3;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(246,135,179,0))}.xxl\:focus\:via-pink-500:focus{--gradient-via-color:#ed64a6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(237,100,166,0))}.xxl\:focus\:via-pink-600:focus{--gradient-via-color:#d53f8c;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(213,63,140,0))}.xxl\:focus\:via-pink-700:focus{--gradient-via-color:#b83280;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(184,50,128,0))}.xxl\:focus\:via-pink-800:focus{--gradient-via-color:#97266d;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(151,38,109,0))}.xxl\:focus\:via-pink-900:focus{--gradient-via-color:#702459;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(112,36,89,0))}.xxl\:focus\:via-primary:focus{--gradient-via-color:#00d1ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(0,209,255,0))}.xxl\:focus\:via-secondary:focus{--gradient-via-color:#e077ff;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(224,119,255,0))}.xxl\:focus\:via-greenish-blue:focus{--gradient-via-color:#adffed;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(173,255,237,0))}.xxl\:focus\:via-blue-gray:focus{--gradient-via-color:#cfe1e6;--gradient-color-stops:var(--gradient-from-color),var(--gradient-via-color),var(--gradient-to-color,rgba(207,225,230,0))}.xxl\:focus\:to-transparent:focus{--gradient-to-color:transparent}.xxl\:focus\:to-current:focus{--gradient-to-color:currentColor}.xxl\:focus\:to-black:focus{--gradient-to-color:#000}.xxl\:focus\:to-white:focus{--gradient-to-color:#fff}.xxl\:focus\:to-gray-100:focus{--gradient-to-color:#f7fafc}.xxl\:focus\:to-gray-200:focus{--gradient-to-color:#edf2f7}.xxl\:focus\:to-gray-300:focus{--gradient-to-color:#e2e8f0}.xxl\:focus\:to-gray-400:focus{--gradient-to-color:#cbd5e0}.xxl\:focus\:to-gray-500:focus{--gradient-to-color:#a0aec0}.xxl\:focus\:to-gray-600:focus{--gradient-to-color:#718096}.xxl\:focus\:to-gray-700:focus{--gradient-to-color:#4a5568}.xxl\:focus\:to-gray-800:focus{--gradient-to-color:#2d3748}.xxl\:focus\:to-gray-900:focus{--gradient-to-color:#1a202c}.xxl\:focus\:to-red-100:focus{--gradient-to-color:#fff5f5}.xxl\:focus\:to-red-200:focus{--gradient-to-color:#fed7d7}.xxl\:focus\:to-red-300:focus{--gradient-to-color:#feb2b2}.xxl\:focus\:to-red-400:focus{--gradient-to-color:#fc8181}.xxl\:focus\:to-red-500:focus{--gradient-to-color:#f56565}.xxl\:focus\:to-red-600:focus{--gradient-to-color:#e53e3e}.xxl\:focus\:to-red-700:focus{--gradient-to-color:#c53030}.xxl\:focus\:to-red-800:focus{--gradient-to-color:#9b2c2c}.xxl\:focus\:to-red-900:focus{--gradient-to-color:#742a2a}.xxl\:focus\:to-orange-100:focus{--gradient-to-color:#fffaf0}.xxl\:focus\:to-orange-200:focus{--gradient-to-color:#feebc8}.xxl\:focus\:to-orange-300:focus{--gradient-to-color:#fbd38d}.xxl\:focus\:to-orange-400:focus{--gradient-to-color:#f6ad55}.xxl\:focus\:to-orange-500:focus{--gradient-to-color:#ed8936}.xxl\:focus\:to-orange-600:focus{--gradient-to-color:#dd6b20}.xxl\:focus\:to-orange-700:focus{--gradient-to-color:#c05621}.xxl\:focus\:to-orange-800:focus{--gradient-to-color:#9c4221}.xxl\:focus\:to-orange-900:focus{--gradient-to-color:#7b341e}.xxl\:focus\:to-yellow-100:focus{--gradient-to-color:ivory}.xxl\:focus\:to-yellow-200:focus{--gradient-to-color:#fefcbf}.xxl\:focus\:to-yellow-300:focus{--gradient-to-color:#faf089}.xxl\:focus\:to-yellow-400:focus{--gradient-to-color:#f6e05e}.xxl\:focus\:to-yellow-500:focus{--gradient-to-color:#ecc94b}.xxl\:focus\:to-yellow-600:focus{--gradient-to-color:#d69e2e}.xxl\:focus\:to-yellow-700:focus{--gradient-to-color:#b7791f}.xxl\:focus\:to-yellow-800:focus{--gradient-to-color:#975a16}.xxl\:focus\:to-yellow-900:focus{--gradient-to-color:#744210}.xxl\:focus\:to-green-100:focus{--gradient-to-color:#f0fff4}.xxl\:focus\:to-green-200:focus{--gradient-to-color:#c6f6d5}.xxl\:focus\:to-green-300:focus{--gradient-to-color:#9ae6b4}.xxl\:focus\:to-green-400:focus{--gradient-to-color:#68d391}.xxl\:focus\:to-green-500:focus{--gradient-to-color:#48bb78}.xxl\:focus\:to-green-600:focus{--gradient-to-color:#38a169}.xxl\:focus\:to-green-700:focus{--gradient-to-color:#2f855a}.xxl\:focus\:to-green-800:focus{--gradient-to-color:#276749}.xxl\:focus\:to-green-900:focus{--gradient-to-color:#22543d}.xxl\:focus\:to-teal-100:focus{--gradient-to-color:#e6fffa}.xxl\:focus\:to-teal-200:focus{--gradient-to-color:#b2f5ea}.xxl\:focus\:to-teal-300:focus{--gradient-to-color:#81e6d9}.xxl\:focus\:to-teal-400:focus{--gradient-to-color:#4fd1c5}.xxl\:focus\:to-teal-500:focus{--gradient-to-color:#38b2ac}.xxl\:focus\:to-teal-600:focus{--gradient-to-color:#319795}.xxl\:focus\:to-teal-700:focus{--gradient-to-color:#2c7a7b}.xxl\:focus\:to-teal-800:focus{--gradient-to-color:#285e61}.xxl\:focus\:to-teal-900:focus{--gradient-to-color:#234e52}.xxl\:focus\:to-blue-100:focus{--gradient-to-color:#ebf8ff}.xxl\:focus\:to-blue-200:focus{--gradient-to-color:#bee3f8}.xxl\:focus\:to-blue-300:focus{--gradient-to-color:#90cdf4}.xxl\:focus\:to-blue-400:focus{--gradient-to-color:#63b3ed}.xxl\:focus\:to-blue-500:focus{--gradient-to-color:#4299e1}.xxl\:focus\:to-blue-600:focus{--gradient-to-color:#3182ce}.xxl\:focus\:to-blue-700:focus{--gradient-to-color:#2b6cb0}.xxl\:focus\:to-blue-800:focus{--gradient-to-color:#2c5282}.xxl\:focus\:to-blue-900:focus{--gradient-to-color:#2a4365}.xxl\:focus\:to-indigo-100:focus{--gradient-to-color:#ebf4ff}.xxl\:focus\:to-indigo-200:focus{--gradient-to-color:#c3dafe}.xxl\:focus\:to-indigo-300:focus{--gradient-to-color:#a3bffa}.xxl\:focus\:to-indigo-400:focus{--gradient-to-color:#7f9cf5}.xxl\:focus\:to-indigo-500:focus{--gradient-to-color:#667eea}.xxl\:focus\:to-indigo-600:focus{--gradient-to-color:#5a67d8}.xxl\:focus\:to-indigo-700:focus{--gradient-to-color:#4c51bf}.xxl\:focus\:to-indigo-800:focus{--gradient-to-color:#434190}.xxl\:focus\:to-indigo-900:focus{--gradient-to-color:#3c366b}.xxl\:focus\:to-purple-100:focus{--gradient-to-color:#faf5ff}.xxl\:focus\:to-purple-200:focus{--gradient-to-color:#e9d8fd}.xxl\:focus\:to-purple-300:focus{--gradient-to-color:#d6bcfa}.xxl\:focus\:to-purple-400:focus{--gradient-to-color:#b794f4}.xxl\:focus\:to-purple-500:focus{--gradient-to-color:#9f7aea}.xxl\:focus\:to-purple-600:focus{--gradient-to-color:#805ad5}.xxl\:focus\:to-purple-700:focus{--gradient-to-color:#6b46c1}.xxl\:focus\:to-purple-800:focus{--gradient-to-color:#553c9a}.xxl\:focus\:to-purple-900:focus{--gradient-to-color:#44337a}.xxl\:focus\:to-pink-100:focus{--gradient-to-color:#fff5f7}.xxl\:focus\:to-pink-200:focus{--gradient-to-color:#fed7e2}.xxl\:focus\:to-pink-300:focus{--gradient-to-color:#fbb6ce}.xxl\:focus\:to-pink-400:focus{--gradient-to-color:#f687b3}.xxl\:focus\:to-pink-500:focus{--gradient-to-color:#ed64a6}.xxl\:focus\:to-pink-600:focus{--gradient-to-color:#d53f8c}.xxl\:focus\:to-pink-700:focus{--gradient-to-color:#b83280}.xxl\:focus\:to-pink-800:focus{--gradient-to-color:#97266d}.xxl\:focus\:to-pink-900:focus{--gradient-to-color:#702459}.xxl\:focus\:to-primary:focus{--gradient-to-color:#00d1ff}.xxl\:focus\:to-secondary:focus{--gradient-to-color:#e077ff}.xxl\:focus\:to-greenish-blue:focus{--gradient-to-color:#adffed}.xxl\:focus\:to-blue-gray:focus{--gradient-to-color:#cfe1e6}.xxl\:bg-opacity-0{--bg-opacity:0}.xxl\:bg-opacity-25{--bg-opacity:0.25}.xxl\:bg-opacity-50{--bg-opacity:0.5}.xxl\:bg-opacity-75{--bg-opacity:0.75}.xxl\:bg-opacity-100{--bg-opacity:1}.xxl\:hover\:bg-opacity-0:hover{--bg-opacity:0}.xxl\:hover\:bg-opacity-25:hover{--bg-opacity:0.25}.xxl\:hover\:bg-opacity-50:hover{--bg-opacity:0.5}.xxl\:hover\:bg-opacity-75:hover{--bg-opacity:0.75}.xxl\:hover\:bg-opacity-100:hover{--bg-opacity:1}.xxl\:focus\:bg-opacity-0:focus{--bg-opacity:0}.xxl\:focus\:bg-opacity-25:focus{--bg-opacity:0.25}.xxl\:focus\:bg-opacity-50:focus{--bg-opacity:0.5}.xxl\:focus\:bg-opacity-75:focus{--bg-opacity:0.75}.xxl\:focus\:bg-opacity-100:focus{--bg-opacity:1}.xxl\:bg-bottom{background-position:bottom}.xxl\:bg-center{background-position:50%}.xxl\:bg-left{background-position:0}.xxl\:bg-left-bottom{background-position:0 100%}.xxl\:bg-left-top{background-position:0 0}.xxl\:bg-right{background-position:100%}.xxl\:bg-right-bottom{background-position:100% 100%}.xxl\:bg-right-top{background-position:100% 0}.xxl\:bg-top{background-position:top}.xxl\:bg-repeat{background-repeat:repeat}.xxl\:bg-no-repeat{background-repeat:no-repeat}.xxl\:bg-repeat-x{background-repeat:repeat-x}.xxl\:bg-repeat-y{background-repeat:repeat-y}.xxl\:bg-repeat-round{background-repeat:round}.xxl\:bg-repeat-space{background-repeat:space}.xxl\:bg-auto{background-size:auto}.xxl\:bg-cover{background-size:cover}.xxl\:bg-contain{background-size:contain}.xxl\:border-collapse{border-collapse:collapse}.xxl\:border-separate{border-collapse:separate}.xxl\:border-transparent{border-color:transparent}.xxl\:border-current{border-color:currentColor}.xxl\:border-black{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:border-white{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:border-gray-100{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:border-gray-400{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:border-gray-500{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:border-gray-600{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:border-gray-900{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:border-red-100{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:border-red-200{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:border-red-300{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:border-red-400{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:border-red-500{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:border-red-600{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:border-red-700{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:border-red-800{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:border-red-900{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:border-orange-100{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:border-orange-200{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:border-orange-300{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:border-orange-400{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:border-orange-500{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:border-orange-600{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:border-orange-700{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:border-orange-800{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:border-orange-900{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:border-yellow-100{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:border-yellow-200{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:border-yellow-300{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:border-yellow-400{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:border-yellow-500{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:border-yellow-600{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:border-yellow-700{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:border-yellow-800{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:border-yellow-900{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:border-green-100{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:border-green-200{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:border-green-300{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:border-green-400{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:border-green-500{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:border-green-600{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:border-green-700{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:border-green-800{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:border-green-900{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:border-teal-100{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:border-teal-200{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:border-teal-300{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:border-teal-400{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:border-teal-500{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:border-teal-600{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:border-teal-700{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:border-teal-800{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:border-teal-900{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:border-blue-100{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:border-blue-200{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:border-blue-300{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:border-blue-400{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:border-blue-500{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:border-blue-600{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:border-blue-700{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:border-blue-800{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:border-blue-900{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:border-indigo-100{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:border-indigo-200{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:border-indigo-300{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:border-indigo-400{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:border-indigo-500{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:border-indigo-600{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:border-indigo-700{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:border-indigo-800{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:border-indigo-900{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:border-purple-100{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:border-purple-200{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:border-purple-300{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:border-purple-400{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:border-purple-500{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:border-purple-600{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:border-purple-700{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:border-purple-800{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:border-purple-900{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:border-pink-100{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:border-pink-200{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:border-pink-300{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:border-pink-400{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:border-pink-500{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:border-pink-600{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:border-pink-700{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:border-pink-800{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:border-pink-900{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:border-primary{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:border-secondary{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:border-greenish-blue{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:border-blue-gray{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:hover\:border-transparent:hover{border-color:transparent}.xxl\:hover\:border-current:hover{border-color:currentColor}.xxl\:hover\:border-black:hover{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:hover\:border-white:hover{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:hover\:border-gray-100:hover{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:hover\:border-gray-200:hover{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:hover\:border-gray-300:hover{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:hover\:border-gray-400:hover{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:hover\:border-gray-500:hover{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:hover\:border-gray-600:hover{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:hover\:border-gray-700:hover{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:hover\:border-gray-800:hover{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:hover\:border-gray-900:hover{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:hover\:border-red-100:hover{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:hover\:border-red-200:hover{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:hover\:border-red-300:hover{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:hover\:border-red-400:hover{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:hover\:border-red-500:hover{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:hover\:border-red-600:hover{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:hover\:border-red-700:hover{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:hover\:border-red-800:hover{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:hover\:border-red-900:hover{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:hover\:border-orange-100:hover{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:hover\:border-orange-200:hover{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:hover\:border-orange-300:hover{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:hover\:border-orange-400:hover{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:hover\:border-orange-500:hover{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:hover\:border-orange-600:hover{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:hover\:border-orange-700:hover{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:hover\:border-orange-800:hover{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:hover\:border-orange-900:hover{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:hover\:border-yellow-100:hover{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:hover\:border-yellow-200:hover{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:hover\:border-yellow-300:hover{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:hover\:border-yellow-400:hover{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:hover\:border-yellow-500:hover{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:hover\:border-yellow-600:hover{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:hover\:border-yellow-700:hover{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:hover\:border-yellow-800:hover{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:hover\:border-yellow-900:hover{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:hover\:border-green-100:hover{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:hover\:border-green-200:hover{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:hover\:border-green-300:hover{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:hover\:border-green-400:hover{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:hover\:border-green-500:hover{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:hover\:border-green-600:hover{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:hover\:border-green-700:hover{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:hover\:border-green-800:hover{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:hover\:border-green-900:hover{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:hover\:border-teal-100:hover{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:hover\:border-teal-200:hover{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:hover\:border-teal-300:hover{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:hover\:border-teal-400:hover{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:hover\:border-teal-500:hover{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:hover\:border-teal-600:hover{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:hover\:border-teal-700:hover{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:hover\:border-teal-800:hover{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:hover\:border-teal-900:hover{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:hover\:border-blue-100:hover{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:hover\:border-blue-200:hover{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:hover\:border-blue-300:hover{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:hover\:border-blue-400:hover{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:hover\:border-blue-500:hover{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:hover\:border-blue-600:hover{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:hover\:border-blue-700:hover{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:hover\:border-blue-800:hover{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:hover\:border-blue-900:hover{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:hover\:border-indigo-100:hover{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:hover\:border-indigo-200:hover{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:hover\:border-indigo-300:hover{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:hover\:border-indigo-400:hover{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:hover\:border-indigo-500:hover{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:hover\:border-indigo-600:hover{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:hover\:border-indigo-700:hover{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:hover\:border-indigo-800:hover{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:hover\:border-indigo-900:hover{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:hover\:border-purple-100:hover{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:hover\:border-purple-200:hover{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:hover\:border-purple-300:hover{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:hover\:border-purple-400:hover{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:hover\:border-purple-500:hover{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:hover\:border-purple-600:hover{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:hover\:border-purple-700:hover{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:hover\:border-purple-800:hover{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:hover\:border-purple-900:hover{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:hover\:border-pink-100:hover{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:hover\:border-pink-200:hover{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:hover\:border-pink-300:hover{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:hover\:border-pink-400:hover{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:hover\:border-pink-500:hover{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:hover\:border-pink-600:hover{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:hover\:border-pink-700:hover{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:hover\:border-pink-800:hover{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:hover\:border-pink-900:hover{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:hover\:border-primary:hover{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:hover\:border-secondary:hover{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:hover\:border-greenish-blue:hover{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:hover\:border-blue-gray:hover{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:focus\:border-transparent:focus{border-color:transparent}.xxl\:focus\:border-current:focus{border-color:currentColor}.xxl\:focus\:border-black:focus{--border-opacity:1;border-color:#000;border-color:rgba(0,0,0,var(--border-opacity))}.xxl\:focus\:border-white:focus{--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity))}.xxl\:focus\:border-gray-100:focus{--border-opacity:1;border-color:#f7fafc;border-color:rgba(247,250,252,var(--border-opacity))}.xxl\:focus\:border-gray-200:focus{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.xxl\:focus\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.xxl\:focus\:border-gray-400:focus{--border-opacity:1;border-color:#cbd5e0;border-color:rgba(203,213,224,var(--border-opacity))}.xxl\:focus\:border-gray-500:focus{--border-opacity:1;border-color:#a0aec0;border-color:rgba(160,174,192,var(--border-opacity))}.xxl\:focus\:border-gray-600:focus{--border-opacity:1;border-color:#718096;border-color:rgba(113,128,150,var(--border-opacity))}.xxl\:focus\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.xxl\:focus\:border-gray-800:focus{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.xxl\:focus\:border-gray-900:focus{--border-opacity:1;border-color:#1a202c;border-color:rgba(26,32,44,var(--border-opacity))}.xxl\:focus\:border-red-100:focus{--border-opacity:1;border-color:#fff5f5;border-color:rgba(255,245,245,var(--border-opacity))}.xxl\:focus\:border-red-200:focus{--border-opacity:1;border-color:#fed7d7;border-color:rgba(254,215,215,var(--border-opacity))}.xxl\:focus\:border-red-300:focus{--border-opacity:1;border-color:#feb2b2;border-color:rgba(254,178,178,var(--border-opacity))}.xxl\:focus\:border-red-400:focus{--border-opacity:1;border-color:#fc8181;border-color:rgba(252,129,129,var(--border-opacity))}.xxl\:focus\:border-red-500:focus{--border-opacity:1;border-color:#f56565;border-color:rgba(245,101,101,var(--border-opacity))}.xxl\:focus\:border-red-600:focus{--border-opacity:1;border-color:#e53e3e;border-color:rgba(229,62,62,var(--border-opacity))}.xxl\:focus\:border-red-700:focus{--border-opacity:1;border-color:#c53030;border-color:rgba(197,48,48,var(--border-opacity))}.xxl\:focus\:border-red-800:focus{--border-opacity:1;border-color:#9b2c2c;border-color:rgba(155,44,44,var(--border-opacity))}.xxl\:focus\:border-red-900:focus{--border-opacity:1;border-color:#742a2a;border-color:rgba(116,42,42,var(--border-opacity))}.xxl\:focus\:border-orange-100:focus{--border-opacity:1;border-color:#fffaf0;border-color:rgba(255,250,240,var(--border-opacity))}.xxl\:focus\:border-orange-200:focus{--border-opacity:1;border-color:#feebc8;border-color:rgba(254,235,200,var(--border-opacity))}.xxl\:focus\:border-orange-300:focus{--border-opacity:1;border-color:#fbd38d;border-color:rgba(251,211,141,var(--border-opacity))}.xxl\:focus\:border-orange-400:focus{--border-opacity:1;border-color:#f6ad55;border-color:rgba(246,173,85,var(--border-opacity))}.xxl\:focus\:border-orange-500:focus{--border-opacity:1;border-color:#ed8936;border-color:rgba(237,137,54,var(--border-opacity))}.xxl\:focus\:border-orange-600:focus{--border-opacity:1;border-color:#dd6b20;border-color:rgba(221,107,32,var(--border-opacity))}.xxl\:focus\:border-orange-700:focus{--border-opacity:1;border-color:#c05621;border-color:rgba(192,86,33,var(--border-opacity))}.xxl\:focus\:border-orange-800:focus{--border-opacity:1;border-color:#9c4221;border-color:rgba(156,66,33,var(--border-opacity))}.xxl\:focus\:border-orange-900:focus{--border-opacity:1;border-color:#7b341e;border-color:rgba(123,52,30,var(--border-opacity))}.xxl\:focus\:border-yellow-100:focus{--border-opacity:1;border-color:ivory;border-color:rgba(255,255,240,var(--border-opacity))}.xxl\:focus\:border-yellow-200:focus{--border-opacity:1;border-color:#fefcbf;border-color:rgba(254,252,191,var(--border-opacity))}.xxl\:focus\:border-yellow-300:focus{--border-opacity:1;border-color:#faf089;border-color:rgba(250,240,137,var(--border-opacity))}.xxl\:focus\:border-yellow-400:focus{--border-opacity:1;border-color:#f6e05e;border-color:rgba(246,224,94,var(--border-opacity))}.xxl\:focus\:border-yellow-500:focus{--border-opacity:1;border-color:#ecc94b;border-color:rgba(236,201,75,var(--border-opacity))}.xxl\:focus\:border-yellow-600:focus{--border-opacity:1;border-color:#d69e2e;border-color:rgba(214,158,46,var(--border-opacity))}.xxl\:focus\:border-yellow-700:focus{--border-opacity:1;border-color:#b7791f;border-color:rgba(183,121,31,var(--border-opacity))}.xxl\:focus\:border-yellow-800:focus{--border-opacity:1;border-color:#975a16;border-color:rgba(151,90,22,var(--border-opacity))}.xxl\:focus\:border-yellow-900:focus{--border-opacity:1;border-color:#744210;border-color:rgba(116,66,16,var(--border-opacity))}.xxl\:focus\:border-green-100:focus{--border-opacity:1;border-color:#f0fff4;border-color:rgba(240,255,244,var(--border-opacity))}.xxl\:focus\:border-green-200:focus{--border-opacity:1;border-color:#c6f6d5;border-color:rgba(198,246,213,var(--border-opacity))}.xxl\:focus\:border-green-300:focus{--border-opacity:1;border-color:#9ae6b4;border-color:rgba(154,230,180,var(--border-opacity))}.xxl\:focus\:border-green-400:focus{--border-opacity:1;border-color:#68d391;border-color:rgba(104,211,145,var(--border-opacity))}.xxl\:focus\:border-green-500:focus{--border-opacity:1;border-color:#48bb78;border-color:rgba(72,187,120,var(--border-opacity))}.xxl\:focus\:border-green-600:focus{--border-opacity:1;border-color:#38a169;border-color:rgba(56,161,105,var(--border-opacity))}.xxl\:focus\:border-green-700:focus{--border-opacity:1;border-color:#2f855a;border-color:rgba(47,133,90,var(--border-opacity))}.xxl\:focus\:border-green-800:focus{--border-opacity:1;border-color:#276749;border-color:rgba(39,103,73,var(--border-opacity))}.xxl\:focus\:border-green-900:focus{--border-opacity:1;border-color:#22543d;border-color:rgba(34,84,61,var(--border-opacity))}.xxl\:focus\:border-teal-100:focus{--border-opacity:1;border-color:#e6fffa;border-color:rgba(230,255,250,var(--border-opacity))}.xxl\:focus\:border-teal-200:focus{--border-opacity:1;border-color:#b2f5ea;border-color:rgba(178,245,234,var(--border-opacity))}.xxl\:focus\:border-teal-300:focus{--border-opacity:1;border-color:#81e6d9;border-color:rgba(129,230,217,var(--border-opacity))}.xxl\:focus\:border-teal-400:focus{--border-opacity:1;border-color:#4fd1c5;border-color:rgba(79,209,197,var(--border-opacity))}.xxl\:focus\:border-teal-500:focus{--border-opacity:1;border-color:#38b2ac;border-color:rgba(56,178,172,var(--border-opacity))}.xxl\:focus\:border-teal-600:focus{--border-opacity:1;border-color:#319795;border-color:rgba(49,151,149,var(--border-opacity))}.xxl\:focus\:border-teal-700:focus{--border-opacity:1;border-color:#2c7a7b;border-color:rgba(44,122,123,var(--border-opacity))}.xxl\:focus\:border-teal-800:focus{--border-opacity:1;border-color:#285e61;border-color:rgba(40,94,97,var(--border-opacity))}.xxl\:focus\:border-teal-900:focus{--border-opacity:1;border-color:#234e52;border-color:rgba(35,78,82,var(--border-opacity))}.xxl\:focus\:border-blue-100:focus{--border-opacity:1;border-color:#ebf8ff;border-color:rgba(235,248,255,var(--border-opacity))}.xxl\:focus\:border-blue-200:focus{--border-opacity:1;border-color:#bee3f8;border-color:rgba(190,227,248,var(--border-opacity))}.xxl\:focus\:border-blue-300:focus{--border-opacity:1;border-color:#90cdf4;border-color:rgba(144,205,244,var(--border-opacity))}.xxl\:focus\:border-blue-400:focus{--border-opacity:1;border-color:#63b3ed;border-color:rgba(99,179,237,var(--border-opacity))}.xxl\:focus\:border-blue-500:focus{--border-opacity:1;border-color:#4299e1;border-color:rgba(66,153,225,var(--border-opacity))}.xxl\:focus\:border-blue-600:focus{--border-opacity:1;border-color:#3182ce;border-color:rgba(49,130,206,var(--border-opacity))}.xxl\:focus\:border-blue-700:focus{--border-opacity:1;border-color:#2b6cb0;border-color:rgba(43,108,176,var(--border-opacity))}.xxl\:focus\:border-blue-800:focus{--border-opacity:1;border-color:#2c5282;border-color:rgba(44,82,130,var(--border-opacity))}.xxl\:focus\:border-blue-900:focus{--border-opacity:1;border-color:#2a4365;border-color:rgba(42,67,101,var(--border-opacity))}.xxl\:focus\:border-indigo-100:focus{--border-opacity:1;border-color:#ebf4ff;border-color:rgba(235,244,255,var(--border-opacity))}.xxl\:focus\:border-indigo-200:focus{--border-opacity:1;border-color:#c3dafe;border-color:rgba(195,218,254,var(--border-opacity))}.xxl\:focus\:border-indigo-300:focus{--border-opacity:1;border-color:#a3bffa;border-color:rgba(163,191,250,var(--border-opacity))}.xxl\:focus\:border-indigo-400:focus{--border-opacity:1;border-color:#7f9cf5;border-color:rgba(127,156,245,var(--border-opacity))}.xxl\:focus\:border-indigo-500:focus{--border-opacity:1;border-color:#667eea;border-color:rgba(102,126,234,var(--border-opacity))}.xxl\:focus\:border-indigo-600:focus{--border-opacity:1;border-color:#5a67d8;border-color:rgba(90,103,216,var(--border-opacity))}.xxl\:focus\:border-indigo-700:focus{--border-opacity:1;border-color:#4c51bf;border-color:rgba(76,81,191,var(--border-opacity))}.xxl\:focus\:border-indigo-800:focus{--border-opacity:1;border-color:#434190;border-color:rgba(67,65,144,var(--border-opacity))}.xxl\:focus\:border-indigo-900:focus{--border-opacity:1;border-color:#3c366b;border-color:rgba(60,54,107,var(--border-opacity))}.xxl\:focus\:border-purple-100:focus{--border-opacity:1;border-color:#faf5ff;border-color:rgba(250,245,255,var(--border-opacity))}.xxl\:focus\:border-purple-200:focus{--border-opacity:1;border-color:#e9d8fd;border-color:rgba(233,216,253,var(--border-opacity))}.xxl\:focus\:border-purple-300:focus{--border-opacity:1;border-color:#d6bcfa;border-color:rgba(214,188,250,var(--border-opacity))}.xxl\:focus\:border-purple-400:focus{--border-opacity:1;border-color:#b794f4;border-color:rgba(183,148,244,var(--border-opacity))}.xxl\:focus\:border-purple-500:focus{--border-opacity:1;border-color:#9f7aea;border-color:rgba(159,122,234,var(--border-opacity))}.xxl\:focus\:border-purple-600:focus{--border-opacity:1;border-color:#805ad5;border-color:rgba(128,90,213,var(--border-opacity))}.xxl\:focus\:border-purple-700:focus{--border-opacity:1;border-color:#6b46c1;border-color:rgba(107,70,193,var(--border-opacity))}.xxl\:focus\:border-purple-800:focus{--border-opacity:1;border-color:#553c9a;border-color:rgba(85,60,154,var(--border-opacity))}.xxl\:focus\:border-purple-900:focus{--border-opacity:1;border-color:#44337a;border-color:rgba(68,51,122,var(--border-opacity))}.xxl\:focus\:border-pink-100:focus{--border-opacity:1;border-color:#fff5f7;border-color:rgba(255,245,247,var(--border-opacity))}.xxl\:focus\:border-pink-200:focus{--border-opacity:1;border-color:#fed7e2;border-color:rgba(254,215,226,var(--border-opacity))}.xxl\:focus\:border-pink-300:focus{--border-opacity:1;border-color:#fbb6ce;border-color:rgba(251,182,206,var(--border-opacity))}.xxl\:focus\:border-pink-400:focus{--border-opacity:1;border-color:#f687b3;border-color:rgba(246,135,179,var(--border-opacity))}.xxl\:focus\:border-pink-500:focus{--border-opacity:1;border-color:#ed64a6;border-color:rgba(237,100,166,var(--border-opacity))}.xxl\:focus\:border-pink-600:focus{--border-opacity:1;border-color:#d53f8c;border-color:rgba(213,63,140,var(--border-opacity))}.xxl\:focus\:border-pink-700:focus{--border-opacity:1;border-color:#b83280;border-color:rgba(184,50,128,var(--border-opacity))}.xxl\:focus\:border-pink-800:focus{--border-opacity:1;border-color:#97266d;border-color:rgba(151,38,109,var(--border-opacity))}.xxl\:focus\:border-pink-900:focus{--border-opacity:1;border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity))}.xxl\:focus\:border-primary:focus{--border-opacity:1;border-color:#00d1ff;border-color:rgba(0,209,255,var(--border-opacity))}.xxl\:focus\:border-secondary:focus{--border-opacity:1;border-color:#e077ff;border-color:rgba(224,119,255,var(--border-opacity))}.xxl\:focus\:border-greenish-blue:focus{--border-opacity:1;border-color:#adffed;border-color:rgba(173,255,237,var(--border-opacity))}.xxl\:focus\:border-blue-gray:focus{--border-opacity:1;border-color:#cfe1e6;border-color:rgba(207,225,230,var(--border-opacity))}.xxl\:border-opacity-0{--border-opacity:0}.xxl\:border-opacity-25{--border-opacity:0.25}.xxl\:border-opacity-50{--border-opacity:0.5}.xxl\:border-opacity-75{--border-opacity:0.75}.xxl\:border-opacity-100{--border-opacity:1}.xxl\:hover\:border-opacity-0:hover{--border-opacity:0}.xxl\:hover\:border-opacity-25:hover{--border-opacity:0.25}.xxl\:hover\:border-opacity-50:hover{--border-opacity:0.5}.xxl\:hover\:border-opacity-75:hover{--border-opacity:0.75}.xxl\:hover\:border-opacity-100:hover{--border-opacity:1}.xxl\:focus\:border-opacity-0:focus{--border-opacity:0}.xxl\:focus\:border-opacity-25:focus{--border-opacity:0.25}.xxl\:focus\:border-opacity-50:focus{--border-opacity:0.5}.xxl\:focus\:border-opacity-75:focus{--border-opacity:0.75}.xxl\:focus\:border-opacity-100:focus{--border-opacity:1}.xxl\:rounded-none{border-radius:0}.xxl\:rounded-sm{border-radius:.125rem}.xxl\:rounded{border-radius:.25rem}.xxl\:rounded-md{border-radius:.375rem}.xxl\:rounded-lg{border-radius:.5rem}.xxl\:rounded-xl{border-radius:.75rem}.xxl\:rounded-2xl{border-radius:1rem}.xxl\:rounded-3xl{border-radius:1.5rem}.xxl\:rounded-full{border-radius:9999px}.xxl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xxl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xxl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xxl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xxl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xxl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xxl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xxl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xxl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xxl\:rounded-r{border-top-right-radius:.25rem}.xxl\:rounded-b,.xxl\:rounded-r{border-bottom-right-radius:.25rem}.xxl\:rounded-b,.xxl\:rounded-l{border-bottom-left-radius:.25rem}.xxl\:rounded-l{border-top-left-radius:.25rem}.xxl\:rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.xxl\:rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.xxl\:rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.xxl\:rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.xxl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xxl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xxl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xxl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xxl\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.xxl\:rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.xxl\:rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.xxl\:rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.xxl\:rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.xxl\:rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.xxl\:rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.xxl\:rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.xxl\:rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.xxl\:rounded-r-3xl{border-top-right-radius:1.5rem;border-bottom-right-radius:1.5rem}.xxl\:rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem}.xxl\:rounded-l-3xl{border-top-left-radius:1.5rem;border-bottom-left-radius:1.5rem}.xxl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xxl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xxl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xxl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xxl\:rounded-tl-none{border-top-left-radius:0}.xxl\:rounded-tr-none{border-top-right-radius:0}.xxl\:rounded-br-none{border-bottom-right-radius:0}.xxl\:rounded-bl-none{border-bottom-left-radius:0}.xxl\:rounded-tl-sm{border-top-left-radius:.125rem}.xxl\:rounded-tr-sm{border-top-right-radius:.125rem}.xxl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xxl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xxl\:rounded-tl{border-top-left-radius:.25rem}.xxl\:rounded-tr{border-top-right-radius:.25rem}.xxl\:rounded-br{border-bottom-right-radius:.25rem}.xxl\:rounded-bl{border-bottom-left-radius:.25rem}.xxl\:rounded-tl-md{border-top-left-radius:.375rem}.xxl\:rounded-tr-md{border-top-right-radius:.375rem}.xxl\:rounded-br-md{border-bottom-right-radius:.375rem}.xxl\:rounded-bl-md{border-bottom-left-radius:.375rem}.xxl\:rounded-tl-lg{border-top-left-radius:.5rem}.xxl\:rounded-tr-lg{border-top-right-radius:.5rem}.xxl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xxl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xxl\:rounded-tl-xl{border-top-left-radius:.75rem}.xxl\:rounded-tr-xl{border-top-right-radius:.75rem}.xxl\:rounded-br-xl{border-bottom-right-radius:.75rem}.xxl\:rounded-bl-xl{border-bottom-left-radius:.75rem}.xxl\:rounded-tl-2xl{border-top-left-radius:1rem}.xxl\:rounded-tr-2xl{border-top-right-radius:1rem}.xxl\:rounded-br-2xl{border-bottom-right-radius:1rem}.xxl\:rounded-bl-2xl{border-bottom-left-radius:1rem}.xxl\:rounded-tl-3xl{border-top-left-radius:1.5rem}.xxl\:rounded-tr-3xl{border-top-right-radius:1.5rem}.xxl\:rounded-br-3xl{border-bottom-right-radius:1.5rem}.xxl\:rounded-bl-3xl{border-bottom-left-radius:1.5rem}.xxl\:rounded-tl-full{border-top-left-radius:9999px}.xxl\:rounded-tr-full{border-top-right-radius:9999px}.xxl\:rounded-br-full{border-bottom-right-radius:9999px}.xxl\:rounded-bl-full{border-bottom-left-radius:9999px}.xxl\:border-solid{border-style:solid}.xxl\:border-dashed{border-style:dashed}.xxl\:border-dotted{border-style:dotted}.xxl\:border-double{border-style:double}.xxl\:border-none{border-style:none}.xxl\:border-0{border-width:0}.xxl\:border-2{border-width:2px}.xxl\:border-4{border-width:4px}.xxl\:border-8{border-width:8px}.xxl\:border{border-width:1px}.xxl\:border-t-0{border-top-width:0}.xxl\:border-r-0{border-right-width:0}.xxl\:border-b-0{border-bottom-width:0}.xxl\:border-l-0{border-left-width:0}.xxl\:border-t-2{border-top-width:2px}.xxl\:border-r-2{border-right-width:2px}.xxl\:border-b-2{border-bottom-width:2px}.xxl\:border-l-2{border-left-width:2px}.xxl\:border-t-4{border-top-width:4px}.xxl\:border-r-4{border-right-width:4px}.xxl\:border-b-4{border-bottom-width:4px}.xxl\:border-l-4{border-left-width:4px}.xxl\:border-t-8{border-top-width:8px}.xxl\:border-r-8{border-right-width:8px}.xxl\:border-b-8{border-bottom-width:8px}.xxl\:border-l-8{border-left-width:8px}.xxl\:border-t{border-top-width:1px}.xxl\:border-r{border-right-width:1px}.xxl\:border-b{border-bottom-width:1px}.xxl\:border-l{border-left-width:1px}.xxl\:box-border{box-sizing:border-box}.xxl\:box-content{box-sizing:content-box}.xxl\:cursor-auto{cursor:auto}.xxl\:cursor-default{cursor:default}.xxl\:cursor-pointer{cursor:pointer}.xxl\:cursor-wait{cursor:wait}.xxl\:cursor-text{cursor:text}.xxl\:cursor-move{cursor:move}.xxl\:cursor-not-allowed{cursor:not-allowed}.xxl\:block{display:block}.xxl\:inline-block{display:inline-block}.xxl\:inline{display:inline}.xxl\:flex{display:flex}.xxl\:inline-flex{display:inline-flex}.xxl\:table{display:table}.xxl\:table-caption{display:table-caption}.xxl\:table-cell{display:table-cell}.xxl\:table-column{display:table-column}.xxl\:table-column-group{display:table-column-group}.xxl\:table-footer-group{display:table-footer-group}.xxl\:table-header-group{display:table-header-group}.xxl\:table-row-group{display:table-row-group}.xxl\:table-row{display:table-row}.xxl\:flow-root{display:flow-root}.xxl\:grid{display:grid}.xxl\:inline-grid{display:inline-grid}.xxl\:contents{display:contents}.xxl\:hidden{display:none}.xxl\:flex-row{flex-direction:row}.xxl\:flex-row-reverse{flex-direction:row-reverse}.xxl\:flex-col{flex-direction:column}.xxl\:flex-col-reverse{flex-direction:column-reverse}.xxl\:flex-wrap{flex-wrap:wrap}.xxl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xxl\:flex-no-wrap{flex-wrap:nowrap}.xxl\:place-items-auto{place-items:auto}.xxl\:place-items-start{place-items:start}.xxl\:place-items-end{place-items:end}.xxl\:place-items-center{place-items:center}.xxl\:place-items-stretch{place-items:stretch}.xxl\:place-content-center{place-content:center}.xxl\:place-content-start{place-content:start}.xxl\:place-content-end{place-content:end}.xxl\:place-content-between{place-content:space-between}.xxl\:place-content-around{place-content:space-around}.xxl\:place-content-evenly{place-content:space-evenly}.xxl\:place-content-stretch{place-content:stretch}.xxl\:place-self-auto{place-self:auto}.xxl\:place-self-start{place-self:start}.xxl\:place-self-end{place-self:end}.xxl\:place-self-center{place-self:center}.xxl\:place-self-stretch{place-self:stretch}.xxl\:items-start{align-items:flex-start}.xxl\:items-end{align-items:flex-end}.xxl\:items-center{align-items:center}.xxl\:items-baseline{align-items:baseline}.xxl\:items-stretch{align-items:stretch}.xxl\:content-center{align-content:center}.xxl\:content-start{align-content:flex-start}.xxl\:content-end{align-content:flex-end}.xxl\:content-between{align-content:space-between}.xxl\:content-around{align-content:space-around}.xxl\:content-evenly{align-content:space-evenly}.xxl\:self-auto{align-self:auto}.xxl\:self-start{align-self:flex-start}.xxl\:self-end{align-self:flex-end}.xxl\:self-center{align-self:center}.xxl\:self-stretch{align-self:stretch}.xxl\:justify-items-auto{justify-items:auto}.xxl\:justify-items-start{justify-items:start}.xxl\:justify-items-end{justify-items:end}.xxl\:justify-items-center{justify-items:center}.xxl\:justify-items-stretch{justify-items:stretch}.xxl\:justify-start{justify-content:flex-start}.xxl\:justify-end{justify-content:flex-end}.xxl\:justify-center{justify-content:center}.xxl\:justify-between{justify-content:space-between}.xxl\:justify-around{justify-content:space-around}.xxl\:justify-evenly{justify-content:space-evenly}.xxl\:justify-self-auto{justify-self:auto}.xxl\:justify-self-start{justify-self:start}.xxl\:justify-self-end{justify-self:end}.xxl\:justify-self-center{justify-self:center}.xxl\:justify-self-stretch{justify-self:stretch}.xxl\:flex-1{flex:1 1 0%}.xxl\:flex-auto{flex:1 1 auto}.xxl\:flex-initial{flex:0 1 auto}.xxl\:flex-none{flex:none}.xxl\:flex-grow-0{flex-grow:0}.xxl\:flex-grow{flex-grow:1}.xxl\:flex-shrink-0{flex-shrink:0}.xxl\:flex-shrink{flex-shrink:1}.xxl\:order-1{order:1}.xxl\:order-2{order:2}.xxl\:order-3{order:3}.xxl\:order-4{order:4}.xxl\:order-5{order:5}.xxl\:order-6{order:6}.xxl\:order-7{order:7}.xxl\:order-8{order:8}.xxl\:order-9{order:9}.xxl\:order-10{order:10}.xxl\:order-11{order:11}.xxl\:order-12{order:12}.xxl\:order-first{order:-9999}.xxl\:order-last{order:9999}.xxl\:order-none{order:0}.xxl\:float-right{float:right}.xxl\:float-left{float:left}.xxl\:float-none{float:none}.xxl\:clearfix:after{content:"";display:table;clear:both}.xxl\:clear-left{clear:left}.xxl\:clear-right{clear:right}.xxl\:clear-both{clear:both}.xxl\:clear-none{clear:none}.xxl\:font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.xxl\:font-serif{font-family:Georgia,Cambria,Times New Roman,Times,serif}.xxl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xxl\:font-hairline{font-weight:100}.xxl\:font-thin{font-weight:200}.xxl\:font-light{font-weight:300}.xxl\:font-normal{font-weight:400}.xxl\:font-medium{font-weight:500}.xxl\:font-semibold{font-weight:600}.xxl\:font-bold{font-weight:700}.xxl\:font-extrabold{font-weight:800}.xxl\:font-black{font-weight:900}.xxl\:hover\:font-hairline:hover{font-weight:100}.xxl\:hover\:font-thin:hover{font-weight:200}.xxl\:hover\:font-light:hover{font-weight:300}.xxl\:hover\:font-normal:hover{font-weight:400}.xxl\:hover\:font-medium:hover{font-weight:500}.xxl\:hover\:font-semibold:hover{font-weight:600}.xxl\:hover\:font-bold:hover{font-weight:700}.xxl\:hover\:font-extrabold:hover{font-weight:800}.xxl\:hover\:font-black:hover{font-weight:900}.xxl\:focus\:font-hairline:focus{font-weight:100}.xxl\:focus\:font-thin:focus{font-weight:200}.xxl\:focus\:font-light:focus{font-weight:300}.xxl\:focus\:font-normal:focus{font-weight:400}.xxl\:focus\:font-medium:focus{font-weight:500}.xxl\:focus\:font-semibold:focus{font-weight:600}.xxl\:focus\:font-bold:focus{font-weight:700}.xxl\:focus\:font-extrabold:focus{font-weight:800}.xxl\:focus\:font-black:focus{font-weight:900}.xxl\:h-0{height:0}.xxl\:h-1{height:.25rem}.xxl\:h-2{height:.5rem}.xxl\:h-3{height:.75rem}.xxl\:h-4{height:1rem}.xxl\:h-5{height:1.25rem}.xxl\:h-6{height:1.5rem}.xxl\:h-8{height:2rem}.xxl\:h-10{height:2.5rem}.xxl\:h-12{height:3rem}.xxl\:h-16{height:4rem}.xxl\:h-20{height:5rem}.xxl\:h-24{height:6rem}.xxl\:h-32{height:8rem}.xxl\:h-40{height:10rem}.xxl\:h-48{height:12rem}.xxl\:h-56{height:14rem}.xxl\:h-64{height:16rem}.xxl\:h-auto{height:auto}.xxl\:h-px{height:1px}.xxl\:h-full{height:100%}.xxl\:h-screen{height:100vh}.xxl\:text-xs{font-size:.75rem}.xxl\:text-sm{font-size:.875rem}.xxl\:text-base{font-size:1rem}.xxl\:text-lg{font-size:1.125rem}.xxl\:text-xl{font-size:1.25rem}.xxl\:text-2xl{font-size:1.5rem}.xxl\:text-3xl{font-size:1.875rem}.xxl\:text-4xl{font-size:2.25rem}.xxl\:text-5xl{font-size:3rem}.xxl\:text-6xl{font-size:4rem}.xxl\:leading-3{line-height:.75rem}.xxl\:leading-4{line-height:1rem}.xxl\:leading-5{line-height:1.25rem}.xxl\:leading-6{line-height:1.5rem}.xxl\:leading-7{line-height:1.75rem}.xxl\:leading-8{line-height:2rem}.xxl\:leading-9{line-height:2.25rem}.xxl\:leading-10{line-height:2.5rem}.xxl\:leading-none{line-height:1}.xxl\:leading-tight{line-height:1.25}.xxl\:leading-snug{line-height:1.375}.xxl\:leading-normal{line-height:1.5}.xxl\:leading-relaxed{line-height:1.625}.xxl\:leading-loose{line-height:2}.xxl\:list-inside{list-style-position:inside}.xxl\:list-outside{list-style-position:outside}.xxl\:list-none{list-style-type:none}.xxl\:list-disc{list-style-type:disc}.xxl\:list-decimal{list-style-type:decimal}.xxl\:m-0{margin:0}.xxl\:m-1{margin:.25rem}.xxl\:m-2{margin:.5rem}.xxl\:m-3{margin:.75rem}.xxl\:m-4{margin:1rem}.xxl\:m-5{margin:1.25rem}.xxl\:m-6{margin:1.5rem}.xxl\:m-8{margin:2rem}.xxl\:m-10{margin:2.5rem}.xxl\:m-12{margin:3rem}.xxl\:m-16{margin:4rem}.xxl\:m-20{margin:5rem}.xxl\:m-24{margin:6rem}.xxl\:m-32{margin:8rem}.xxl\:m-40{margin:10rem}.xxl\:m-48{margin:12rem}.xxl\:m-56{margin:14rem}.xxl\:m-64{margin:16rem}.xxl\:m-auto{margin:auto}.xxl\:m-px{margin:1px}.xxl\:-m-1{margin:-.25rem}.xxl\:-m-2{margin:-.5rem}.xxl\:-m-3{margin:-.75rem}.xxl\:-m-4{margin:-1rem}.xxl\:-m-5{margin:-1.25rem}.xxl\:-m-6{margin:-1.5rem}.xxl\:-m-8{margin:-2rem}.xxl\:-m-10{margin:-2.5rem}.xxl\:-m-12{margin:-3rem}.xxl\:-m-16{margin:-4rem}.xxl\:-m-20{margin:-5rem}.xxl\:-m-24{margin:-6rem}.xxl\:-m-32{margin:-8rem}.xxl\:-m-40{margin:-10rem}.xxl\:-m-48{margin:-12rem}.xxl\:-m-56{margin:-14rem}.xxl\:-m-64{margin:-16rem}.xxl\:-m-px{margin:-1px}.xxl\:my-0{margin-top:0;margin-bottom:0}.xxl\:mx-0{margin-left:0;margin-right:0}.xxl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xxl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xxl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xxl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xxl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xxl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xxl\:my-4{margin-top:1rem;margin-bottom:1rem}.xxl\:mx-4{margin-left:1rem;margin-right:1rem}.xxl\:my-5{margin-top:1.25rem;margin-bottom:1.25rem}.xxl\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.xxl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xxl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xxl\:my-8{margin-top:2rem;margin-bottom:2rem}.xxl\:mx-8{margin-left:2rem;margin-right:2rem}.xxl\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.xxl\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.xxl\:my-12{margin-top:3rem;margin-bottom:3rem}.xxl\:mx-12{margin-left:3rem;margin-right:3rem}.xxl\:my-16{margin-top:4rem;margin-bottom:4rem}.xxl\:mx-16{margin-left:4rem;margin-right:4rem}.xxl\:my-20{margin-top:5rem;margin-bottom:5rem}.xxl\:mx-20{margin-left:5rem;margin-right:5rem}.xxl\:my-24{margin-top:6rem;margin-bottom:6rem}.xxl\:mx-24{margin-left:6rem;margin-right:6rem}.xxl\:my-32{margin-top:8rem;margin-bottom:8rem}.xxl\:mx-32{margin-left:8rem;margin-right:8rem}.xxl\:my-40{margin-top:10rem;margin-bottom:10rem}.xxl\:mx-40{margin-left:10rem;margin-right:10rem}.xxl\:my-48{margin-top:12rem;margin-bottom:12rem}.xxl\:mx-48{margin-left:12rem;margin-right:12rem}.xxl\:my-56{margin-top:14rem;margin-bottom:14rem}.xxl\:mx-56{margin-left:14rem;margin-right:14rem}.xxl\:my-64{margin-top:16rem;margin-bottom:16rem}.xxl\:mx-64{margin-left:16rem;margin-right:16rem}.xxl\:my-auto{margin-top:auto;margin-bottom:auto}.xxl\:mx-auto{margin-left:auto;margin-right:auto}.xxl\:my-px{margin-top:1px;margin-bottom:1px}.xxl\:mx-px{margin-left:1px;margin-right:1px}.xxl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xxl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xxl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xxl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xxl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xxl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xxl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xxl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xxl\:-my-5{margin-top:-1.25rem;margin-bottom:-1.25rem}.xxl\:-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.xxl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xxl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xxl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xxl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xxl\:-my-10{margin-top:-2.5rem;margin-bottom:-2.5rem}.xxl\:-mx-10{margin-left:-2.5rem;margin-right:-2.5rem}.xxl\:-my-12{margin-top:-3rem;margin-bottom:-3rem}.xxl\:-mx-12{margin-left:-3rem;margin-right:-3rem}.xxl\:-my-16{margin-top:-4rem;margin-bottom:-4rem}.xxl\:-mx-16{margin-left:-4rem;margin-right:-4rem}.xxl\:-my-20{margin-top:-5rem;margin-bottom:-5rem}.xxl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xxl\:-my-24{margin-top:-6rem;margin-bottom:-6rem}.xxl\:-mx-24{margin-left:-6rem;margin-right:-6rem}.xxl\:-my-32{margin-top:-8rem;margin-bottom:-8rem}.xxl\:-mx-32{margin-left:-8rem;margin-right:-8rem}.xxl\:-my-40{margin-top:-10rem;margin-bottom:-10rem}.xxl\:-mx-40{margin-left:-10rem;margin-right:-10rem}.xxl\:-my-48{margin-top:-12rem;margin-bottom:-12rem}.xxl\:-mx-48{margin-left:-12rem;margin-right:-12rem}.xxl\:-my-56{margin-top:-14rem;margin-bottom:-14rem}.xxl\:-mx-56{margin-left:-14rem;margin-right:-14rem}.xxl\:-my-64{margin-top:-16rem;margin-bottom:-16rem}.xxl\:-mx-64{margin-left:-16rem;margin-right:-16rem}.xxl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xxl\:-mx-px{margin-left:-1px;margin-right:-1px}.xxl\:mt-0{margin-top:0}.xxl\:mr-0{margin-right:0}.xxl\:mb-0{margin-bottom:0}.xxl\:ml-0{margin-left:0}.xxl\:mt-1{margin-top:.25rem}.xxl\:mr-1{margin-right:.25rem}.xxl\:mb-1{margin-bottom:.25rem}.xxl\:ml-1{margin-left:.25rem}.xxl\:mt-2{margin-top:.5rem}.xxl\:mr-2{margin-right:.5rem}.xxl\:mb-2{margin-bottom:.5rem}.xxl\:ml-2{margin-left:.5rem}.xxl\:mt-3{margin-top:.75rem}.xxl\:mr-3{margin-right:.75rem}.xxl\:mb-3{margin-bottom:.75rem}.xxl\:ml-3{margin-left:.75rem}.xxl\:mt-4{margin-top:1rem}.xxl\:mr-4{margin-right:1rem}.xxl\:mb-4{margin-bottom:1rem}.xxl\:ml-4{margin-left:1rem}.xxl\:mt-5{margin-top:1.25rem}.xxl\:mr-5{margin-right:1.25rem}.xxl\:mb-5{margin-bottom:1.25rem}.xxl\:ml-5{margin-left:1.25rem}.xxl\:mt-6{margin-top:1.5rem}.xxl\:mr-6{margin-right:1.5rem}.xxl\:mb-6{margin-bottom:1.5rem}.xxl\:ml-6{margin-left:1.5rem}.xxl\:mt-8{margin-top:2rem}.xxl\:mr-8{margin-right:2rem}.xxl\:mb-8{margin-bottom:2rem}.xxl\:ml-8{margin-left:2rem}.xxl\:mt-10{margin-top:2.5rem}.xxl\:mr-10{margin-right:2.5rem}.xxl\:mb-10{margin-bottom:2.5rem}.xxl\:ml-10{margin-left:2.5rem}.xxl\:mt-12{margin-top:3rem}.xxl\:mr-12{margin-right:3rem}.xxl\:mb-12{margin-bottom:3rem}.xxl\:ml-12{margin-left:3rem}.xxl\:mt-16{margin-top:4rem}.xxl\:mr-16{margin-right:4rem}.xxl\:mb-16{margin-bottom:4rem}.xxl\:ml-16{margin-left:4rem}.xxl\:mt-20{margin-top:5rem}.xxl\:mr-20{margin-right:5rem}.xxl\:mb-20{margin-bottom:5rem}.xxl\:ml-20{margin-left:5rem}.xxl\:mt-24{margin-top:6rem}.xxl\:mr-24{margin-right:6rem}.xxl\:mb-24{margin-bottom:6rem}.xxl\:ml-24{margin-left:6rem}.xxl\:mt-32{margin-top:8rem}.xxl\:mr-32{margin-right:8rem}.xxl\:mb-32{margin-bottom:8rem}.xxl\:ml-32{margin-left:8rem}.xxl\:mt-40{margin-top:10rem}.xxl\:mr-40{margin-right:10rem}.xxl\:mb-40{margin-bottom:10rem}.xxl\:ml-40{margin-left:10rem}.xxl\:mt-48{margin-top:12rem}.xxl\:mr-48{margin-right:12rem}.xxl\:mb-48{margin-bottom:12rem}.xxl\:ml-48{margin-left:12rem}.xxl\:mt-56{margin-top:14rem}.xxl\:mr-56{margin-right:14rem}.xxl\:mb-56{margin-bottom:14rem}.xxl\:ml-56{margin-left:14rem}.xxl\:mt-64{margin-top:16rem}.xxl\:mr-64{margin-right:16rem}.xxl\:mb-64{margin-bottom:16rem}.xxl\:ml-64{margin-left:16rem}.xxl\:mt-auto{margin-top:auto}.xxl\:mr-auto{margin-right:auto}.xxl\:mb-auto{margin-bottom:auto}.xxl\:ml-auto{margin-left:auto}.xxl\:mt-px{margin-top:1px}.xxl\:mr-px{margin-right:1px}.xxl\:mb-px{margin-bottom:1px}.xxl\:ml-px{margin-left:1px}.xxl\:-mt-1{margin-top:-.25rem}.xxl\:-mr-1{margin-right:-.25rem}.xxl\:-mb-1{margin-bottom:-.25rem}.xxl\:-ml-1{margin-left:-.25rem}.xxl\:-mt-2{margin-top:-.5rem}.xxl\:-mr-2{margin-right:-.5rem}.xxl\:-mb-2{margin-bottom:-.5rem}.xxl\:-ml-2{margin-left:-.5rem}.xxl\:-mt-3{margin-top:-.75rem}.xxl\:-mr-3{margin-right:-.75rem}.xxl\:-mb-3{margin-bottom:-.75rem}.xxl\:-ml-3{margin-left:-.75rem}.xxl\:-mt-4{margin-top:-1rem}.xxl\:-mr-4{margin-right:-1rem}.xxl\:-mb-4{margin-bottom:-1rem}.xxl\:-ml-4{margin-left:-1rem}.xxl\:-mt-5{margin-top:-1.25rem}.xxl\:-mr-5{margin-right:-1.25rem}.xxl\:-mb-5{margin-bottom:-1.25rem}.xxl\:-ml-5{margin-left:-1.25rem}.xxl\:-mt-6{margin-top:-1.5rem}.xxl\:-mr-6{margin-right:-1.5rem}.xxl\:-mb-6{margin-bottom:-1.5rem}.xxl\:-ml-6{margin-left:-1.5rem}.xxl\:-mt-8{margin-top:-2rem}.xxl\:-mr-8{margin-right:-2rem}.xxl\:-mb-8{margin-bottom:-2rem}.xxl\:-ml-8{margin-left:-2rem}.xxl\:-mt-10{margin-top:-2.5rem}.xxl\:-mr-10{margin-right:-2.5rem}.xxl\:-mb-10{margin-bottom:-2.5rem}.xxl\:-ml-10{margin-left:-2.5rem}.xxl\:-mt-12{margin-top:-3rem}.xxl\:-mr-12{margin-right:-3rem}.xxl\:-mb-12{margin-bottom:-3rem}.xxl\:-ml-12{margin-left:-3rem}.xxl\:-mt-16{margin-top:-4rem}.xxl\:-mr-16{margin-right:-4rem}.xxl\:-mb-16{margin-bottom:-4rem}.xxl\:-ml-16{margin-left:-4rem}.xxl\:-mt-20{margin-top:-5rem}.xxl\:-mr-20{margin-right:-5rem}.xxl\:-mb-20{margin-bottom:-5rem}.xxl\:-ml-20{margin-left:-5rem}.xxl\:-mt-24{margin-top:-6rem}.xxl\:-mr-24{margin-right:-6rem}.xxl\:-mb-24{margin-bottom:-6rem}.xxl\:-ml-24{margin-left:-6rem}.xxl\:-mt-32{margin-top:-8rem}.xxl\:-mr-32{margin-right:-8rem}.xxl\:-mb-32{margin-bottom:-8rem}.xxl\:-ml-32{margin-left:-8rem}.xxl\:-mt-40{margin-top:-10rem}.xxl\:-mr-40{margin-right:-10rem}.xxl\:-mb-40{margin-bottom:-10rem}.xxl\:-ml-40{margin-left:-10rem}.xxl\:-mt-48{margin-top:-12rem}.xxl\:-mr-48{margin-right:-12rem}.xxl\:-mb-48{margin-bottom:-12rem}.xxl\:-ml-48{margin-left:-12rem}.xxl\:-mt-56{margin-top:-14rem}.xxl\:-mr-56{margin-right:-14rem}.xxl\:-mb-56{margin-bottom:-14rem}.xxl\:-ml-56{margin-left:-14rem}.xxl\:-mt-64{margin-top:-16rem}.xxl\:-mr-64{margin-right:-16rem}.xxl\:-mb-64{margin-bottom:-16rem}.xxl\:-ml-64{margin-left:-16rem}.xxl\:-mt-px{margin-top:-1px}.xxl\:-mr-px{margin-right:-1px}.xxl\:-mb-px{margin-bottom:-1px}.xxl\:-ml-px{margin-left:-1px}.xxl\:max-h-full{max-height:100%}.xxl\:max-h-screen{max-height:100vh}.xxl\:max-w-none{max-width:none}.xxl\:max-w-xs{max-width:20rem}.xxl\:max-w-sm{max-width:24rem}.xxl\:max-w-md{max-width:28rem}.xxl\:max-w-lg{max-width:32rem}.xxl\:max-w-xl{max-width:36rem}.xxl\:max-w-2xl{max-width:42rem}.xxl\:max-w-3xl{max-width:48rem}.xxl\:max-w-4xl{max-width:56rem}.xxl\:max-w-5xl{max-width:64rem}.xxl\:max-w-6xl{max-width:72rem}.xxl\:max-w-full{max-width:100%}.xxl\:max-w-screen-xs{max-width:360px}.xxl\:max-w-screen-sm{max-width:640px}.xxl\:max-w-screen-md{max-width:768px}.xxl\:max-w-screen-lg{max-width:1024px}.xxl\:max-w-screen-xl{max-width:1280px}.xxl\:max-w-screen-xxl{max-width:1480px}.xxl\:min-h-0{min-height:0}.xxl\:min-h-full{min-height:100%}.xxl\:min-h-screen{min-height:100vh}.xxl\:min-w-0{min-width:0}.xxl\:min-w-full{min-width:100%}.xxl\:object-contain{-o-object-fit:contain;object-fit:contain}.xxl\:object-cover{-o-object-fit:cover;object-fit:cover}.xxl\:object-fill{-o-object-fit:fill;object-fit:fill}.xxl\:object-none{-o-object-fit:none;object-fit:none}.xxl\:object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.xxl\:object-bottom{-o-object-position:bottom;object-position:bottom}.xxl\:object-center{-o-object-position:center;object-position:center}.xxl\:object-left{-o-object-position:left;object-position:left}.xxl\:object-left-bottom{-o-object-position:left bottom;object-position:left bottom}.xxl\:object-left-top{-o-object-position:left top;object-position:left top}.xxl\:object-right{-o-object-position:right;object-position:right}.xxl\:object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.xxl\:object-right-top{-o-object-position:right top;object-position:right top}.xxl\:object-top{-o-object-position:top;object-position:top}.xxl\:opacity-0{opacity:0}.xxl\:opacity-25{opacity:.25}.xxl\:opacity-50{opacity:.5}.xxl\:opacity-75{opacity:.75}.xxl\:opacity-100{opacity:1}.xxl\:hover\:opacity-0:hover{opacity:0}.xxl\:hover\:opacity-25:hover{opacity:.25}.xxl\:hover\:opacity-50:hover{opacity:.5}.xxl\:hover\:opacity-75:hover{opacity:.75}.xxl\:hover\:opacity-100:hover{opacity:1}.xxl\:focus\:opacity-0:focus{opacity:0}.xxl\:focus\:opacity-25:focus{opacity:.25}.xxl\:focus\:opacity-50:focus{opacity:.5}.xxl\:focus\:opacity-75:focus{opacity:.75}.xxl\:focus\:opacity-100:focus{opacity:1}.xxl\:outline-none{outline:2px solid transparent;outline-offset:2px}.xxl\:outline-white{outline:2px dotted #fff;outline-offset:2px}.xxl\:outline-black{outline:2px dotted #000;outline-offset:2px}.xxl\:focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.xxl\:focus\:outline-white:focus{outline:2px dotted #fff;outline-offset:2px}.xxl\:focus\:outline-black:focus{outline:2px dotted #000;outline-offset:2px}.xxl\:overflow-auto{overflow:auto}.xxl\:overflow-hidden{overflow:hidden}.xxl\:overflow-visible{overflow:visible}.xxl\:overflow-scroll{overflow:scroll}.xxl\:overflow-x-auto{overflow-x:auto}.xxl\:overflow-y-auto{overflow-y:auto}.xxl\:overflow-x-hidden{overflow-x:hidden}.xxl\:overflow-y-hidden{overflow-y:hidden}.xxl\:overflow-x-visible{overflow-x:visible}.xxl\:overflow-y-visible{overflow-y:visible}.xxl\:overflow-x-scroll{overflow-x:scroll}.xxl\:overflow-y-scroll{overflow-y:scroll}.xxl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xxl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xxl\:overscroll-auto{overscroll-behavior:auto}.xxl\:overscroll-contain{overscroll-behavior:contain}.xxl\:overscroll-none{overscroll-behavior:none}.xxl\:overscroll-y-auto{overscroll-behavior-y:auto}.xxl\:overscroll-y-contain{overscroll-behavior-y:contain}.xxl\:overscroll-y-none{overscroll-behavior-y:none}.xxl\:overscroll-x-auto{overscroll-behavior-x:auto}.xxl\:overscroll-x-contain{overscroll-behavior-x:contain}.xxl\:overscroll-x-none{overscroll-behavior-x:none}.xxl\:p-0{padding:0}.xxl\:p-1{padding:.25rem}.xxl\:p-2{padding:.5rem}.xxl\:p-3{padding:.75rem}.xxl\:p-4{padding:1rem}.xxl\:p-5{padding:1.25rem}.xxl\:p-6{padding:1.5rem}.xxl\:p-8{padding:2rem}.xxl\:p-10{padding:2.5rem}.xxl\:p-12{padding:3rem}.xxl\:p-16{padding:4rem}.xxl\:p-20{padding:5rem}.xxl\:p-24{padding:6rem}.xxl\:p-32{padding:8rem}.xxl\:p-40{padding:10rem}.xxl\:p-48{padding:12rem}.xxl\:p-56{padding:14rem}.xxl\:p-64{padding:16rem}.xxl\:p-px{padding:1px}.xxl\:py-0{padding-top:0;padding-bottom:0}.xxl\:px-0{padding-left:0;padding-right:0}.xxl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xxl\:px-1{padding-left:.25rem;padding-right:.25rem}.xxl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xxl\:px-2{padding-left:.5rem;padding-right:.5rem}.xxl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xxl\:px-3{padding-left:.75rem;padding-right:.75rem}.xxl\:py-4{padding-top:1rem;padding-bottom:1rem}.xxl\:px-4{padding-left:1rem;padding-right:1rem}.xxl\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.xxl\:px-5{padding-left:1.25rem;padding-right:1.25rem}.xxl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xxl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xxl\:py-8{padding-top:2rem;padding-bottom:2rem}.xxl\:px-8{padding-left:2rem;padding-right:2rem}.xxl\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.xxl\:px-10{padding-left:2.5rem;padding-right:2.5rem}.xxl\:py-12{padding-top:3rem;padding-bottom:3rem}.xxl\:px-12{padding-left:3rem;padding-right:3rem}.xxl\:py-16{padding-top:4rem;padding-bottom:4rem}.xxl\:px-16{padding-left:4rem;padding-right:4rem}.xxl\:py-20{padding-top:5rem;padding-bottom:5rem}.xxl\:px-20{padding-left:5rem;padding-right:5rem}.xxl\:py-24{padding-top:6rem;padding-bottom:6rem}.xxl\:px-24{padding-left:6rem;padding-right:6rem}.xxl\:py-32{padding-top:8rem;padding-bottom:8rem}.xxl\:px-32{padding-left:8rem;padding-right:8rem}.xxl\:py-40{padding-top:10rem;padding-bottom:10rem}.xxl\:px-40{padding-left:10rem;padding-right:10rem}.xxl\:py-48{padding-top:12rem;padding-bottom:12rem}.xxl\:px-48{padding-left:12rem;padding-right:12rem}.xxl\:py-56{padding-top:14rem;padding-bottom:14rem}.xxl\:px-56{padding-left:14rem;padding-right:14rem}.xxl\:py-64{padding-top:16rem;padding-bottom:16rem}.xxl\:px-64{padding-left:16rem;padding-right:16rem}.xxl\:py-px{padding-top:1px;padding-bottom:1px}.xxl\:px-px{padding-left:1px;padding-right:1px}.xxl\:pt-0{padding-top:0}.xxl\:pr-0{padding-right:0}.xxl\:pb-0{padding-bottom:0}.xxl\:pl-0{padding-left:0}.xxl\:pt-1{padding-top:.25rem}.xxl\:pr-1{padding-right:.25rem}.xxl\:pb-1{padding-bottom:.25rem}.xxl\:pl-1{padding-left:.25rem}.xxl\:pt-2{padding-top:.5rem}.xxl\:pr-2{padding-right:.5rem}.xxl\:pb-2{padding-bottom:.5rem}.xxl\:pl-2{padding-left:.5rem}.xxl\:pt-3{padding-top:.75rem}.xxl\:pr-3{padding-right:.75rem}.xxl\:pb-3{padding-bottom:.75rem}.xxl\:pl-3{padding-left:.75rem}.xxl\:pt-4{padding-top:1rem}.xxl\:pr-4{padding-right:1rem}.xxl\:pb-4{padding-bottom:1rem}.xxl\:pl-4{padding-left:1rem}.xxl\:pt-5{padding-top:1.25rem}.xxl\:pr-5{padding-right:1.25rem}.xxl\:pb-5{padding-bottom:1.25rem}.xxl\:pl-5{padding-left:1.25rem}.xxl\:pt-6{padding-top:1.5rem}.xxl\:pr-6{padding-right:1.5rem}.xxl\:pb-6{padding-bottom:1.5rem}.xxl\:pl-6{padding-left:1.5rem}.xxl\:pt-8{padding-top:2rem}.xxl\:pr-8{padding-right:2rem}.xxl\:pb-8{padding-bottom:2rem}.xxl\:pl-8{padding-left:2rem}.xxl\:pt-10{padding-top:2.5rem}.xxl\:pr-10{padding-right:2.5rem}.xxl\:pb-10{padding-bottom:2.5rem}.xxl\:pl-10{padding-left:2.5rem}.xxl\:pt-12{padding-top:3rem}.xxl\:pr-12{padding-right:3rem}.xxl\:pb-12{padding-bottom:3rem}.xxl\:pl-12{padding-left:3rem}.xxl\:pt-16{padding-top:4rem}.xxl\:pr-16{padding-right:4rem}.xxl\:pb-16{padding-bottom:4rem}.xxl\:pl-16{padding-left:4rem}.xxl\:pt-20{padding-top:5rem}.xxl\:pr-20{padding-right:5rem}.xxl\:pb-20{padding-bottom:5rem}.xxl\:pl-20{padding-left:5rem}.xxl\:pt-24{padding-top:6rem}.xxl\:pr-24{padding-right:6rem}.xxl\:pb-24{padding-bottom:6rem}.xxl\:pl-24{padding-left:6rem}.xxl\:pt-32{padding-top:8rem}.xxl\:pr-32{padding-right:8rem}.xxl\:pb-32{padding-bottom:8rem}.xxl\:pl-32{padding-left:8rem}.xxl\:pt-40{padding-top:10rem}.xxl\:pr-40{padding-right:10rem}.xxl\:pb-40{padding-bottom:10rem}.xxl\:pl-40{padding-left:10rem}.xxl\:pt-48{padding-top:12rem}.xxl\:pr-48{padding-right:12rem}.xxl\:pb-48{padding-bottom:12rem}.xxl\:pl-48{padding-left:12rem}.xxl\:pt-56{padding-top:14rem}.xxl\:pr-56{padding-right:14rem}.xxl\:pb-56{padding-bottom:14rem}.xxl\:pl-56{padding-left:14rem}.xxl\:pt-64{padding-top:16rem}.xxl\:pr-64{padding-right:16rem}.xxl\:pb-64{padding-bottom:16rem}.xxl\:pl-64{padding-left:16rem}.xxl\:pt-px{padding-top:1px}.xxl\:pr-px{padding-right:1px}.xxl\:pb-px{padding-bottom:1px}.xxl\:pl-px{padding-left:1px}.xxl\:placeholder-transparent::placeholder{color:transparent}.xxl\:placeholder-current::placeholder{color:currentColor}.xxl\:placeholder-black::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xxl\:placeholder-white::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xxl\:placeholder-gray-100::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xxl\:placeholder-gray-200::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xxl\:placeholder-gray-300::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xxl\:placeholder-gray-400::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xxl\:placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xxl\:placeholder-gray-600::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xxl\:placeholder-gray-700::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xxl\:placeholder-gray-800::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xxl\:placeholder-gray-900::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xxl\:placeholder-red-100::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xxl\:placeholder-red-200::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xxl\:placeholder-red-300::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xxl\:placeholder-red-400::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xxl\:placeholder-red-500::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xxl\:placeholder-red-600::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xxl\:placeholder-red-700::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xxl\:placeholder-red-800::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xxl\:placeholder-red-900::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xxl\:placeholder-orange-100::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xxl\:placeholder-orange-200::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xxl\:placeholder-orange-300::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xxl\:placeholder-orange-400::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xxl\:placeholder-orange-500::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xxl\:placeholder-orange-600::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xxl\:placeholder-orange-700::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xxl\:placeholder-orange-800::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xxl\:placeholder-orange-900::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xxl\:placeholder-yellow-100::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xxl\:placeholder-yellow-200::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xxl\:placeholder-yellow-300::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xxl\:placeholder-yellow-400::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xxl\:placeholder-yellow-500::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xxl\:placeholder-yellow-600::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xxl\:placeholder-yellow-700::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xxl\:placeholder-yellow-800::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xxl\:placeholder-yellow-900::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xxl\:placeholder-green-100::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xxl\:placeholder-green-200::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xxl\:placeholder-green-300::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xxl\:placeholder-green-400::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xxl\:placeholder-green-500::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xxl\:placeholder-green-600::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xxl\:placeholder-green-700::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xxl\:placeholder-green-800::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xxl\:placeholder-green-900::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xxl\:placeholder-teal-100::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xxl\:placeholder-teal-200::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xxl\:placeholder-teal-300::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xxl\:placeholder-teal-400::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xxl\:placeholder-teal-500::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xxl\:placeholder-teal-600::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xxl\:placeholder-teal-700::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xxl\:placeholder-teal-800::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xxl\:placeholder-teal-900::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xxl\:placeholder-blue-100::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xxl\:placeholder-blue-200::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xxl\:placeholder-blue-300::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xxl\:placeholder-blue-400::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xxl\:placeholder-blue-500::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xxl\:placeholder-blue-600::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xxl\:placeholder-blue-700::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xxl\:placeholder-blue-800::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xxl\:placeholder-blue-900::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xxl\:placeholder-indigo-100::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xxl\:placeholder-indigo-200::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xxl\:placeholder-indigo-300::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xxl\:placeholder-indigo-400::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xxl\:placeholder-indigo-500::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xxl\:placeholder-indigo-600::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xxl\:placeholder-indigo-700::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xxl\:placeholder-indigo-800::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xxl\:placeholder-indigo-900::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xxl\:placeholder-purple-100::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xxl\:placeholder-purple-200::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xxl\:placeholder-purple-300::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xxl\:placeholder-purple-400::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xxl\:placeholder-purple-500::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xxl\:placeholder-purple-600::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xxl\:placeholder-purple-700::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xxl\:placeholder-purple-800::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xxl\:placeholder-purple-900::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xxl\:placeholder-pink-100::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xxl\:placeholder-pink-200::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xxl\:placeholder-pink-300::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xxl\:placeholder-pink-400::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xxl\:placeholder-pink-500::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xxl\:placeholder-pink-600::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xxl\:placeholder-pink-700::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xxl\:placeholder-pink-800::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xxl\:placeholder-pink-900::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xxl\:placeholder-primary::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xxl\:placeholder-secondary::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xxl\:placeholder-greenish-blue::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xxl\:placeholder-blue-gray::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xxl\:focus\:placeholder-transparent:focus::placeholder{color:transparent}.xxl\:focus\:placeholder-current:focus::placeholder{color:currentColor}.xxl\:focus\:placeholder-black:focus::placeholder{--placeholder-opacity:1;color:#000;color:rgba(0,0,0,var(--placeholder-opacity))}.xxl\:focus\:placeholder-white:focus::placeholder{--placeholder-opacity:1;color:#fff;color:rgba(255,255,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-100:focus::placeholder{--placeholder-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-200:focus::placeholder{--placeholder-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-300:focus::placeholder{--placeholder-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-400:focus::placeholder{--placeholder-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-500:focus::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-600:focus::placeholder{--placeholder-opacity:1;color:#718096;color:rgba(113,128,150,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-700:focus::placeholder{--placeholder-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-800:focus::placeholder{--placeholder-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--placeholder-opacity))}.xxl\:focus\:placeholder-gray-900:focus::placeholder{--placeholder-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-200:focus::placeholder{--placeholder-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-300:focus::placeholder{--placeholder-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-400:focus::placeholder{--placeholder-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-500:focus::placeholder{--placeholder-opacity:1;color:#f56565;color:rgba(245,101,101,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-600:focus::placeholder{--placeholder-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-700:focus::placeholder{--placeholder-opacity:1;color:#c53030;color:rgba(197,48,48,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-800:focus::placeholder{--placeholder-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--placeholder-opacity))}.xxl\:focus\:placeholder-red-900:focus::placeholder{--placeholder-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-100:focus::placeholder{--placeholder-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-200:focus::placeholder{--placeholder-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-300:focus::placeholder{--placeholder-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-400:focus::placeholder{--placeholder-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-500:focus::placeholder{--placeholder-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-600:focus::placeholder{--placeholder-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-700:focus::placeholder{--placeholder-opacity:1;color:#c05621;color:rgba(192,86,33,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-800:focus::placeholder{--placeholder-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--placeholder-opacity))}.xxl\:focus\:placeholder-orange-900:focus::placeholder{--placeholder-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-100:focus::placeholder{--placeholder-opacity:1;color:ivory;color:rgba(255,255,240,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-200:focus::placeholder{--placeholder-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-300:focus::placeholder{--placeholder-opacity:1;color:#faf089;color:rgba(250,240,137,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-400:focus::placeholder{--placeholder-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-500:focus::placeholder{--placeholder-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-600:focus::placeholder{--placeholder-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-700:focus::placeholder{--placeholder-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-800:focus::placeholder{--placeholder-opacity:1;color:#975a16;color:rgba(151,90,22,var(--placeholder-opacity))}.xxl\:focus\:placeholder-yellow-900:focus::placeholder{--placeholder-opacity:1;color:#744210;color:rgba(116,66,16,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-100:focus::placeholder{--placeholder-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-200:focus::placeholder{--placeholder-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-300:focus::placeholder{--placeholder-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-400:focus::placeholder{--placeholder-opacity:1;color:#68d391;color:rgba(104,211,145,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-500:focus::placeholder{--placeholder-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-600:focus::placeholder{--placeholder-opacity:1;color:#38a169;color:rgba(56,161,105,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-700:focus::placeholder{--placeholder-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-800:focus::placeholder{--placeholder-opacity:1;color:#276749;color:rgba(39,103,73,var(--placeholder-opacity))}.xxl\:focus\:placeholder-green-900:focus::placeholder{--placeholder-opacity:1;color:#22543d;color:rgba(34,84,61,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-100:focus::placeholder{--placeholder-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-200:focus::placeholder{--placeholder-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-300:focus::placeholder{--placeholder-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-400:focus::placeholder{--placeholder-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-500:focus::placeholder{--placeholder-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-600:focus::placeholder{--placeholder-opacity:1;color:#319795;color:rgba(49,151,149,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-700:focus::placeholder{--placeholder-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-800:focus::placeholder{--placeholder-opacity:1;color:#285e61;color:rgba(40,94,97,var(--placeholder-opacity))}.xxl\:focus\:placeholder-teal-900:focus::placeholder{--placeholder-opacity:1;color:#234e52;color:rgba(35,78,82,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-100:focus::placeholder{--placeholder-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-200:focus::placeholder{--placeholder-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-300:focus::placeholder{--placeholder-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-400:focus::placeholder{--placeholder-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-500:focus::placeholder{--placeholder-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-600:focus::placeholder{--placeholder-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-700:focus::placeholder{--placeholder-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-800:focus::placeholder{--placeholder-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-900:focus::placeholder{--placeholder-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-100:focus::placeholder{--placeholder-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-200:focus::placeholder{--placeholder-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-300:focus::placeholder{--placeholder-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-400:focus::placeholder{--placeholder-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-500:focus::placeholder{--placeholder-opacity:1;color:#667eea;color:rgba(102,126,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-600:focus::placeholder{--placeholder-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-700:focus::placeholder{--placeholder-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-800:focus::placeholder{--placeholder-opacity:1;color:#434190;color:rgba(67,65,144,var(--placeholder-opacity))}.xxl\:focus\:placeholder-indigo-900:focus::placeholder{--placeholder-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-100:focus::placeholder{--placeholder-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-200:focus::placeholder{--placeholder-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-300:focus::placeholder{--placeholder-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-400:focus::placeholder{--placeholder-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-500:focus::placeholder{--placeholder-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-600:focus::placeholder{--placeholder-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-700:focus::placeholder{--placeholder-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-800:focus::placeholder{--placeholder-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--placeholder-opacity))}.xxl\:focus\:placeholder-purple-900:focus::placeholder{--placeholder-opacity:1;color:#44337a;color:rgba(68,51,122,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-100:focus::placeholder{--placeholder-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-200:focus::placeholder{--placeholder-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-300:focus::placeholder{--placeholder-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-400:focus::placeholder{--placeholder-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-500:focus::placeholder{--placeholder-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-600:focus::placeholder{--placeholder-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-700:focus::placeholder{--placeholder-opacity:1;color:#b83280;color:rgba(184,50,128,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-800:focus::placeholder{--placeholder-opacity:1;color:#97266d;color:rgba(151,38,109,var(--placeholder-opacity))}.xxl\:focus\:placeholder-pink-900:focus::placeholder{--placeholder-opacity:1;color:#702459;color:rgba(112,36,89,var(--placeholder-opacity))}.xxl\:focus\:placeholder-primary:focus::placeholder{--placeholder-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-secondary:focus::placeholder{--placeholder-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--placeholder-opacity))}.xxl\:focus\:placeholder-greenish-blue:focus::placeholder{--placeholder-opacity:1;color:#adffed;color:rgba(173,255,237,var(--placeholder-opacity))}.xxl\:focus\:placeholder-blue-gray:focus::placeholder{--placeholder-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--placeholder-opacity))}.xxl\:placeholder-opacity-0::placeholder{--placeholder-opacity:0}.xxl\:placeholder-opacity-25::placeholder{--placeholder-opacity:0.25}.xxl\:placeholder-opacity-50::placeholder{--placeholder-opacity:0.5}.xxl\:placeholder-opacity-75::placeholder{--placeholder-opacity:0.75}.xxl\:placeholder-opacity-100::placeholder{--placeholder-opacity:1}.xxl\:focus\:placeholder-opacity-0:focus::placeholder{--placeholder-opacity:0}.xxl\:focus\:placeholder-opacity-25:focus::placeholder{--placeholder-opacity:0.25}.xxl\:focus\:placeholder-opacity-50:focus::placeholder{--placeholder-opacity:0.5}.xxl\:focus\:placeholder-opacity-75:focus::placeholder{--placeholder-opacity:0.75}.xxl\:focus\:placeholder-opacity-100:focus::placeholder{--placeholder-opacity:1}.xxl\:pointer-events-none{pointer-events:none}.xxl\:pointer-events-auto{pointer-events:auto}.xxl\:static{position:static}.xxl\:fixed{position:fixed}.xxl\:absolute{position:absolute}.xxl\:relative{position:relative}.xxl\:sticky{position:sticky}.xxl\:inset-0{top:0;right:0;bottom:0;left:0}.xxl\:inset-auto{top:auto;right:auto;bottom:auto;left:auto}.xxl\:inset-y-0{top:0;bottom:0}.xxl\:inset-x-0{right:0;left:0}.xxl\:inset-y-auto{top:auto;bottom:auto}.xxl\:inset-x-auto{right:auto;left:auto}.xxl\:top-0{top:0}.xxl\:right-0{right:0}.xxl\:bottom-0{bottom:0}.xxl\:left-0{left:0}.xxl\:top-auto{top:auto}.xxl\:right-auto{right:auto}.xxl\:bottom-auto{bottom:auto}.xxl\:left-auto{left:auto}.xxl\:resize-none{resize:none}.xxl\:resize-y{resize:vertical}.xxl\:resize-x{resize:horizontal}.xxl\:resize{resize:both}.xxl\:shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:shadow-outline{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:shadow-none{box-shadow:none}.xxl\:hover\:shadow-xs:hover{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:hover\:shadow:hover{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:hover\:shadow-2xl:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:hover\:shadow-inner:hover{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:hover\:shadow-none:hover{box-shadow:none}.xxl\:focus\:shadow-xs:focus{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.xxl\:focus\:shadow-sm:focus{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.xxl\:focus\:shadow:focus{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.xxl\:focus\:shadow-md:focus{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.xxl\:focus\:shadow-lg:focus{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.xxl\:focus\:shadow-xl:focus{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.xxl\:focus\:shadow-2xl:focus{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.xxl\:focus\:shadow-inner:focus{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xxl\:focus\:shadow-outline:focus{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.xxl\:focus\:shadow-none:focus{box-shadow:none}.xxl\:fill-current{fill:currentColor}.xxl\:stroke-current{stroke:currentColor}.xxl\:stroke-0{stroke-width:0}.xxl\:stroke-1{stroke-width:1}.xxl\:stroke-2{stroke-width:2}.xxl\:table-auto{table-layout:auto}.xxl\:table-fixed{table-layout:fixed}.xxl\:text-left{text-align:left}.xxl\:text-center{text-align:center}.xxl\:text-right{text-align:right}.xxl\:text-justify{text-align:justify}.xxl\:text-transparent{color:transparent}.xxl\:text-current{color:currentColor}.xxl\:text-black{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:text-gray-100{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:text-gray-800{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:text-red-100{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:text-red-200{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:text-red-300{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:text-red-400{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:text-red-500{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:text-red-600{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:text-red-700{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:text-red-800{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:text-red-900{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:text-orange-100{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:text-orange-200{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:text-orange-300{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:text-orange-400{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:text-orange-500{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:text-orange-600{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:text-orange-700{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:text-orange-800{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:text-orange-900{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:text-yellow-100{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:text-yellow-200{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:text-yellow-300{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:text-yellow-400{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:text-yellow-500{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:text-yellow-600{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:text-yellow-700{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:text-yellow-800{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:text-yellow-900{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:text-green-100{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:text-green-200{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:text-green-300{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:text-green-400{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:text-green-500{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:text-green-600{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:text-green-700{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:text-green-800{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:text-green-900{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:text-teal-100{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:text-teal-200{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:text-teal-300{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:text-teal-400{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:text-teal-500{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:text-teal-600{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:text-teal-700{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:text-teal-800{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:text-teal-900{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:text-blue-100{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:text-blue-200{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:text-blue-300{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:text-blue-400{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:text-blue-500{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:text-blue-600{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:text-blue-700{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:text-blue-800{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:text-blue-900{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:text-indigo-100{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:text-indigo-200{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:text-indigo-300{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:text-indigo-400{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:text-indigo-500{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:text-indigo-600{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:text-indigo-700{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:text-indigo-800{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:text-indigo-900{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:text-purple-100{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:text-purple-200{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:text-purple-300{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:text-purple-400{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:text-purple-500{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:text-purple-600{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:text-purple-700{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:text-purple-800{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:text-purple-900{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:text-pink-100{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:text-pink-200{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:text-pink-300{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:text-pink-400{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:text-pink-500{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:text-pink-600{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:text-pink-700{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:text-pink-900{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:text-primary{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:text-secondary{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:text-greenish-blue{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:text-blue-gray{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:hover\:text-transparent:hover{color:transparent}.xxl\:hover\:text-current:hover{color:currentColor}.xxl\:hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:hover\:text-white:hover{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:hover\:text-gray-100:hover{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:hover\:text-gray-200:hover{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:hover\:text-gray-300:hover{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:hover\:text-gray-400:hover{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:hover\:text-gray-500:hover{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:hover\:text-gray-600:hover{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:hover\:text-gray-700:hover{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:hover\:text-gray-800:hover{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:hover\:text-gray-900:hover{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:hover\:text-red-100:hover{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:hover\:text-red-200:hover{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:hover\:text-red-300:hover{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:hover\:text-red-400:hover{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:hover\:text-red-500:hover{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:hover\:text-red-600:hover{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:hover\:text-red-700:hover{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:hover\:text-red-800:hover{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:hover\:text-red-900:hover{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:hover\:text-orange-100:hover{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:hover\:text-orange-200:hover{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:hover\:text-orange-300:hover{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:hover\:text-orange-400:hover{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:hover\:text-orange-500:hover{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:hover\:text-orange-600:hover{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:hover\:text-orange-700:hover{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:hover\:text-orange-800:hover{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:hover\:text-orange-900:hover{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:hover\:text-yellow-100:hover{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:hover\:text-yellow-200:hover{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:hover\:text-yellow-300:hover{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:hover\:text-yellow-400:hover{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:hover\:text-yellow-500:hover{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:hover\:text-yellow-600:hover{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:hover\:text-yellow-700:hover{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:hover\:text-yellow-800:hover{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:hover\:text-yellow-900:hover{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:hover\:text-green-100:hover{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:hover\:text-green-200:hover{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:hover\:text-green-300:hover{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:hover\:text-green-400:hover{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:hover\:text-green-500:hover{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:hover\:text-green-600:hover{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:hover\:text-green-700:hover{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:hover\:text-green-800:hover{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:hover\:text-green-900:hover{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:hover\:text-teal-100:hover{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:hover\:text-teal-200:hover{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:hover\:text-teal-300:hover{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:hover\:text-teal-400:hover{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:hover\:text-teal-500:hover{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:hover\:text-teal-600:hover{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:hover\:text-teal-700:hover{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:hover\:text-teal-800:hover{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:hover\:text-teal-900:hover{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:hover\:text-blue-100:hover{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:hover\:text-blue-200:hover{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:hover\:text-blue-300:hover{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:hover\:text-blue-400:hover{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:hover\:text-blue-500:hover{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:hover\:text-blue-600:hover{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:hover\:text-blue-700:hover{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:hover\:text-blue-800:hover{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:hover\:text-blue-900:hover{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:hover\:text-indigo-100:hover{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:hover\:text-indigo-200:hover{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:hover\:text-indigo-300:hover{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:hover\:text-indigo-400:hover{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:hover\:text-indigo-500:hover{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:hover\:text-indigo-600:hover{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:hover\:text-indigo-700:hover{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:hover\:text-indigo-800:hover{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:hover\:text-indigo-900:hover{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:hover\:text-purple-100:hover{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:hover\:text-purple-200:hover{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:hover\:text-purple-300:hover{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:hover\:text-purple-400:hover{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:hover\:text-purple-500:hover{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:hover\:text-purple-600:hover{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:hover\:text-purple-700:hover{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:hover\:text-purple-800:hover{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:hover\:text-purple-900:hover{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:hover\:text-pink-100:hover{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:hover\:text-pink-200:hover{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:hover\:text-pink-300:hover{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:hover\:text-pink-400:hover{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:hover\:text-pink-500:hover{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:hover\:text-pink-600:hover{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:hover\:text-pink-700:hover{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:hover\:text-pink-800:hover{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:hover\:text-pink-900:hover{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:hover\:text-primary:hover{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:hover\:text-secondary:hover{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:hover\:text-greenish-blue:hover{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:hover\:text-blue-gray:hover{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:focus\:text-transparent:focus{color:transparent}.xxl\:focus\:text-current:focus{color:currentColor}.xxl\:focus\:text-black:focus{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.xxl\:focus\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.xxl\:focus\:text-gray-100:focus{--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity))}.xxl\:focus\:text-gray-200:focus{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.xxl\:focus\:text-gray-300:focus{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.xxl\:focus\:text-gray-400:focus{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.xxl\:focus\:text-gray-500:focus{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.xxl\:focus\:text-gray-600:focus{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.xxl\:focus\:text-gray-700:focus{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.xxl\:focus\:text-gray-800:focus{--text-opacity:1;color:#2d3748;color:rgba(45,55,72,var(--text-opacity))}.xxl\:focus\:text-gray-900:focus{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.xxl\:focus\:text-red-100:focus{--text-opacity:1;color:#fff5f5;color:rgba(255,245,245,var(--text-opacity))}.xxl\:focus\:text-red-200:focus{--text-opacity:1;color:#fed7d7;color:rgba(254,215,215,var(--text-opacity))}.xxl\:focus\:text-red-300:focus{--text-opacity:1;color:#feb2b2;color:rgba(254,178,178,var(--text-opacity))}.xxl\:focus\:text-red-400:focus{--text-opacity:1;color:#fc8181;color:rgba(252,129,129,var(--text-opacity))}.xxl\:focus\:text-red-500:focus{--text-opacity:1;color:#f56565;color:rgba(245,101,101,var(--text-opacity))}.xxl\:focus\:text-red-600:focus{--text-opacity:1;color:#e53e3e;color:rgba(229,62,62,var(--text-opacity))}.xxl\:focus\:text-red-700:focus{--text-opacity:1;color:#c53030;color:rgba(197,48,48,var(--text-opacity))}.xxl\:focus\:text-red-800:focus{--text-opacity:1;color:#9b2c2c;color:rgba(155,44,44,var(--text-opacity))}.xxl\:focus\:text-red-900:focus{--text-opacity:1;color:#742a2a;color:rgba(116,42,42,var(--text-opacity))}.xxl\:focus\:text-orange-100:focus{--text-opacity:1;color:#fffaf0;color:rgba(255,250,240,var(--text-opacity))}.xxl\:focus\:text-orange-200:focus{--text-opacity:1;color:#feebc8;color:rgba(254,235,200,var(--text-opacity))}.xxl\:focus\:text-orange-300:focus{--text-opacity:1;color:#fbd38d;color:rgba(251,211,141,var(--text-opacity))}.xxl\:focus\:text-orange-400:focus{--text-opacity:1;color:#f6ad55;color:rgba(246,173,85,var(--text-opacity))}.xxl\:focus\:text-orange-500:focus{--text-opacity:1;color:#ed8936;color:rgba(237,137,54,var(--text-opacity))}.xxl\:focus\:text-orange-600:focus{--text-opacity:1;color:#dd6b20;color:rgba(221,107,32,var(--text-opacity))}.xxl\:focus\:text-orange-700:focus{--text-opacity:1;color:#c05621;color:rgba(192,86,33,var(--text-opacity))}.xxl\:focus\:text-orange-800:focus{--text-opacity:1;color:#9c4221;color:rgba(156,66,33,var(--text-opacity))}.xxl\:focus\:text-orange-900:focus{--text-opacity:1;color:#7b341e;color:rgba(123,52,30,var(--text-opacity))}.xxl\:focus\:text-yellow-100:focus{--text-opacity:1;color:ivory;color:rgba(255,255,240,var(--text-opacity))}.xxl\:focus\:text-yellow-200:focus{--text-opacity:1;color:#fefcbf;color:rgba(254,252,191,var(--text-opacity))}.xxl\:focus\:text-yellow-300:focus{--text-opacity:1;color:#faf089;color:rgba(250,240,137,var(--text-opacity))}.xxl\:focus\:text-yellow-400:focus{--text-opacity:1;color:#f6e05e;color:rgba(246,224,94,var(--text-opacity))}.xxl\:focus\:text-yellow-500:focus{--text-opacity:1;color:#ecc94b;color:rgba(236,201,75,var(--text-opacity))}.xxl\:focus\:text-yellow-600:focus{--text-opacity:1;color:#d69e2e;color:rgba(214,158,46,var(--text-opacity))}.xxl\:focus\:text-yellow-700:focus{--text-opacity:1;color:#b7791f;color:rgba(183,121,31,var(--text-opacity))}.xxl\:focus\:text-yellow-800:focus{--text-opacity:1;color:#975a16;color:rgba(151,90,22,var(--text-opacity))}.xxl\:focus\:text-yellow-900:focus{--text-opacity:1;color:#744210;color:rgba(116,66,16,var(--text-opacity))}.xxl\:focus\:text-green-100:focus{--text-opacity:1;color:#f0fff4;color:rgba(240,255,244,var(--text-opacity))}.xxl\:focus\:text-green-200:focus{--text-opacity:1;color:#c6f6d5;color:rgba(198,246,213,var(--text-opacity))}.xxl\:focus\:text-green-300:focus{--text-opacity:1;color:#9ae6b4;color:rgba(154,230,180,var(--text-opacity))}.xxl\:focus\:text-green-400:focus{--text-opacity:1;color:#68d391;color:rgba(104,211,145,var(--text-opacity))}.xxl\:focus\:text-green-500:focus{--text-opacity:1;color:#48bb78;color:rgba(72,187,120,var(--text-opacity))}.xxl\:focus\:text-green-600:focus{--text-opacity:1;color:#38a169;color:rgba(56,161,105,var(--text-opacity))}.xxl\:focus\:text-green-700:focus{--text-opacity:1;color:#2f855a;color:rgba(47,133,90,var(--text-opacity))}.xxl\:focus\:text-green-800:focus{--text-opacity:1;color:#276749;color:rgba(39,103,73,var(--text-opacity))}.xxl\:focus\:text-green-900:focus{--text-opacity:1;color:#22543d;color:rgba(34,84,61,var(--text-opacity))}.xxl\:focus\:text-teal-100:focus{--text-opacity:1;color:#e6fffa;color:rgba(230,255,250,var(--text-opacity))}.xxl\:focus\:text-teal-200:focus{--text-opacity:1;color:#b2f5ea;color:rgba(178,245,234,var(--text-opacity))}.xxl\:focus\:text-teal-300:focus{--text-opacity:1;color:#81e6d9;color:rgba(129,230,217,var(--text-opacity))}.xxl\:focus\:text-teal-400:focus{--text-opacity:1;color:#4fd1c5;color:rgba(79,209,197,var(--text-opacity))}.xxl\:focus\:text-teal-500:focus{--text-opacity:1;color:#38b2ac;color:rgba(56,178,172,var(--text-opacity))}.xxl\:focus\:text-teal-600:focus{--text-opacity:1;color:#319795;color:rgba(49,151,149,var(--text-opacity))}.xxl\:focus\:text-teal-700:focus{--text-opacity:1;color:#2c7a7b;color:rgba(44,122,123,var(--text-opacity))}.xxl\:focus\:text-teal-800:focus{--text-opacity:1;color:#285e61;color:rgba(40,94,97,var(--text-opacity))}.xxl\:focus\:text-teal-900:focus{--text-opacity:1;color:#234e52;color:rgba(35,78,82,var(--text-opacity))}.xxl\:focus\:text-blue-100:focus{--text-opacity:1;color:#ebf8ff;color:rgba(235,248,255,var(--text-opacity))}.xxl\:focus\:text-blue-200:focus{--text-opacity:1;color:#bee3f8;color:rgba(190,227,248,var(--text-opacity))}.xxl\:focus\:text-blue-300:focus{--text-opacity:1;color:#90cdf4;color:rgba(144,205,244,var(--text-opacity))}.xxl\:focus\:text-blue-400:focus{--text-opacity:1;color:#63b3ed;color:rgba(99,179,237,var(--text-opacity))}.xxl\:focus\:text-blue-500:focus{--text-opacity:1;color:#4299e1;color:rgba(66,153,225,var(--text-opacity))}.xxl\:focus\:text-blue-600:focus{--text-opacity:1;color:#3182ce;color:rgba(49,130,206,var(--text-opacity))}.xxl\:focus\:text-blue-700:focus{--text-opacity:1;color:#2b6cb0;color:rgba(43,108,176,var(--text-opacity))}.xxl\:focus\:text-blue-800:focus{--text-opacity:1;color:#2c5282;color:rgba(44,82,130,var(--text-opacity))}.xxl\:focus\:text-blue-900:focus{--text-opacity:1;color:#2a4365;color:rgba(42,67,101,var(--text-opacity))}.xxl\:focus\:text-indigo-100:focus{--text-opacity:1;color:#ebf4ff;color:rgba(235,244,255,var(--text-opacity))}.xxl\:focus\:text-indigo-200:focus{--text-opacity:1;color:#c3dafe;color:rgba(195,218,254,var(--text-opacity))}.xxl\:focus\:text-indigo-300:focus{--text-opacity:1;color:#a3bffa;color:rgba(163,191,250,var(--text-opacity))}.xxl\:focus\:text-indigo-400:focus{--text-opacity:1;color:#7f9cf5;color:rgba(127,156,245,var(--text-opacity))}.xxl\:focus\:text-indigo-500:focus{--text-opacity:1;color:#667eea;color:rgba(102,126,234,var(--text-opacity))}.xxl\:focus\:text-indigo-600:focus{--text-opacity:1;color:#5a67d8;color:rgba(90,103,216,var(--text-opacity))}.xxl\:focus\:text-indigo-700:focus{--text-opacity:1;color:#4c51bf;color:rgba(76,81,191,var(--text-opacity))}.xxl\:focus\:text-indigo-800:focus{--text-opacity:1;color:#434190;color:rgba(67,65,144,var(--text-opacity))}.xxl\:focus\:text-indigo-900:focus{--text-opacity:1;color:#3c366b;color:rgba(60,54,107,var(--text-opacity))}.xxl\:focus\:text-purple-100:focus{--text-opacity:1;color:#faf5ff;color:rgba(250,245,255,var(--text-opacity))}.xxl\:focus\:text-purple-200:focus{--text-opacity:1;color:#e9d8fd;color:rgba(233,216,253,var(--text-opacity))}.xxl\:focus\:text-purple-300:focus{--text-opacity:1;color:#d6bcfa;color:rgba(214,188,250,var(--text-opacity))}.xxl\:focus\:text-purple-400:focus{--text-opacity:1;color:#b794f4;color:rgba(183,148,244,var(--text-opacity))}.xxl\:focus\:text-purple-500:focus{--text-opacity:1;color:#9f7aea;color:rgba(159,122,234,var(--text-opacity))}.xxl\:focus\:text-purple-600:focus{--text-opacity:1;color:#805ad5;color:rgba(128,90,213,var(--text-opacity))}.xxl\:focus\:text-purple-700:focus{--text-opacity:1;color:#6b46c1;color:rgba(107,70,193,var(--text-opacity))}.xxl\:focus\:text-purple-800:focus{--text-opacity:1;color:#553c9a;color:rgba(85,60,154,var(--text-opacity))}.xxl\:focus\:text-purple-900:focus{--text-opacity:1;color:#44337a;color:rgba(68,51,122,var(--text-opacity))}.xxl\:focus\:text-pink-100:focus{--text-opacity:1;color:#fff5f7;color:rgba(255,245,247,var(--text-opacity))}.xxl\:focus\:text-pink-200:focus{--text-opacity:1;color:#fed7e2;color:rgba(254,215,226,var(--text-opacity))}.xxl\:focus\:text-pink-300:focus{--text-opacity:1;color:#fbb6ce;color:rgba(251,182,206,var(--text-opacity))}.xxl\:focus\:text-pink-400:focus{--text-opacity:1;color:#f687b3;color:rgba(246,135,179,var(--text-opacity))}.xxl\:focus\:text-pink-500:focus{--text-opacity:1;color:#ed64a6;color:rgba(237,100,166,var(--text-opacity))}.xxl\:focus\:text-pink-600:focus{--text-opacity:1;color:#d53f8c;color:rgba(213,63,140,var(--text-opacity))}.xxl\:focus\:text-pink-700:focus{--text-opacity:1;color:#b83280;color:rgba(184,50,128,var(--text-opacity))}.xxl\:focus\:text-pink-800:focus{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.xxl\:focus\:text-pink-900:focus{--text-opacity:1;color:#702459;color:rgba(112,36,89,var(--text-opacity))}.xxl\:focus\:text-primary:focus{--text-opacity:1;color:#00d1ff;color:rgba(0,209,255,var(--text-opacity))}.xxl\:focus\:text-secondary:focus{--text-opacity:1;color:#e077ff;color:rgba(224,119,255,var(--text-opacity))}.xxl\:focus\:text-greenish-blue:focus{--text-opacity:1;color:#adffed;color:rgba(173,255,237,var(--text-opacity))}.xxl\:focus\:text-blue-gray:focus{--text-opacity:1;color:#cfe1e6;color:rgba(207,225,230,var(--text-opacity))}.xxl\:text-opacity-0{--text-opacity:0}.xxl\:text-opacity-25{--text-opacity:0.25}.xxl\:text-opacity-50{--text-opacity:0.5}.xxl\:text-opacity-75{--text-opacity:0.75}.xxl\:text-opacity-100{--text-opacity:1}.xxl\:hover\:text-opacity-0:hover{--text-opacity:0}.xxl\:hover\:text-opacity-25:hover{--text-opacity:0.25}.xxl\:hover\:text-opacity-50:hover{--text-opacity:0.5}.xxl\:hover\:text-opacity-75:hover{--text-opacity:0.75}.xxl\:hover\:text-opacity-100:hover{--text-opacity:1}.xxl\:focus\:text-opacity-0:focus{--text-opacity:0}.xxl\:focus\:text-opacity-25:focus{--text-opacity:0.25}.xxl\:focus\:text-opacity-50:focus{--text-opacity:0.5}.xxl\:focus\:text-opacity-75:focus{--text-opacity:0.75}.xxl\:focus\:text-opacity-100:focus{--text-opacity:1}.xxl\:italic{font-style:italic}.xxl\:not-italic{font-style:normal}.xxl\:uppercase{text-transform:uppercase}.xxl\:lowercase{text-transform:lowercase}.xxl\:capitalize{text-transform:capitalize}.xxl\:normal-case{text-transform:none}.xxl\:underline{text-decoration:underline}.xxl\:line-through{text-decoration:line-through}.xxl\:no-underline{text-decoration:none}.xxl\:hover\:underline:hover{text-decoration:underline}.xxl\:hover\:line-through:hover{text-decoration:line-through}.xxl\:hover\:no-underline:hover{text-decoration:none}.xxl\:focus\:underline:focus{text-decoration:underline}.xxl\:focus\:line-through:focus{text-decoration:line-through}.xxl\:focus\:no-underline:focus{text-decoration:none}.xxl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xxl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xxl\:diagonal-fractions,.xxl\:lining-nums,.xxl\:oldstyle-nums,.xxl\:ordinal,.xxl\:proportional-nums,.xxl\:slashed-zero,.xxl\:stacked-fractions,.xxl\:tabular-nums{--font-variant-numeric-ordinal:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-slashed-zero:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-figure:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-spacing:var(--tailwind-empty,/*!*/ /*!*/);--font-variant-numeric-fraction:var(--tailwind-empty,/*!*/ /*!*/);font-variant-numeric:var(--font-variant-numeric-ordinal) var(--font-variant-numeric-slashed-zero) var(--font-variant-numeric-figure) var(--font-variant-numeric-spacing) var(--font-variant-numeric-fraction)}.xxl\:normal-nums{font-variant-numeric:normal}.xxl\:ordinal{--font-variant-numeric-ordinal:ordinal}.xxl\:slashed-zero{--font-variant-numeric-slashed-zero:slashed-zero}.xxl\:lining-nums{--font-variant-numeric-figure:lining-nums}.xxl\:oldstyle-nums{--font-variant-numeric-figure:oldstyle-nums}.xxl\:proportional-nums{--font-variant-numeric-spacing:proportional-nums}.xxl\:tabular-nums{--font-variant-numeric-spacing:tabular-nums}.xxl\:diagonal-fractions{--font-variant-numeric-fraction:diagonal-fractions}.xxl\:stacked-fractions{--font-variant-numeric-fraction:stacked-fractions}.xxl\:tracking-tighter{letter-spacing:-.05em}.xxl\:tracking-tight{letter-spacing:-.025em}.xxl\:tracking-normal{letter-spacing:0}.xxl\:tracking-wide{letter-spacing:.025em}.xxl\:tracking-wider{letter-spacing:.05em}.xxl\:tracking-widest{letter-spacing:.1em}.xxl\:select-none{-webkit-user-select:none;user-select:none}.xxl\:select-text{-webkit-user-select:text;user-select:text}.xxl\:select-all{-webkit-user-select:all;user-select:all}.xxl\:select-auto{-webkit-user-select:auto;user-select:auto}.xxl\:align-baseline{vertical-align:baseline}.xxl\:align-top{vertical-align:top}.xxl\:align-middle{vertical-align:middle}.xxl\:align-bottom{vertical-align:bottom}.xxl\:align-text-top{vertical-align:text-top}.xxl\:align-text-bottom{vertical-align:text-bottom}.xxl\:visible{visibility:visible}.xxl\:invisible{visibility:hidden}.xxl\:whitespace-normal{white-space:normal}.xxl\:whitespace-no-wrap{white-space:nowrap}.xxl\:whitespace-pre{white-space:pre}.xxl\:whitespace-pre-line{white-space:pre-line}.xxl\:whitespace-pre-wrap{white-space:pre-wrap}.xxl\:break-normal{word-wrap:normal;overflow-wrap:normal;word-break:normal}.xxl\:break-words{word-wrap:break-word;overflow-wrap:break-word}.xxl\:break-all{word-break:break-all}.xxl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xxl\:w-0{width:0}.xxl\:w-1{width:.25rem}.xxl\:w-2{width:.5rem}.xxl\:w-3{width:.75rem}.xxl\:w-4{width:1rem}.xxl\:w-5{width:1.25rem}.xxl\:w-6{width:1.5rem}.xxl\:w-8{width:2rem}.xxl\:w-10{width:2.5rem}.xxl\:w-12{width:3rem}.xxl\:w-16{width:4rem}.xxl\:w-20{width:5rem}.xxl\:w-24{width:6rem}.xxl\:w-32{width:8rem}.xxl\:w-40{width:10rem}.xxl\:w-48{width:12rem}.xxl\:w-56{width:14rem}.xxl\:w-64{width:16rem}.xxl\:w-auto{width:auto}.xxl\:w-px{width:1px}.xxl\:w-1\/2{width:50%}.xxl\:w-1\/3{width:33.333333%}.xxl\:w-2\/3{width:66.666667%}.xxl\:w-1\/4{width:25%}.xxl\:w-2\/4{width:50%}.xxl\:w-3\/4{width:75%}.xxl\:w-1\/5{width:20%}.xxl\:w-2\/5{width:40%}.xxl\:w-3\/5{width:60%}.xxl\:w-4\/5{width:80%}.xxl\:w-1\/6{width:16.666667%}.xxl\:w-2\/6{width:33.333333%}.xxl\:w-3\/6{width:50%}.xxl\:w-4\/6{width:66.666667%}.xxl\:w-5\/6{width:83.333333%}.xxl\:w-1\/12{width:8.333333%}.xxl\:w-2\/12{width:16.666667%}.xxl\:w-3\/12{width:25%}.xxl\:w-4\/12{width:33.333333%}.xxl\:w-5\/12{width:41.666667%}.xxl\:w-6\/12{width:50%}.xxl\:w-7\/12{width:58.333333%}.xxl\:w-8\/12{width:66.666667%}.xxl\:w-9\/12{width:75%}.xxl\:w-10\/12{width:83.333333%}.xxl\:w-11\/12{width:91.666667%}.xxl\:w-full{width:100%}.xxl\:w-screen{width:100vw}.xxl\:z-0{z-index:0}.xxl\:z-10{z-index:10}.xxl\:z-20{z-index:20}.xxl\:z-30{z-index:30}.xxl\:z-40{z-index:40}.xxl\:z-50{z-index:50}.xxl\:z-auto{z-index:auto}.xxl\:gap-0{grid-gap:0;gap:0}.xxl\:gap-1{grid-gap:.25rem;gap:.25rem}.xxl\:gap-2{grid-gap:.5rem;gap:.5rem}.xxl\:gap-3{grid-gap:.75rem;gap:.75rem}.xxl\:gap-4{grid-gap:1rem;gap:1rem}.xxl\:gap-5{grid-gap:1.25rem;gap:1.25rem}.xxl\:gap-6{grid-gap:1.5rem;gap:1.5rem}.xxl\:gap-8{grid-gap:2rem;gap:2rem}.xxl\:gap-10{grid-gap:2.5rem;gap:2.5rem}.xxl\:gap-12{grid-gap:3rem;gap:3rem}.xxl\:gap-16{grid-gap:4rem;gap:4rem}.xxl\:gap-20{grid-gap:5rem;gap:5rem}.xxl\:gap-24{grid-gap:6rem;gap:6rem}.xxl\:gap-32{grid-gap:8rem;gap:8rem}.xxl\:gap-40{grid-gap:10rem;gap:10rem}.xxl\:gap-48{grid-gap:12rem;gap:12rem}.xxl\:gap-56{grid-gap:14rem;gap:14rem}.xxl\:gap-64{grid-gap:16rem;gap:16rem}.xxl\:gap-px{grid-gap:1px;gap:1px}.xxl\:col-gap-0{grid-column-gap:0;column-gap:0}.xxl\:col-gap-1{grid-column-gap:.25rem;column-gap:.25rem}.xxl\:col-gap-2{grid-column-gap:.5rem;column-gap:.5rem}.xxl\:col-gap-3{grid-column-gap:.75rem;column-gap:.75rem}.xxl\:col-gap-4{grid-column-gap:1rem;column-gap:1rem}.xxl\:col-gap-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xxl\:col-gap-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xxl\:col-gap-8{grid-column-gap:2rem;column-gap:2rem}.xxl\:col-gap-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xxl\:col-gap-12{grid-column-gap:3rem;column-gap:3rem}.xxl\:col-gap-16{grid-column-gap:4rem;column-gap:4rem}.xxl\:col-gap-20{grid-column-gap:5rem;column-gap:5rem}.xxl\:col-gap-24{grid-column-gap:6rem;column-gap:6rem}.xxl\:col-gap-32{grid-column-gap:8rem;column-gap:8rem}.xxl\:col-gap-40{grid-column-gap:10rem;column-gap:10rem}.xxl\:col-gap-48{grid-column-gap:12rem;column-gap:12rem}.xxl\:col-gap-56{grid-column-gap:14rem;column-gap:14rem}.xxl\:col-gap-64{grid-column-gap:16rem;column-gap:16rem}.xxl\:col-gap-px{grid-column-gap:1px;column-gap:1px}.xxl\:gap-x-0{grid-column-gap:0;column-gap:0}.xxl\:gap-x-1{grid-column-gap:.25rem;column-gap:.25rem}.xxl\:gap-x-2{grid-column-gap:.5rem;column-gap:.5rem}.xxl\:gap-x-3{grid-column-gap:.75rem;column-gap:.75rem}.xxl\:gap-x-4{grid-column-gap:1rem;column-gap:1rem}.xxl\:gap-x-5{grid-column-gap:1.25rem;column-gap:1.25rem}.xxl\:gap-x-6{grid-column-gap:1.5rem;column-gap:1.5rem}.xxl\:gap-x-8{grid-column-gap:2rem;column-gap:2rem}.xxl\:gap-x-10{grid-column-gap:2.5rem;column-gap:2.5rem}.xxl\:gap-x-12{grid-column-gap:3rem;column-gap:3rem}.xxl\:gap-x-16{grid-column-gap:4rem;column-gap:4rem}.xxl\:gap-x-20{grid-column-gap:5rem;column-gap:5rem}.xxl\:gap-x-24{grid-column-gap:6rem;column-gap:6rem}.xxl\:gap-x-32{grid-column-gap:8rem;column-gap:8rem}.xxl\:gap-x-40{grid-column-gap:10rem;column-gap:10rem}.xxl\:gap-x-48{grid-column-gap:12rem;column-gap:12rem}.xxl\:gap-x-56{grid-column-gap:14rem;column-gap:14rem}.xxl\:gap-x-64{grid-column-gap:16rem;column-gap:16rem}.xxl\:gap-x-px{grid-column-gap:1px;column-gap:1px}.xxl\:row-gap-0{grid-row-gap:0;row-gap:0}.xxl\:row-gap-1{grid-row-gap:.25rem;row-gap:.25rem}.xxl\:row-gap-2{grid-row-gap:.5rem;row-gap:.5rem}.xxl\:row-gap-3{grid-row-gap:.75rem;row-gap:.75rem}.xxl\:row-gap-4{grid-row-gap:1rem;row-gap:1rem}.xxl\:row-gap-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xxl\:row-gap-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xxl\:row-gap-8{grid-row-gap:2rem;row-gap:2rem}.xxl\:row-gap-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xxl\:row-gap-12{grid-row-gap:3rem;row-gap:3rem}.xxl\:row-gap-16{grid-row-gap:4rem;row-gap:4rem}.xxl\:row-gap-20{grid-row-gap:5rem;row-gap:5rem}.xxl\:row-gap-24{grid-row-gap:6rem;row-gap:6rem}.xxl\:row-gap-32{grid-row-gap:8rem;row-gap:8rem}.xxl\:row-gap-40{grid-row-gap:10rem;row-gap:10rem}.xxl\:row-gap-48{grid-row-gap:12rem;row-gap:12rem}.xxl\:row-gap-56{grid-row-gap:14rem;row-gap:14rem}.xxl\:row-gap-64{grid-row-gap:16rem;row-gap:16rem}.xxl\:row-gap-px{grid-row-gap:1px;row-gap:1px}.xxl\:gap-y-0{grid-row-gap:0;row-gap:0}.xxl\:gap-y-1{grid-row-gap:.25rem;row-gap:.25rem}.xxl\:gap-y-2{grid-row-gap:.5rem;row-gap:.5rem}.xxl\:gap-y-3{grid-row-gap:.75rem;row-gap:.75rem}.xxl\:gap-y-4{grid-row-gap:1rem;row-gap:1rem}.xxl\:gap-y-5{grid-row-gap:1.25rem;row-gap:1.25rem}.xxl\:gap-y-6{grid-row-gap:1.5rem;row-gap:1.5rem}.xxl\:gap-y-8{grid-row-gap:2rem;row-gap:2rem}.xxl\:gap-y-10{grid-row-gap:2.5rem;row-gap:2.5rem}.xxl\:gap-y-12{grid-row-gap:3rem;row-gap:3rem}.xxl\:gap-y-16{grid-row-gap:4rem;row-gap:4rem}.xxl\:gap-y-20{grid-row-gap:5rem;row-gap:5rem}.xxl\:gap-y-24{grid-row-gap:6rem;row-gap:6rem}.xxl\:gap-y-32{grid-row-gap:8rem;row-gap:8rem}.xxl\:gap-y-40{grid-row-gap:10rem;row-gap:10rem}.xxl\:gap-y-48{grid-row-gap:12rem;row-gap:12rem}.xxl\:gap-y-56{grid-row-gap:14rem;row-gap:14rem}.xxl\:gap-y-64{grid-row-gap:16rem;row-gap:16rem}.xxl\:gap-y-px{grid-row-gap:1px;row-gap:1px}.xxl\:grid-flow-row{grid-auto-flow:row}.xxl\:grid-flow-col{grid-auto-flow:column}.xxl\:grid-flow-row-dense{grid-auto-flow:row dense}.xxl\:grid-flow-col-dense{grid-auto-flow:column dense}.xxl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xxl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xxl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xxl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xxl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xxl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xxl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xxl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xxl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xxl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xxl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xxl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xxl\:grid-cols-none{grid-template-columns:none}.xxl\:auto-cols-auto{grid-auto-columns:auto}.xxl\:auto-cols-min{grid-auto-columns:min-content}.xxl\:auto-cols-max{grid-auto-columns:max-content}.xxl\:auto-cols-fr{grid-auto-columns:minmax(0,1fr)}.xxl\:col-auto{grid-column:auto}.xxl\:col-span-1{grid-column:span 1/span 1}.xxl\:col-span-2{grid-column:span 2/span 2}.xxl\:col-span-3{grid-column:span 3/span 3}.xxl\:col-span-4{grid-column:span 4/span 4}.xxl\:col-span-5{grid-column:span 5/span 5}.xxl\:col-span-6{grid-column:span 6/span 6}.xxl\:col-span-7{grid-column:span 7/span 7}.xxl\:col-span-8{grid-column:span 8/span 8}.xxl\:col-span-9{grid-column:span 9/span 9}.xxl\:col-span-10{grid-column:span 10/span 10}.xxl\:col-span-11{grid-column:span 11/span 11}.xxl\:col-span-12{grid-column:span 12/span 12}.xxl\:col-span-full{grid-column:1/-1}.xxl\:col-start-1{grid-column-start:1}.xxl\:col-start-2{grid-column-start:2}.xxl\:col-start-3{grid-column-start:3}.xxl\:col-start-4{grid-column-start:4}.xxl\:col-start-5{grid-column-start:5}.xxl\:col-start-6{grid-column-start:6}.xxl\:col-start-7{grid-column-start:7}.xxl\:col-start-8{grid-column-start:8}.xxl\:col-start-9{grid-column-start:9}.xxl\:col-start-10{grid-column-start:10}.xxl\:col-start-11{grid-column-start:11}.xxl\:col-start-12{grid-column-start:12}.xxl\:col-start-13{grid-column-start:13}.xxl\:col-start-auto{grid-column-start:auto}.xxl\:col-end-1{grid-column-end:1}.xxl\:col-end-2{grid-column-end:2}.xxl\:col-end-3{grid-column-end:3}.xxl\:col-end-4{grid-column-end:4}.xxl\:col-end-5{grid-column-end:5}.xxl\:col-end-6{grid-column-end:6}.xxl\:col-end-7{grid-column-end:7}.xxl\:col-end-8{grid-column-end:8}.xxl\:col-end-9{grid-column-end:9}.xxl\:col-end-10{grid-column-end:10}.xxl\:col-end-11{grid-column-end:11}.xxl\:col-end-12{grid-column-end:12}.xxl\:col-end-13{grid-column-end:13}.xxl\:col-end-auto{grid-column-end:auto}.xxl\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.xxl\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.xxl\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.xxl\:grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.xxl\:grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.xxl\:grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.xxl\:grid-rows-none{grid-template-rows:none}.xxl\:auto-rows-auto{grid-auto-rows:auto}.xxl\:auto-rows-min{grid-auto-rows:min-content}.xxl\:auto-rows-max{grid-auto-rows:max-content}.xxl\:auto-rows-fr{grid-auto-rows:minmax(0,1fr)}.xxl\:row-auto{grid-row:auto}.xxl\:row-span-1{grid-row:span 1/span 1}.xxl\:row-span-2{grid-row:span 2/span 2}.xxl\:row-span-3{grid-row:span 3/span 3}.xxl\:row-span-4{grid-row:span 4/span 4}.xxl\:row-span-5{grid-row:span 5/span 5}.xxl\:row-span-6{grid-row:span 6/span 6}.xxl\:row-span-full{grid-row:1/-1}.xxl\:row-start-1{grid-row-start:1}.xxl\:row-start-2{grid-row-start:2}.xxl\:row-start-3{grid-row-start:3}.xxl\:row-start-4{grid-row-start:4}.xxl\:row-start-5{grid-row-start:5}.xxl\:row-start-6{grid-row-start:6}.xxl\:row-start-7{grid-row-start:7}.xxl\:row-start-auto{grid-row-start:auto}.xxl\:row-end-1{grid-row-end:1}.xxl\:row-end-2{grid-row-end:2}.xxl\:row-end-3{grid-row-end:3}.xxl\:row-end-4{grid-row-end:4}.xxl\:row-end-5{grid-row-end:5}.xxl\:row-end-6{grid-row-end:6}.xxl\:row-end-7{grid-row-end:7}.xxl\:row-end-auto{grid-row-end:auto}.xxl\:transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.xxl\:transform-none{transform:none}.xxl\:origin-center{transform-origin:center}.xxl\:origin-top{transform-origin:top}.xxl\:origin-top-right{transform-origin:top right}.xxl\:origin-right{transform-origin:right}.xxl\:origin-bottom-right{transform-origin:bottom right}.xxl\:origin-bottom{transform-origin:bottom}.xxl\:origin-bottom-left{transform-origin:bottom left}.xxl\:origin-left{transform-origin:left}.xxl\:origin-top-left{transform-origin:top left}.xxl\:scale-0{--transform-scale-x:0;--transform-scale-y:0}.xxl\:scale-50{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:scale-75{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:scale-90{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:scale-100{--transform-scale-x:1;--transform-scale-y:1}.xxl\:scale-105{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:scale-110{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:scale-125{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:scale-150{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:scale-x-0{--transform-scale-x:0}.xxl\:scale-x-50{--transform-scale-x:.5}.xxl\:scale-x-75{--transform-scale-x:.75}.xxl\:scale-x-90{--transform-scale-x:.9}.xxl\:scale-x-95{--transform-scale-x:.95}.xxl\:scale-x-100{--transform-scale-x:1}.xxl\:scale-x-105{--transform-scale-x:1.05}.xxl\:scale-x-110{--transform-scale-x:1.1}.xxl\:scale-x-125{--transform-scale-x:1.25}.xxl\:scale-x-150{--transform-scale-x:1.5}.xxl\:scale-y-0{--transform-scale-y:0}.xxl\:scale-y-50{--transform-scale-y:.5}.xxl\:scale-y-75{--transform-scale-y:.75}.xxl\:scale-y-90{--transform-scale-y:.9}.xxl\:scale-y-95{--transform-scale-y:.95}.xxl\:scale-y-100{--transform-scale-y:1}.xxl\:scale-y-105{--transform-scale-y:1.05}.xxl\:scale-y-110{--transform-scale-y:1.1}.xxl\:scale-y-125{--transform-scale-y:1.25}.xxl\:scale-y-150{--transform-scale-y:1.5}.xxl\:hover\:scale-0:hover{--transform-scale-x:0;--transform-scale-y:0}.xxl\:hover\:scale-50:hover{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:hover\:scale-75:hover{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:hover\:scale-90:hover{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:hover\:scale-95:hover{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:hover\:scale-100:hover{--transform-scale-x:1;--transform-scale-y:1}.xxl\:hover\:scale-105:hover{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:hover\:scale-110:hover{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:hover\:scale-125:hover{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:hover\:scale-150:hover{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:hover\:scale-x-0:hover{--transform-scale-x:0}.xxl\:hover\:scale-x-50:hover{--transform-scale-x:.5}.xxl\:hover\:scale-x-75:hover{--transform-scale-x:.75}.xxl\:hover\:scale-x-90:hover{--transform-scale-x:.9}.xxl\:hover\:scale-x-95:hover{--transform-scale-x:.95}.xxl\:hover\:scale-x-100:hover{--transform-scale-x:1}.xxl\:hover\:scale-x-105:hover{--transform-scale-x:1.05}.xxl\:hover\:scale-x-110:hover{--transform-scale-x:1.1}.xxl\:hover\:scale-x-125:hover{--transform-scale-x:1.25}.xxl\:hover\:scale-x-150:hover{--transform-scale-x:1.5}.xxl\:hover\:scale-y-0:hover{--transform-scale-y:0}.xxl\:hover\:scale-y-50:hover{--transform-scale-y:.5}.xxl\:hover\:scale-y-75:hover{--transform-scale-y:.75}.xxl\:hover\:scale-y-90:hover{--transform-scale-y:.9}.xxl\:hover\:scale-y-95:hover{--transform-scale-y:.95}.xxl\:hover\:scale-y-100:hover{--transform-scale-y:1}.xxl\:hover\:scale-y-105:hover{--transform-scale-y:1.05}.xxl\:hover\:scale-y-110:hover{--transform-scale-y:1.1}.xxl\:hover\:scale-y-125:hover{--transform-scale-y:1.25}.xxl\:hover\:scale-y-150:hover{--transform-scale-y:1.5}.xxl\:focus\:scale-0:focus{--transform-scale-x:0;--transform-scale-y:0}.xxl\:focus\:scale-50:focus{--transform-scale-x:.5;--transform-scale-y:.5}.xxl\:focus\:scale-75:focus{--transform-scale-x:.75;--transform-scale-y:.75}.xxl\:focus\:scale-90:focus{--transform-scale-x:.9;--transform-scale-y:.9}.xxl\:focus\:scale-95:focus{--transform-scale-x:.95;--transform-scale-y:.95}.xxl\:focus\:scale-100:focus{--transform-scale-x:1;--transform-scale-y:1}.xxl\:focus\:scale-105:focus{--transform-scale-x:1.05;--transform-scale-y:1.05}.xxl\:focus\:scale-110:focus{--transform-scale-x:1.1;--transform-scale-y:1.1}.xxl\:focus\:scale-125:focus{--transform-scale-x:1.25;--transform-scale-y:1.25}.xxl\:focus\:scale-150:focus{--transform-scale-x:1.5;--transform-scale-y:1.5}.xxl\:focus\:scale-x-0:focus{--transform-scale-x:0}.xxl\:focus\:scale-x-50:focus{--transform-scale-x:.5}.xxl\:focus\:scale-x-75:focus{--transform-scale-x:.75}.xxl\:focus\:scale-x-90:focus{--transform-scale-x:.9}.xxl\:focus\:scale-x-95:focus{--transform-scale-x:.95}.xxl\:focus\:scale-x-100:focus{--transform-scale-x:1}.xxl\:focus\:scale-x-105:focus{--transform-scale-x:1.05}.xxl\:focus\:scale-x-110:focus{--transform-scale-x:1.1}.xxl\:focus\:scale-x-125:focus{--transform-scale-x:1.25}.xxl\:focus\:scale-x-150:focus{--transform-scale-x:1.5}.xxl\:focus\:scale-y-0:focus{--transform-scale-y:0}.xxl\:focus\:scale-y-50:focus{--transform-scale-y:.5}.xxl\:focus\:scale-y-75:focus{--transform-scale-y:.75}.xxl\:focus\:scale-y-90:focus{--transform-scale-y:.9}.xxl\:focus\:scale-y-95:focus{--transform-scale-y:.95}.xxl\:focus\:scale-y-100:focus{--transform-scale-y:1}.xxl\:focus\:scale-y-105:focus{--transform-scale-y:1.05}.xxl\:focus\:scale-y-110:focus{--transform-scale-y:1.1}.xxl\:focus\:scale-y-125:focus{--transform-scale-y:1.25}.xxl\:focus\:scale-y-150:focus{--transform-scale-y:1.5}.xxl\:rotate-0{--transform-rotate:0}.xxl\:rotate-1{--transform-rotate:1deg}.xxl\:rotate-2{--transform-rotate:2deg}.xxl\:rotate-3{--transform-rotate:3deg}.xxl\:rotate-6{--transform-rotate:6deg}.xxl\:rotate-12{--transform-rotate:12deg}.xxl\:rotate-45{--transform-rotate:45deg}.xxl\:rotate-90{--transform-rotate:90deg}.xxl\:rotate-180{--transform-rotate:180deg}.xxl\:-rotate-180{--transform-rotate:-180deg}.xxl\:-rotate-90{--transform-rotate:-90deg}.xxl\:-rotate-45{--transform-rotate:-45deg}.xxl\:-rotate-12{--transform-rotate:-12deg}.xxl\:-rotate-6{--transform-rotate:-6deg}.xxl\:-rotate-3{--transform-rotate:-3deg}.xxl\:-rotate-2{--transform-rotate:-2deg}.xxl\:-rotate-1{--transform-rotate:-1deg}.xxl\:hover\:rotate-0:hover{--transform-rotate:0}.xxl\:hover\:rotate-1:hover{--transform-rotate:1deg}.xxl\:hover\:rotate-2:hover{--transform-rotate:2deg}.xxl\:hover\:rotate-3:hover{--transform-rotate:3deg}.xxl\:hover\:rotate-6:hover{--transform-rotate:6deg}.xxl\:hover\:rotate-12:hover{--transform-rotate:12deg}.xxl\:hover\:rotate-45:hover{--transform-rotate:45deg}.xxl\:hover\:rotate-90:hover{--transform-rotate:90deg}.xxl\:hover\:rotate-180:hover{--transform-rotate:180deg}.xxl\:hover\:-rotate-180:hover{--transform-rotate:-180deg}.xxl\:hover\:-rotate-90:hover{--transform-rotate:-90deg}.xxl\:hover\:-rotate-45:hover{--transform-rotate:-45deg}.xxl\:hover\:-rotate-12:hover{--transform-rotate:-12deg}.xxl\:hover\:-rotate-6:hover{--transform-rotate:-6deg}.xxl\:hover\:-rotate-3:hover{--transform-rotate:-3deg}.xxl\:hover\:-rotate-2:hover{--transform-rotate:-2deg}.xxl\:hover\:-rotate-1:hover{--transform-rotate:-1deg}.xxl\:focus\:rotate-0:focus{--transform-rotate:0}.xxl\:focus\:rotate-1:focus{--transform-rotate:1deg}.xxl\:focus\:rotate-2:focus{--transform-rotate:2deg}.xxl\:focus\:rotate-3:focus{--transform-rotate:3deg}.xxl\:focus\:rotate-6:focus{--transform-rotate:6deg}.xxl\:focus\:rotate-12:focus{--transform-rotate:12deg}.xxl\:focus\:rotate-45:focus{--transform-rotate:45deg}.xxl\:focus\:rotate-90:focus{--transform-rotate:90deg}.xxl\:focus\:rotate-180:focus{--transform-rotate:180deg}.xxl\:focus\:-rotate-180:focus{--transform-rotate:-180deg}.xxl\:focus\:-rotate-90:focus{--transform-rotate:-90deg}.xxl\:focus\:-rotate-45:focus{--transform-rotate:-45deg}.xxl\:focus\:-rotate-12:focus{--transform-rotate:-12deg}.xxl\:focus\:-rotate-6:focus{--transform-rotate:-6deg}.xxl\:focus\:-rotate-3:focus{--transform-rotate:-3deg}.xxl\:focus\:-rotate-2:focus{--transform-rotate:-2deg}.xxl\:focus\:-rotate-1:focus{--transform-rotate:-1deg}.xxl\:translate-x-0{--transform-translate-x:0}.xxl\:translate-x-1{--transform-translate-x:0.25rem}.xxl\:translate-x-2{--transform-translate-x:0.5rem}.xxl\:translate-x-3{--transform-translate-x:0.75rem}.xxl\:translate-x-4{--transform-translate-x:1rem}.xxl\:translate-x-5{--transform-translate-x:1.25rem}.xxl\:translate-x-6{--transform-translate-x:1.5rem}.xxl\:translate-x-8{--transform-translate-x:2rem}.xxl\:translate-x-10{--transform-translate-x:2.5rem}.xxl\:translate-x-12{--transform-translate-x:3rem}.xxl\:translate-x-16{--transform-translate-x:4rem}.xxl\:translate-x-20{--transform-translate-x:5rem}.xxl\:translate-x-24{--transform-translate-x:6rem}.xxl\:translate-x-32{--transform-translate-x:8rem}.xxl\:translate-x-40{--transform-translate-x:10rem}.xxl\:translate-x-48{--transform-translate-x:12rem}.xxl\:translate-x-56{--transform-translate-x:14rem}.xxl\:translate-x-64{--transform-translate-x:16rem}.xxl\:translate-x-px{--transform-translate-x:1px}.xxl\:-translate-x-1{--transform-translate-x:-0.25rem}.xxl\:-translate-x-2{--transform-translate-x:-0.5rem}.xxl\:-translate-x-3{--transform-translate-x:-0.75rem}.xxl\:-translate-x-4{--transform-translate-x:-1rem}.xxl\:-translate-x-5{--transform-translate-x:-1.25rem}.xxl\:-translate-x-6{--transform-translate-x:-1.5rem}.xxl\:-translate-x-8{--transform-translate-x:-2rem}.xxl\:-translate-x-10{--transform-translate-x:-2.5rem}.xxl\:-translate-x-12{--transform-translate-x:-3rem}.xxl\:-translate-x-16{--transform-translate-x:-4rem}.xxl\:-translate-x-20{--transform-translate-x:-5rem}.xxl\:-translate-x-24{--transform-translate-x:-6rem}.xxl\:-translate-x-32{--transform-translate-x:-8rem}.xxl\:-translate-x-40{--transform-translate-x:-10rem}.xxl\:-translate-x-48{--transform-translate-x:-12rem}.xxl\:-translate-x-56{--transform-translate-x:-14rem}.xxl\:-translate-x-64{--transform-translate-x:-16rem}.xxl\:-translate-x-px{--transform-translate-x:-1px}.xxl\:-translate-x-full{--transform-translate-x:-100%}.xxl\:-translate-x-1\/2{--transform-translate-x:-50%}.xxl\:translate-x-1\/2{--transform-translate-x:50%}.xxl\:translate-x-full{--transform-translate-x:100%}.xxl\:translate-y-0{--transform-translate-y:0}.xxl\:translate-y-1{--transform-translate-y:0.25rem}.xxl\:translate-y-2{--transform-translate-y:0.5rem}.xxl\:translate-y-3{--transform-translate-y:0.75rem}.xxl\:translate-y-4{--transform-translate-y:1rem}.xxl\:translate-y-5{--transform-translate-y:1.25rem}.xxl\:translate-y-6{--transform-translate-y:1.5rem}.xxl\:translate-y-8{--transform-translate-y:2rem}.xxl\:translate-y-10{--transform-translate-y:2.5rem}.xxl\:translate-y-12{--transform-translate-y:3rem}.xxl\:translate-y-16{--transform-translate-y:4rem}.xxl\:translate-y-20{--transform-translate-y:5rem}.xxl\:translate-y-24{--transform-translate-y:6rem}.xxl\:translate-y-32{--transform-translate-y:8rem}.xxl\:translate-y-40{--transform-translate-y:10rem}.xxl\:translate-y-48{--transform-translate-y:12rem}.xxl\:translate-y-56{--transform-translate-y:14rem}.xxl\:translate-y-64{--transform-translate-y:16rem}.xxl\:translate-y-px{--transform-translate-y:1px}.xxl\:-translate-y-1{--transform-translate-y:-0.25rem}.xxl\:-translate-y-2{--transform-translate-y:-0.5rem}.xxl\:-translate-y-3{--transform-translate-y:-0.75rem}.xxl\:-translate-y-4{--transform-translate-y:-1rem}.xxl\:-translate-y-5{--transform-translate-y:-1.25rem}.xxl\:-translate-y-6{--transform-translate-y:-1.5rem}.xxl\:-translate-y-8{--transform-translate-y:-2rem}.xxl\:-translate-y-10{--transform-translate-y:-2.5rem}.xxl\:-translate-y-12{--transform-translate-y:-3rem}.xxl\:-translate-y-16{--transform-translate-y:-4rem}.xxl\:-translate-y-20{--transform-translate-y:-5rem}.xxl\:-translate-y-24{--transform-translate-y:-6rem}.xxl\:-translate-y-32{--transform-translate-y:-8rem}.xxl\:-translate-y-40{--transform-translate-y:-10rem}.xxl\:-translate-y-48{--transform-translate-y:-12rem}.xxl\:-translate-y-56{--transform-translate-y:-14rem}.xxl\:-translate-y-64{--transform-translate-y:-16rem}.xxl\:-translate-y-px{--transform-translate-y:-1px}.xxl\:-translate-y-full{--transform-translate-y:-100%}.xxl\:-translate-y-1\/2{--transform-translate-y:-50%}.xxl\:translate-y-1\/2{--transform-translate-y:50%}.xxl\:translate-y-full{--transform-translate-y:100%}.xxl\:hover\:translate-x-0:hover{--transform-translate-x:0}.xxl\:hover\:translate-x-1:hover{--transform-translate-x:0.25rem}.xxl\:hover\:translate-x-2:hover{--transform-translate-x:0.5rem}.xxl\:hover\:translate-x-3:hover{--transform-translate-x:0.75rem}.xxl\:hover\:translate-x-4:hover{--transform-translate-x:1rem}.xxl\:hover\:translate-x-5:hover{--transform-translate-x:1.25rem}.xxl\:hover\:translate-x-6:hover{--transform-translate-x:1.5rem}.xxl\:hover\:translate-x-8:hover{--transform-translate-x:2rem}.xxl\:hover\:translate-x-10:hover{--transform-translate-x:2.5rem}.xxl\:hover\:translate-x-12:hover{--transform-translate-x:3rem}.xxl\:hover\:translate-x-16:hover{--transform-translate-x:4rem}.xxl\:hover\:translate-x-20:hover{--transform-translate-x:5rem}.xxl\:hover\:translate-x-24:hover{--transform-translate-x:6rem}.xxl\:hover\:translate-x-32:hover{--transform-translate-x:8rem}.xxl\:hover\:translate-x-40:hover{--transform-translate-x:10rem}.xxl\:hover\:translate-x-48:hover{--transform-translate-x:12rem}.xxl\:hover\:translate-x-56:hover{--transform-translate-x:14rem}.xxl\:hover\:translate-x-64:hover{--transform-translate-x:16rem}.xxl\:hover\:translate-x-px:hover{--transform-translate-x:1px}.xxl\:hover\:-translate-x-1:hover{--transform-translate-x:-0.25rem}.xxl\:hover\:-translate-x-2:hover{--transform-translate-x:-0.5rem}.xxl\:hover\:-translate-x-3:hover{--transform-translate-x:-0.75rem}.xxl\:hover\:-translate-x-4:hover{--transform-translate-x:-1rem}.xxl\:hover\:-translate-x-5:hover{--transform-translate-x:-1.25rem}.xxl\:hover\:-translate-x-6:hover{--transform-translate-x:-1.5rem}.xxl\:hover\:-translate-x-8:hover{--transform-translate-x:-2rem}.xxl\:hover\:-translate-x-10:hover{--transform-translate-x:-2.5rem}.xxl\:hover\:-translate-x-12:hover{--transform-translate-x:-3rem}.xxl\:hover\:-translate-x-16:hover{--transform-translate-x:-4rem}.xxl\:hover\:-translate-x-20:hover{--transform-translate-x:-5rem}.xxl\:hover\:-translate-x-24:hover{--transform-translate-x:-6rem}.xxl\:hover\:-translate-x-32:hover{--transform-translate-x:-8rem}.xxl\:hover\:-translate-x-40:hover{--transform-translate-x:-10rem}.xxl\:hover\:-translate-x-48:hover{--transform-translate-x:-12rem}.xxl\:hover\:-translate-x-56:hover{--transform-translate-x:-14rem}.xxl\:hover\:-translate-x-64:hover{--transform-translate-x:-16rem}.xxl\:hover\:-translate-x-px:hover{--transform-translate-x:-1px}.xxl\:hover\:-translate-x-full:hover{--transform-translate-x:-100%}.xxl\:hover\:-translate-x-1\/2:hover{--transform-translate-x:-50%}.xxl\:hover\:translate-x-1\/2:hover{--transform-translate-x:50%}.xxl\:hover\:translate-x-full:hover{--transform-translate-x:100%}.xxl\:hover\:translate-y-0:hover{--transform-translate-y:0}.xxl\:hover\:translate-y-1:hover{--transform-translate-y:0.25rem}.xxl\:hover\:translate-y-2:hover{--transform-translate-y:0.5rem}.xxl\:hover\:translate-y-3:hover{--transform-translate-y:0.75rem}.xxl\:hover\:translate-y-4:hover{--transform-translate-y:1rem}.xxl\:hover\:translate-y-5:hover{--transform-translate-y:1.25rem}.xxl\:hover\:translate-y-6:hover{--transform-translate-y:1.5rem}.xxl\:hover\:translate-y-8:hover{--transform-translate-y:2rem}.xxl\:hover\:translate-y-10:hover{--transform-translate-y:2.5rem}.xxl\:hover\:translate-y-12:hover{--transform-translate-y:3rem}.xxl\:hover\:translate-y-16:hover{--transform-translate-y:4rem}.xxl\:hover\:translate-y-20:hover{--transform-translate-y:5rem}.xxl\:hover\:translate-y-24:hover{--transform-translate-y:6rem}.xxl\:hover\:translate-y-32:hover{--transform-translate-y:8rem}.xxl\:hover\:translate-y-40:hover{--transform-translate-y:10rem}.xxl\:hover\:translate-y-48:hover{--transform-translate-y:12rem}.xxl\:hover\:translate-y-56:hover{--transform-translate-y:14rem}.xxl\:hover\:translate-y-64:hover{--transform-translate-y:16rem}.xxl\:hover\:translate-y-px:hover{--transform-translate-y:1px}.xxl\:hover\:-translate-y-1:hover{--transform-translate-y:-0.25rem}.xxl\:hover\:-translate-y-2:hover{--transform-translate-y:-0.5rem}.xxl\:hover\:-translate-y-3:hover{--transform-translate-y:-0.75rem}.xxl\:hover\:-translate-y-4:hover{--transform-translate-y:-1rem}.xxl\:hover\:-translate-y-5:hover{--transform-translate-y:-1.25rem}.xxl\:hover\:-translate-y-6:hover{--transform-translate-y:-1.5rem}.xxl\:hover\:-translate-y-8:hover{--transform-translate-y:-2rem}.xxl\:hover\:-translate-y-10:hover{--transform-translate-y:-2.5rem}.xxl\:hover\:-translate-y-12:hover{--transform-translate-y:-3rem}.xxl\:hover\:-translate-y-16:hover{--transform-translate-y:-4rem}.xxl\:hover\:-translate-y-20:hover{--transform-translate-y:-5rem}.xxl\:hover\:-translate-y-24:hover{--transform-translate-y:-6rem}.xxl\:hover\:-translate-y-32:hover{--transform-translate-y:-8rem}.xxl\:hover\:-translate-y-40:hover{--transform-translate-y:-10rem}.xxl\:hover\:-translate-y-48:hover{--transform-translate-y:-12rem}.xxl\:hover\:-translate-y-56:hover{--transform-translate-y:-14rem}.xxl\:hover\:-translate-y-64:hover{--transform-translate-y:-16rem}.xxl\:hover\:-translate-y-px:hover{--transform-translate-y:-1px}.xxl\:hover\:-translate-y-full:hover{--transform-translate-y:-100%}.xxl\:hover\:-translate-y-1\/2:hover{--transform-translate-y:-50%}.xxl\:hover\:translate-y-1\/2:hover{--transform-translate-y:50%}.xxl\:hover\:translate-y-full:hover{--transform-translate-y:100%}.xxl\:focus\:translate-x-0:focus{--transform-translate-x:0}.xxl\:focus\:translate-x-1:focus{--transform-translate-x:0.25rem}.xxl\:focus\:translate-x-2:focus{--transform-translate-x:0.5rem}.xxl\:focus\:translate-x-3:focus{--transform-translate-x:0.75rem}.xxl\:focus\:translate-x-4:focus{--transform-translate-x:1rem}.xxl\:focus\:translate-x-5:focus{--transform-translate-x:1.25rem}.xxl\:focus\:translate-x-6:focus{--transform-translate-x:1.5rem}.xxl\:focus\:translate-x-8:focus{--transform-translate-x:2rem}.xxl\:focus\:translate-x-10:focus{--transform-translate-x:2.5rem}.xxl\:focus\:translate-x-12:focus{--transform-translate-x:3rem}.xxl\:focus\:translate-x-16:focus{--transform-translate-x:4rem}.xxl\:focus\:translate-x-20:focus{--transform-translate-x:5rem}.xxl\:focus\:translate-x-24:focus{--transform-translate-x:6rem}.xxl\:focus\:translate-x-32:focus{--transform-translate-x:8rem}.xxl\:focus\:translate-x-40:focus{--transform-translate-x:10rem}.xxl\:focus\:translate-x-48:focus{--transform-translate-x:12rem}.xxl\:focus\:translate-x-56:focus{--transform-translate-x:14rem}.xxl\:focus\:translate-x-64:focus{--transform-translate-x:16rem}.xxl\:focus\:translate-x-px:focus{--transform-translate-x:1px}.xxl\:focus\:-translate-x-1:focus{--transform-translate-x:-0.25rem}.xxl\:focus\:-translate-x-2:focus{--transform-translate-x:-0.5rem}.xxl\:focus\:-translate-x-3:focus{--transform-translate-x:-0.75rem}.xxl\:focus\:-translate-x-4:focus{--transform-translate-x:-1rem}.xxl\:focus\:-translate-x-5:focus{--transform-translate-x:-1.25rem}.xxl\:focus\:-translate-x-6:focus{--transform-translate-x:-1.5rem}.xxl\:focus\:-translate-x-8:focus{--transform-translate-x:-2rem}.xxl\:focus\:-translate-x-10:focus{--transform-translate-x:-2.5rem}.xxl\:focus\:-translate-x-12:focus{--transform-translate-x:-3rem}.xxl\:focus\:-translate-x-16:focus{--transform-translate-x:-4rem}.xxl\:focus\:-translate-x-20:focus{--transform-translate-x:-5rem}.xxl\:focus\:-translate-x-24:focus{--transform-translate-x:-6rem}.xxl\:focus\:-translate-x-32:focus{--transform-translate-x:-8rem}.xxl\:focus\:-translate-x-40:focus{--transform-translate-x:-10rem}.xxl\:focus\:-translate-x-48:focus{--transform-translate-x:-12rem}.xxl\:focus\:-translate-x-56:focus{--transform-translate-x:-14rem}.xxl\:focus\:-translate-x-64:focus{--transform-translate-x:-16rem}.xxl\:focus\:-translate-x-px:focus{--transform-translate-x:-1px}.xxl\:focus\:-translate-x-full:focus{--transform-translate-x:-100%}.xxl\:focus\:-translate-x-1\/2:focus{--transform-translate-x:-50%}.xxl\:focus\:translate-x-1\/2:focus{--transform-translate-x:50%}.xxl\:focus\:translate-x-full:focus{--transform-translate-x:100%}.xxl\:focus\:translate-y-0:focus{--transform-translate-y:0}.xxl\:focus\:translate-y-1:focus{--transform-translate-y:0.25rem}.xxl\:focus\:translate-y-2:focus{--transform-translate-y:0.5rem}.xxl\:focus\:translate-y-3:focus{--transform-translate-y:0.75rem}.xxl\:focus\:translate-y-4:focus{--transform-translate-y:1rem}.xxl\:focus\:translate-y-5:focus{--transform-translate-y:1.25rem}.xxl\:focus\:translate-y-6:focus{--transform-translate-y:1.5rem}.xxl\:focus\:translate-y-8:focus{--transform-translate-y:2rem}.xxl\:focus\:translate-y-10:focus{--transform-translate-y:2.5rem}.xxl\:focus\:translate-y-12:focus{--transform-translate-y:3rem}.xxl\:focus\:translate-y-16:focus{--transform-translate-y:4rem}.xxl\:focus\:translate-y-20:focus{--transform-translate-y:5rem}.xxl\:focus\:translate-y-24:focus{--transform-translate-y:6rem}.xxl\:focus\:translate-y-32:focus{--transform-translate-y:8rem}.xxl\:focus\:translate-y-40:focus{--transform-translate-y:10rem}.xxl\:focus\:translate-y-48:focus{--transform-translate-y:12rem}.xxl\:focus\:translate-y-56:focus{--transform-translate-y:14rem}.xxl\:focus\:translate-y-64:focus{--transform-translate-y:16rem}.xxl\:focus\:translate-y-px:focus{--transform-translate-y:1px}.xxl\:focus\:-translate-y-1:focus{--transform-translate-y:-0.25rem}.xxl\:focus\:-translate-y-2:focus{--transform-translate-y:-0.5rem}.xxl\:focus\:-translate-y-3:focus{--transform-translate-y:-0.75rem}.xxl\:focus\:-translate-y-4:focus{--transform-translate-y:-1rem}.xxl\:focus\:-translate-y-5:focus{--transform-translate-y:-1.25rem}.xxl\:focus\:-translate-y-6:focus{--transform-translate-y:-1.5rem}.xxl\:focus\:-translate-y-8:focus{--transform-translate-y:-2rem}.xxl\:focus\:-translate-y-10:focus{--transform-translate-y:-2.5rem}.xxl\:focus\:-translate-y-12:focus{--transform-translate-y:-3rem}.xxl\:focus\:-translate-y-16:focus{--transform-translate-y:-4rem}.xxl\:focus\:-translate-y-20:focus{--transform-translate-y:-5rem}.xxl\:focus\:-translate-y-24:focus{--transform-translate-y:-6rem}.xxl\:focus\:-translate-y-32:focus{--transform-translate-y:-8rem}.xxl\:focus\:-translate-y-40:focus{--transform-translate-y:-10rem}.xxl\:focus\:-translate-y-48:focus{--transform-translate-y:-12rem}.xxl\:focus\:-translate-y-56:focus{--transform-translate-y:-14rem}.xxl\:focus\:-translate-y-64:focus{--transform-translate-y:-16rem}.xxl\:focus\:-translate-y-px:focus{--transform-translate-y:-1px}.xxl\:focus\:-translate-y-full:focus{--transform-translate-y:-100%}.xxl\:focus\:-translate-y-1\/2:focus{--transform-translate-y:-50%}.xxl\:focus\:translate-y-1\/2:focus{--transform-translate-y:50%}.xxl\:focus\:translate-y-full:focus{--transform-translate-y:100%}.xxl\:skew-x-0{--transform-skew-x:0}.xxl\:skew-x-1{--transform-skew-x:1deg}.xxl\:skew-x-2{--transform-skew-x:2deg}.xxl\:skew-x-3{--transform-skew-x:3deg}.xxl\:skew-x-6{--transform-skew-x:6deg}.xxl\:skew-x-12{--transform-skew-x:12deg}.xxl\:-skew-x-12{--transform-skew-x:-12deg}.xxl\:-skew-x-6{--transform-skew-x:-6deg}.xxl\:-skew-x-3{--transform-skew-x:-3deg}.xxl\:-skew-x-2{--transform-skew-x:-2deg}.xxl\:-skew-x-1{--transform-skew-x:-1deg}.xxl\:skew-y-0{--transform-skew-y:0}.xxl\:skew-y-1{--transform-skew-y:1deg}.xxl\:skew-y-2{--transform-skew-y:2deg}.xxl\:skew-y-3{--transform-skew-y:3deg}.xxl\:skew-y-6{--transform-skew-y:6deg}.xxl\:skew-y-12{--transform-skew-y:12deg}.xxl\:-skew-y-12{--transform-skew-y:-12deg}.xxl\:-skew-y-6{--transform-skew-y:-6deg}.xxl\:-skew-y-3{--transform-skew-y:-3deg}.xxl\:-skew-y-2{--transform-skew-y:-2deg}.xxl\:-skew-y-1{--transform-skew-y:-1deg}.xxl\:hover\:skew-x-0:hover{--transform-skew-x:0}.xxl\:hover\:skew-x-1:hover{--transform-skew-x:1deg}.xxl\:hover\:skew-x-2:hover{--transform-skew-x:2deg}.xxl\:hover\:skew-x-3:hover{--transform-skew-x:3deg}.xxl\:hover\:skew-x-6:hover{--transform-skew-x:6deg}.xxl\:hover\:skew-x-12:hover{--transform-skew-x:12deg}.xxl\:hover\:-skew-x-12:hover{--transform-skew-x:-12deg}.xxl\:hover\:-skew-x-6:hover{--transform-skew-x:-6deg}.xxl\:hover\:-skew-x-3:hover{--transform-skew-x:-3deg}.xxl\:hover\:-skew-x-2:hover{--transform-skew-x:-2deg}.xxl\:hover\:-skew-x-1:hover{--transform-skew-x:-1deg}.xxl\:hover\:skew-y-0:hover{--transform-skew-y:0}.xxl\:hover\:skew-y-1:hover{--transform-skew-y:1deg}.xxl\:hover\:skew-y-2:hover{--transform-skew-y:2deg}.xxl\:hover\:skew-y-3:hover{--transform-skew-y:3deg}.xxl\:hover\:skew-y-6:hover{--transform-skew-y:6deg}.xxl\:hover\:skew-y-12:hover{--transform-skew-y:12deg}.xxl\:hover\:-skew-y-12:hover{--transform-skew-y:-12deg}.xxl\:hover\:-skew-y-6:hover{--transform-skew-y:-6deg}.xxl\:hover\:-skew-y-3:hover{--transform-skew-y:-3deg}.xxl\:hover\:-skew-y-2:hover{--transform-skew-y:-2deg}.xxl\:hover\:-skew-y-1:hover{--transform-skew-y:-1deg}.xxl\:focus\:skew-x-0:focus{--transform-skew-x:0}.xxl\:focus\:skew-x-1:focus{--transform-skew-x:1deg}.xxl\:focus\:skew-x-2:focus{--transform-skew-x:2deg}.xxl\:focus\:skew-x-3:focus{--transform-skew-x:3deg}.xxl\:focus\:skew-x-6:focus{--transform-skew-x:6deg}.xxl\:focus\:skew-x-12:focus{--transform-skew-x:12deg}.xxl\:focus\:-skew-x-12:focus{--transform-skew-x:-12deg}.xxl\:focus\:-skew-x-6:focus{--transform-skew-x:-6deg}.xxl\:focus\:-skew-x-3:focus{--transform-skew-x:-3deg}.xxl\:focus\:-skew-x-2:focus{--transform-skew-x:-2deg}.xxl\:focus\:-skew-x-1:focus{--transform-skew-x:-1deg}.xxl\:focus\:skew-y-0:focus{--transform-skew-y:0}.xxl\:focus\:skew-y-1:focus{--transform-skew-y:1deg}.xxl\:focus\:skew-y-2:focus{--transform-skew-y:2deg}.xxl\:focus\:skew-y-3:focus{--transform-skew-y:3deg}.xxl\:focus\:skew-y-6:focus{--transform-skew-y:6deg}.xxl\:focus\:skew-y-12:focus{--transform-skew-y:12deg}.xxl\:focus\:-skew-y-12:focus{--transform-skew-y:-12deg}.xxl\:focus\:-skew-y-6:focus{--transform-skew-y:-6deg}.xxl\:focus\:-skew-y-3:focus{--transform-skew-y:-3deg}.xxl\:focus\:-skew-y-2:focus{--transform-skew-y:-2deg}.xxl\:focus\:-skew-y-1:focus{--transform-skew-y:-1deg}.xxl\:transition-none{transition-property:none}.xxl\:transition-all{transition-property:all}.xxl\:transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.xxl\:transition-colors{transition-property:background-color,border-color,color,fill,stroke}.xxl\:transition-opacity{transition-property:opacity}.xxl\:transition-shadow{transition-property:box-shadow}.xxl\:transition-transform{transition-property:transform}.xxl\:ease-linear{transition-timing-function:linear}.xxl\:ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.xxl\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.xxl\:ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.xxl\:duration-75{transition-duration:75ms}.xxl\:duration-100{transition-duration:.1s}.xxl\:duration-150{transition-duration:.15s}.xxl\:duration-200{transition-duration:.2s}.xxl\:duration-300{transition-duration:.3s}.xxl\:duration-500{transition-duration:.5s}.xxl\:duration-700{transition-duration:.7s}.xxl\:duration-1000{transition-duration:1s}.xxl\:delay-75{transition-delay:75ms}.xxl\:delay-100{transition-delay:.1s}.xxl\:delay-150{transition-delay:.15s}.xxl\:delay-200{transition-delay:.2s}.xxl\:delay-300{transition-delay:.3s}.xxl\:delay-500{transition-delay:.5s}.xxl\:delay-700{transition-delay:.7s}.xxl\:delay-1000{transition-delay:1s}.xxl\:animate-none{animation:none}.xxl\:animate-spin{animation:spin 1s linear infinite}.xxl\:animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.xxl\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.xxl\:animate-bounce{animation:bounce 1s infinite}}#nprogress{pointer-events:none}#nprogress .bar{background:#00d1ff;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #00d1ff,0 0 5px #00d1ff;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#00d1ff transparent transparent #00d1ff;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.go-to-top[data-v-5fd4ef0c]{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;color:#00d1ff;z-index:1}.go-to-top[data-v-5fd4ef0c]:hover{color:#4ddfff}@media (max-width:959px){.go-to-top[data-v-5fd4ef0c]{display:none}}.fade-enter-active[data-v-5fd4ef0c],.fade-leave-active[data-v-5fd4ef0c]{transition:opacity .3s}.fade-enter[data-v-5fd4ef0c],.fade-leave-to[data-v-5fd4ef0c]{opacity:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.blog-home[data-v-23ea4d9e]{padding:4.6rem 2rem 0;max-width:820px;margin:0 auto}h1[data-v-23ea4d9e]{font-size:3rem;margin:1.8rem auto;text-align:center}ul[data-v-23ea4d9e]{list-style-type:none}.hero-home{background:radial-gradient(70% 70% at 50% 100%,#e8e8e8 0,#fafafa 100%)}.content{padding-top:5rem;padding-bottom:2rem;margin:0 4rem}.smalltext{color:#999;font-size:1rem;letter-spacing:.1rem;font-weight:500}@media (max-width:719px){.content{padding-top:4rem;margin:0 .5rem}}@media (max-width:419px){.content{padding-top:4rem;margin:0 .5rem}}.text-blue{color:#cfe1e6}.bg-orange:hover{background-color:#ffd278}.hero-button:hover{background-color:#e077ff;color:#fff}.product .hero{text-align:center}.product .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.product .hero h1{font-size:3rem}.product .hero .action,.product .hero .description,.product .hero h1{margin:1.8rem auto}.product .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.product .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#00d1ff;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #00bce6}.product .hero .action-button:hover{background-color:#1ad6ff}.blog-home[data-v-f5824a9c]{padding:4.6rem 2rem 0;max-width:820px;margin:0 auto}h1[data-v-f5824a9c]{font-size:3rem;margin:1.8rem auto;text-align:center}ul[data-v-f5824a9c]{list-style-type:none}.jobs-diagram[data-v-64a1ff08]{height:370px;min-width:900px}polygon[data-v-64a1ff08],text[data-v-64a1ff08]{cursor:pointer}.job .hero{text-align:center}.job .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.job .hero h1{font-size:3rem}.job .hero .action,.job .hero .description,.job .hero h1{margin:1.8rem auto}.job .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.job .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#00d1ff;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #00bce6}.job .hero .action-button:hover{background-color:#1ad6ff}.job p{margin:50px 0}.job h2{margin:60px 0 50px}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#00d1ff}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#00d1ff}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#00d1ff}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#00d1ff}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #00d1ff;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#00d1ff}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #14d5ff}}.navbaricon{filter:invert(10%) sepia(66%) saturate(12%) hue-rotate(28deg) brightness(91%) contrast(93%)}.navbaricon:hover{filter:invert(55%) sepia(9%) saturate(3922%) hue-rotate(329deg) brightness(97%) contrast(85%)}.navbar{padding:.7rem 1.5rem;line-height:3.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:3.2rem;min-width:3.2rem;margin-right:.8rem;vertical-align:top;position:relative;z-index:10}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:13.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}ul[data-v-08abc9d6]{list-style-type:none;padding-left:0}li>a[data-v-08abc9d6]:hover{font-weight:600}.page{padding-bottom:2rem;display:block}.hor-line{max-width:740px}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#00d1ff;border-left-color:#00d1ff}.sidebar-heading.clickable:hover{color:#00d1ff}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#00d1ff}a.sidebar-link.active{font-weight:600;color:#00d1ff;border-left-color:#00d1ff}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}li[data-v-69abe1b0]{list-style:none}.footer-bg[data-v-69abe1b0]{background-color:#00d1ff;border-top:1px solid #cfe1e6}li>a[data-v-69abe1b0]{color:#000;font-weight:700;font-size:1rem}li>a[data-v-69abe1b0]:hover{color:#fff}.footer-title[data-v-69abe1b0]{color:#000;font-size:1.1rem;font-weight:700}.footer-items[data-v-69abe1b0]{margin-left:8em}.footer-logo[data-v-69abe1b0]{margin-left:2.5em}.bottom-padding[data-v-69abe1b0]{padding-bottom:1em}.jobs-diagram[data-v-6fc3c561]{height:470px;min-width:1000px}polygon[data-v-6fc3c561],text[data-v-6fc3c561]{cursor:pointer}.gray-section{background-color:#eee}.inner-container{max-width:1200px;margin:0 auto}.inner-container h1{margin-bottom:16px}.inner-container p{font-size:16px;line-height:1.4}.usedby{max-width:900px}#video-section{background-image:url(/img/home/beam.svg);background-size:95% 42%;background-position:50%;background-repeat:no-repeat}.video{margin:auto;max-width:900px;width:100%}.video iframe{top:0;right:0;left:0;bottom:0;margin:auto;max-width:700px;height:400px}.container{margin-left:12px}.card-details{text-align:initial;margin-left:16px}.card-details p{font-size:16px;line-height:1.5;padding:0;margin:12px 0}hr{height:2px;color:#e077ff;background-color:#e077ff;border:none;width:160px}.tooling-card{min-width:14%;justify-content:center}.image-border,.tooling-card{display:flex;align-items:center}.image-border{padding:20px;border:2px solid #e47046;border-radius:50%;background:#eee;min-width:80px;min-height:80px}.image-border img{width:60px;height:60px}.image-border:hover{background-color:#fff}.orange-text{color:#e077ff}h2[data-v-c0ada04e]{width:100%;display:inline-block;border-bottom:none}h2[data-v-c0ada04e],h3[data-v-c0ada04e]{margin-top:-4.1rem;padding-top:5.6rem;margin-bottom:0}ul.timeline{list-style-type:none;position:relative;font-size:120%}ul.timeline:before{content:" ";background:#d4d9df;display:inline-block;position:absolute;left:29px;width:2px;height:100%;z-index:400}ul.timeline>li{margin:20px 0;padding-left:40px}ul.timeline>li:before{content:" ";background:#fff;display:inline-block;position:absolute;border-radius:50%;border:3px solid #000;left:20px;width:20px;height:20px;z-index:400}ul.timeline>li.done:before{background:green}ul.timeline>li.current:before{background:#ff0}.fluer{padding-left:1rem}.flex{justify-content:space-around}.team-core-font[data-v-036cb118]{text-transform:uppercase;font-size:.84em;font-weight:500}.list[data-v-036cb118],ul[data-v-036cb118]{list-style-type:none}div.language-mermaid{background-color:inherit}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange} \ No newline at end of file diff --git a/assets/js/10.f7c1e786.js b/assets/js/10.c49e168a.js similarity index 99% rename from assets/js/10.f7c1e786.js rename to assets/js/10.c49e168a.js index 658662a03..562af6043 100644 --- a/assets/js/10.f7c1e786.js +++ b/assets/js/10.c49e168a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{419:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos1.92f0c35b.png"},420:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos2.d04a929b.png"},421:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos3.41defd34.png"},422:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos4.8d95dae7.png"},423:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos5.aa82e072.png"},424:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos6.9e89ebcb.png"},573:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"context"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),o("p",[e._v("Causa Natura is a non-profit organization based in Mexico. It supports public policies to allow management of natural resources respecting human rights, equity, efficiency and sustainability. This project, “Pescando Datos” seeks to advocate for improved public policies for more than just subsidies allocation, through the collection of, analysis, and visualization of data around subsidies available to fishing communities in Mexico.")]),e._v(" "),o("p",[e._v("After an extended period of analysis a web platform is being built in order to explore data and visualize it with launch due for later in 2017. Following a meeting at csv,conf after a presentation by Adrià Mercader on "),o("a",{attrs:{href:"https://www.youtube.com/watch?v=Gk2F4hncAgY&index=35&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN",target:"_blank",rel:"noopener noreferrer"}},[e._v("‘Continuous Data Validation for Everybody’"),o("OutboundLink")],1),e._v(" we have piloted with Causa Natura to explore how our goodtables service can support the project. We spoke to Eduardo Rolón, Executive Director of Causa Natura and Gabriela Rodriguez who is working on the platform.")]),e._v(" "),o("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),o("p",[e._v("Causa Natura are making a lot of freedom of Information requests in Mexico on information to do with fishers in order to understand how policies are impacting people. The data is needed to support a range of stakeholders from the many co-op fisher communities to advocacy organisations.")]),e._v(" "),o("blockquote",[o("p",[e._v("Eduardo Rolón: Advocacy organizations, either from CSOs or from the fisheries sector may be more interested in data that evaluates and supports policy recommendations. Fisher communities have more immediate needs, such as how to obtain better governmental services and support.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: The data is important to us because Campaigns and decisions will be made based on the analysis on the data Causa Natura collected. To be able to do the required analysis we need good data.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: Currently, there is a tedious process of cleaning to give us data that can be worked on. Much of the data Causa Natura was using came as PDFs and needed to be processed. We process a lot of PDFs and Excel files and there are a lot of problems getting the OCR to capture the information correctly to csv. For example, names are not consistent and this causes us a lot of problems.")])]),e._v(" "),o("h2",{attrs:{id:"the-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),o("h3",{attrs:{id:"software"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),o("p",[e._v("goodtables was an existing Python library and web application developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema as described above. We introduced goodtables in a "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog post"),o("OutboundLink")],1),e._v(" earlier this year.")]),e._v(" "),o("p",[e._v("On top of that, Open Knowledge International has developed "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(", a web service for a continuous data validation that connects to different data sources to generate structure and content reports.")]),e._v(" "),o("h3",{attrs:{id:"what-did-we-do"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),o("p",[e._v("Let’s see how "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" has helped to identify source and structural errors in the Causa Natura pilot dataset:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(419),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("After we’ve signed in, we synchronize our GitHub repositories and activate the repository we want to validate ("),o("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-causanatura",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/pilot-causanatura"),o("OutboundLink")],1),e._v("):")]),e._v(" "),o("p",[o("img",{attrs:{src:a(420),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("Once the repository is activated, every time there is an update on the data hosted on GitHub, the service will generate a validation report. This is how one of these reports looks like:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(421),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("Here, we see that there are 59 valid tables, but the report has identified source and structural errors in 41 of the other tables hosted on the repository, including:")]),e._v(" "),o("ul",[o("li",[e._v("duplicate rows")]),e._v(" "),o("li",[e._v("duplicate headers")]),e._v(" "),o("li",[e._v("blank rows")]),e._v(" "),o("li",[e._v("missing values")])]),e._v(" "),o("p",[e._v("The full list of checks exercised by "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" can be found in the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Quality Spec"),o("OutboundLink")],1),e._v(". And the full report can be found "),o("a",{attrs:{href:"http://goodtables.io/github/frictionlessdata/pilot-causanatura/jobs/7",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("After identifying errors we went back do a manual cleanup of the data. As we mentioned, there is no need to run "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" validation manually - it happens on any GitHub push for all activated repositories:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(422),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("If we need to customize a validation process we can put a goodtables.yml configuration file on the repository root, allowing us to tweak settings like the actual checks to perform, limit of rows to check, etc:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(423),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("And instant feedback is available via GitHub commit statuses and a "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" badge that can be included in the README file:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(424),alt:"ADBio"}})]),e._v(" "),o("h2",{attrs:{id:"review"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: Right now I have not been using it extensively yet but I have a lot of faith that it could get incorporated in the process of importing data into the Github repository. It should be easy to introduce into our workflow. I really like the process of hooks after git-push as I’m trying to get the organization to use Github for new data. I really like the validation part and that a report is generated each time data is pushed. This is very important and very useful. This makes it easier for the people who are doing the cleaning of data who may not have experience with GitHub.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: The web interface needs a lot of usability work. But the idea is awesome. There are problems and it is kind of hard to use at the moment as it takes a long time to sync repositories and the process is not clear, but i think it has a huge potential to make a difference to the work we are doing, mostly if people use Github to store data then it could make a difference.")])]),e._v(" "),o("h2",{attrs:{id:"next-steps"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[e._v("#")]),e._v(" Next Steps")]),e._v(" "),o("h3",{attrs:{id:"areas-for-further-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-further-work"}},[e._v("#")]),e._v(" Areas for further work")]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: With continuous integration it would be very helpful to be notified with messages about the problems in the data. Perhaps emails notifications would be a good way to go, or integrations with other programs - Slack for example - would be fantastic.")])]),e._v(" "),o("p",[e._v("One thing to note is that all the errors shown following the analysis refer to the structure of the data files (missing headers, duplicate rows, etc). Including schema validation against some of the files would be a very logical next step in testing whether the contents of the data are what is expected). We are now planning to work with Causa Natura to take the steps to identify a subset of the data and create a base schema/data package that will be easily expandable and extendable.")]),e._v(" "),o("h3",{attrs:{id:"find-out-more"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[e._v("#")]),e._v(" Find Out More")]),e._v(" "),o("p",[e._v("To explore for the yourself and collaborate, see the Pescando Datos project on "),o("a",{attrs:{href:"https://github.com/pescandodatos/datos",target:"_blank",rel:"noopener noreferrer"}},[e._v("github"),o("OutboundLink")],1),e._v(" and our goodtables "),o("a",{attrs:{href:"http://goodtables.io/github/frictionlessdata/pilot-causanatura",target:"_blank",rel:"noopener noreferrer"}},[e._v("reports"),o("OutboundLink")],1),e._v(" from the project.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{419:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos1.92f0c35b.png"},420:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos2.d04a929b.png"},421:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos3.41defd34.png"},422:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos4.8d95dae7.png"},423:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos5.aa82e072.png"},424:function(e,t,a){e.exports=a.p+"assets/img/pescandodatos6.9e89ebcb.png"},574:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"context"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),o("p",[e._v("Causa Natura is a non-profit organization based in Mexico. It supports public policies to allow management of natural resources respecting human rights, equity, efficiency and sustainability. This project, “Pescando Datos” seeks to advocate for improved public policies for more than just subsidies allocation, through the collection of, analysis, and visualization of data around subsidies available to fishing communities in Mexico.")]),e._v(" "),o("p",[e._v("After an extended period of analysis a web platform is being built in order to explore data and visualize it with launch due for later in 2017. Following a meeting at csv,conf after a presentation by Adrià Mercader on "),o("a",{attrs:{href:"https://www.youtube.com/watch?v=Gk2F4hncAgY&index=35&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN",target:"_blank",rel:"noopener noreferrer"}},[e._v("‘Continuous Data Validation for Everybody’"),o("OutboundLink")],1),e._v(" we have piloted with Causa Natura to explore how our goodtables service can support the project. We spoke to Eduardo Rolón, Executive Director of Causa Natura and Gabriela Rodriguez who is working on the platform.")]),e._v(" "),o("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),o("p",[e._v("Causa Natura are making a lot of freedom of Information requests in Mexico on information to do with fishers in order to understand how policies are impacting people. The data is needed to support a range of stakeholders from the many co-op fisher communities to advocacy organisations.")]),e._v(" "),o("blockquote",[o("p",[e._v("Eduardo Rolón: Advocacy organizations, either from CSOs or from the fisheries sector may be more interested in data that evaluates and supports policy recommendations. Fisher communities have more immediate needs, such as how to obtain better governmental services and support.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: The data is important to us because Campaigns and decisions will be made based on the analysis on the data Causa Natura collected. To be able to do the required analysis we need good data.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: Currently, there is a tedious process of cleaning to give us data that can be worked on. Much of the data Causa Natura was using came as PDFs and needed to be processed. We process a lot of PDFs and Excel files and there are a lot of problems getting the OCR to capture the information correctly to csv. For example, names are not consistent and this causes us a lot of problems.")])]),e._v(" "),o("h2",{attrs:{id:"the-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),o("h3",{attrs:{id:"software"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),o("p",[e._v("goodtables was an existing Python library and web application developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema as described above. We introduced goodtables in a "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog post"),o("OutboundLink")],1),e._v(" earlier this year.")]),e._v(" "),o("p",[e._v("On top of that, Open Knowledge International has developed "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(", a web service for a continuous data validation that connects to different data sources to generate structure and content reports.")]),e._v(" "),o("h3",{attrs:{id:"what-did-we-do"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),o("p",[e._v("Let’s see how "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" has helped to identify source and structural errors in the Causa Natura pilot dataset:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(419),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("After we’ve signed in, we synchronize our GitHub repositories and activate the repository we want to validate ("),o("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-causanatura",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/pilot-causanatura"),o("OutboundLink")],1),e._v("):")]),e._v(" "),o("p",[o("img",{attrs:{src:a(420),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("Once the repository is activated, every time there is an update on the data hosted on GitHub, the service will generate a validation report. This is how one of these reports looks like:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(421),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("Here, we see that there are 59 valid tables, but the report has identified source and structural errors in 41 of the other tables hosted on the repository, including:")]),e._v(" "),o("ul",[o("li",[e._v("duplicate rows")]),e._v(" "),o("li",[e._v("duplicate headers")]),e._v(" "),o("li",[e._v("blank rows")]),e._v(" "),o("li",[e._v("missing values")])]),e._v(" "),o("p",[e._v("The full list of checks exercised by "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" can be found in the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Quality Spec"),o("OutboundLink")],1),e._v(". And the full report can be found "),o("a",{attrs:{href:"http://goodtables.io/github/frictionlessdata/pilot-causanatura/jobs/7",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("After identifying errors we went back do a manual cleanup of the data. As we mentioned, there is no need to run "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" validation manually - it happens on any GitHub push for all activated repositories:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(422),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("If we need to customize a validation process we can put a goodtables.yml configuration file on the repository root, allowing us to tweak settings like the actual checks to perform, limit of rows to check, etc:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(423),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("And instant feedback is available via GitHub commit statuses and a "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" badge that can be included in the README file:")]),e._v(" "),o("p",[o("img",{attrs:{src:a(424),alt:"ADBio"}})]),e._v(" "),o("h2",{attrs:{id:"review"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: Right now I have not been using it extensively yet but I have a lot of faith that it could get incorporated in the process of importing data into the Github repository. It should be easy to introduce into our workflow. I really like the process of hooks after git-push as I’m trying to get the organization to use Github for new data. I really like the validation part and that a report is generated each time data is pushed. This is very important and very useful. This makes it easier for the people who are doing the cleaning of data who may not have experience with GitHub.")])]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: The web interface needs a lot of usability work. But the idea is awesome. There are problems and it is kind of hard to use at the moment as it takes a long time to sync repositories and the process is not clear, but i think it has a huge potential to make a difference to the work we are doing, mostly if people use Github to store data then it could make a difference.")])]),e._v(" "),o("h2",{attrs:{id:"next-steps"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[e._v("#")]),e._v(" Next Steps")]),e._v(" "),o("h3",{attrs:{id:"areas-for-further-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-further-work"}},[e._v("#")]),e._v(" Areas for further work")]),e._v(" "),o("blockquote",[o("p",[e._v("Gabriela Rodriguez: With continuous integration it would be very helpful to be notified with messages about the problems in the data. Perhaps emails notifications would be a good way to go, or integrations with other programs - Slack for example - would be fantastic.")])]),e._v(" "),o("p",[e._v("One thing to note is that all the errors shown following the analysis refer to the structure of the data files (missing headers, duplicate rows, etc). Including schema validation against some of the files would be a very logical next step in testing whether the contents of the data are what is expected). We are now planning to work with Causa Natura to take the steps to identify a subset of the data and create a base schema/data package that will be easily expandable and extendable.")]),e._v(" "),o("h3",{attrs:{id:"find-out-more"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[e._v("#")]),e._v(" Find Out More")]),e._v(" "),o("p",[e._v("To explore for the yourself and collaborate, see the Pescando Datos project on "),o("a",{attrs:{href:"https://github.com/pescandodatos/datos",target:"_blank",rel:"noopener noreferrer"}},[e._v("github"),o("OutboundLink")],1),e._v(" and our goodtables "),o("a",{attrs:{href:"http://goodtables.io/github/frictionlessdata/pilot-causanatura",target:"_blank",rel:"noopener noreferrer"}},[e._v("reports"),o("OutboundLink")],1),e._v(" from the project.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/106.71490774.js b/assets/js/106.36ee2e75.js similarity index 98% rename from assets/js/106.71490774.js rename to assets/js/106.36ee2e75.js index e532847d2..7218b9867 100644 --- a/assets/js/106.71490774.js +++ b/assets/js/106.36ee2e75.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{638:function(t,e,r){"use strict";r.r(e);var o=r(29),a=Object(o.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("p",[t._v("We are hosting a virtual community hangout to share recent developments in the Frictionless Data community and it’s also an avenue to connect with other community members. This will be a 1-hour meeting where community members come together to discuss key topics in the data community.")]),t._v(" "),r("p",[r("img",{attrs:{src:"/img/blog/community.jpg",alt:"Photo by Perry Grone on Unsplash"}})]),t._v(" "),r("p",[t._v("The hangout is scheduled to hold on "),r("strong",[t._v("27th August 2020 at 5 pm BST / 4 PM UTC")]),t._v(". If you would like to attend the hangout, "),r("a",{attrs:{href:"https://forms.gle/3wEGBy2q4Q6pdNfK8",target:"_blank",rel:"noopener noreferrer"}},[t._v("you can sign up for the event using this form"),r("OutboundLink")],1)]),t._v(" "),r("p",[t._v("Looking forward to seeing you there!")]),t._v(" "),r("h2",{attrs:{id:"community-hangout-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#community-hangout-recording"}},[t._v("#")]),t._v(" Community Hangout Recording")]),t._v(" "),r("p",[t._v("If you missed the community hangout and would like to catch up on what was discussed, here’s a recording of the hangout.")]),t._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/HezM-DPB2v4",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),t._v(" "),r("p",[t._v("Here is a short summary of what we were up to:")]),t._v(" "),r("ul",[r("li",[t._v("An RFC (request for comments) we are working on and other tools:\n"),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/project/blob/master/rfcs/0006-software-structure.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("Restructuring Libraries to Drivers and Toolkits"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("tabulator-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/datopian/data.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("data.js"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/datopian/jsv",target:"_blank",rel:"noopener noreferrer"}},[t._v("jsv"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-swift"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-swift"),r("OutboundLink")],1)])])]),t._v(" "),r("li",[t._v("Discussion on Google Analytics vs alternatives, some of them being open-source.")])]),t._v(" "),r("h2",{attrs:{id:"technical-presentation-on-frictionless-py"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#technical-presentation-on-frictionless-py"}},[t._v("#")]),t._v(" Technical presentation on frictionless-py")]),t._v(" "),r("p",[t._v("We also made available a technical presentation of a new tool we are working on: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-py"),r("OutboundLink")],1),t._v(". If you would like to delve deeper into the nuts and bolts of it, here it is for your enjoyment!")]),t._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/VPnC8cc6ly0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[106],{639:function(t,e,r){"use strict";r.r(e);var o=r(29),a=Object(o.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("p",[t._v("We are hosting a virtual community hangout to share recent developments in the Frictionless Data community and it’s also an avenue to connect with other community members. This will be a 1-hour meeting where community members come together to discuss key topics in the data community.")]),t._v(" "),r("p",[r("img",{attrs:{src:"/img/blog/community.jpg",alt:"Photo by Perry Grone on Unsplash"}})]),t._v(" "),r("p",[t._v("The hangout is scheduled to hold on "),r("strong",[t._v("27th August 2020 at 5 pm BST / 4 PM UTC")]),t._v(". If you would like to attend the hangout, "),r("a",{attrs:{href:"https://forms.gle/3wEGBy2q4Q6pdNfK8",target:"_blank",rel:"noopener noreferrer"}},[t._v("you can sign up for the event using this form"),r("OutboundLink")],1)]),t._v(" "),r("p",[t._v("Looking forward to seeing you there!")]),t._v(" "),r("h2",{attrs:{id:"community-hangout-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#community-hangout-recording"}},[t._v("#")]),t._v(" Community Hangout Recording")]),t._v(" "),r("p",[t._v("If you missed the community hangout and would like to catch up on what was discussed, here’s a recording of the hangout.")]),t._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/HezM-DPB2v4",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),t._v(" "),r("p",[t._v("Here is a short summary of what we were up to:")]),t._v(" "),r("ul",[r("li",[t._v("An RFC (request for comments) we are working on and other tools:\n"),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/project/blob/master/rfcs/0006-software-structure.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("Restructuring Libraries to Drivers and Toolkits"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("tabulator-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/datopian/data.js",target:"_blank",rel:"noopener noreferrer"}},[t._v("data.js"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/datopian/jsv",target:"_blank",rel:"noopener noreferrer"}},[t._v("jsv"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-py"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-swift"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-swift"),r("OutboundLink")],1)])])]),t._v(" "),r("li",[t._v("Discussion on Google Analytics vs alternatives, some of them being open-source.")])]),t._v(" "),r("h2",{attrs:{id:"technical-presentation-on-frictionless-py"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#technical-presentation-on-frictionless-py"}},[t._v("#")]),t._v(" Technical presentation on frictionless-py")]),t._v(" "),r("p",[t._v("We also made available a technical presentation of a new tool we are working on: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-py"),r("OutboundLink")],1),t._v(". If you would like to delve deeper into the nuts and bolts of it, here it is for your enjoyment!")]),t._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/VPnC8cc6ly0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/107.614f6bd7.js b/assets/js/107.1d7289ba.js similarity index 99% rename from assets/js/107.614f6bd7.js rename to assets/js/107.1d7289ba.js index d5a1417ce..8387eefb2 100644 --- a/assets/js/107.614f6bd7.js +++ b/assets/js/107.1d7289ba.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{639:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to introduce the newest Fellows for Cohort 2 of the Frictionless Data "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducible Research Fellows Programme"),a("OutboundLink")],1),e._v("! Over the next nine months, these eight early career researchers will be learning about open science, data management, and how to use Frictionless Data tooling in their work to make their data more open and their research more reusable. As an introduction, each Fellow has written a short blog about themselves and their goals. Read below to meet the Fellows and click on their individual blogs to learn more about them!")]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/katerina-fellow.jpg",alt:"Katerina picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi everyone, my name is Katerina Drakoulaki")]),e._v(", I am from Greece and Cyprus, and I’m currently doing my PhD at the National and Kapodistrian University of Athens. My PhD combines all my interests: linguistics, language disorders, music cognition, and working with children! Research reproducibility is important in order to reliably identify and provide intervention to children with difficulties. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-katerina/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Katerina here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/evelyn-fellow.jpg",alt:"Evelyn picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello everybody! I’m Evelyn Night")]),e._v(", an MSc student at the "),a("a",{attrs:{href:"https://www.uonbi.ac.ke/",target:"_blank",rel:"noopener noreferrer"}},[e._v("University of Nairobi"),a("OutboundLink")],1),e._v(" and a research fellow at the "),a("a",{attrs:{href:"http://www.icipe.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("International Center of Insect Physiology and Ecology"),a("OutboundLink")],1),e._v(". Growing up in a tiny village in Kano plains of Western Kenya, I always had a passion for learning. Fast forward through the years I find my way into academia pursuing a master’s degree and characterizing insect pollinator communities using morphometric and molecular tools for my thesis. My goal is to improve agricultural research capacity in the country and to also enhance formation of policies that would ensure increase in agricultural productivity. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-evelyn/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Evelyn here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/dani-fellow.png",alt:"Dani picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi everyone! I’m Dani")]),e._v(", a cognitive neuroscientist and open science enthusiast. I live and work in San Sebastian, a beautiful city by the sea in northern Spain. We have a responsibility to overcome the current incentive system in the Academy to provide more honest, accessible, and quality research. I look forward to learning more about Frictionless Data tools and incorporating them into my work so that my research is open to everyone. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-dani/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dani here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/kate-fellow.png",alt:"Kate picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello hi! I’m Kate Bowie")]),e._v(", a 28-year-old midwesterner studying the human microbiome, or the collection of bacteria that live in and on the human body. As I dive deeper into the field of microbiome science, I am becoming an advocate for putting resources and time into improving research reproducibility. I wanted to become a Frictionless Fellow so that I could learn tools to help microbiome science data workflows become more reproducible and engage in the open science community. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-kate/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kate here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/sam-fellow.jpeg",alt:"Sam picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello! My name is Sam Wilairat.")]),e._v(" I am currently earning a Master of Library and Information Science degree (MLIS) and have an interest in data librarianship. As a fellow, I’m hoping to learn frictionless data principles and tools to ultimately promote them at my institution via education and outreach to researchers. I believe Open Science is the future and the more people embrace it, the more equitable and innovative research will be! Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-sam/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Sam here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/anne-fellow.png",alt:"Anne picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hey everyone, I’m Anne!")]),e._v(" I’m a graduate student based in Geneva, Switzerland that was born and bred in a few places across the United States (including New York, Chicago, Houston, and Washington DC!). Here in Switzerland, I study international institutions with the eye of an anthropologist or sociologist, through long-term ethnographic research. I’m excited to learn how to apply the Frictionless Data tools in my work throughout these nine months, and to experiment with new forms of conveying social science research in the process.")]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/ritwik-fellow.png",alt:"Ritwik picture",height:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi Ritwik here!")]),e._v(" I am based near Delhi, India and am doing my masters in Sustainable buildings, Energy conservation and Climate Change from International Institute of Information Technology Hyderabad. It is very important that the research which is carried in this domain is reproducible and available to all so we can use it to spread awareness among people. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-ritwik/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ritwik here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/jacqueline-fellow.jpg",alt:"Jacqueline picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi! My name is Jacqueline.")]),e._v(" I am a Master’s Candidate and Interdisciplinary Innovation Fellow in the Department of Computer and Information Science at the University of Pennsylvania. I applied to be a Reproducible Research Fellow to build space into my research process for actively exploring open science and reproducibility issues. As a scientist, I consider it an obligation to share my knowledge as widely and freely as possible and to ensure that my findings can be vetted through replication studies and other important checks. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-jacqueline/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jacqueline here."),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[107],{638:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to introduce the newest Fellows for Cohort 2 of the Frictionless Data "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducible Research Fellows Programme"),a("OutboundLink")],1),e._v("! Over the next nine months, these eight early career researchers will be learning about open science, data management, and how to use Frictionless Data tooling in their work to make their data more open and their research more reusable. As an introduction, each Fellow has written a short blog about themselves and their goals. Read below to meet the Fellows and click on their individual blogs to learn more about them!")]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/katerina-fellow.jpg",alt:"Katerina picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi everyone, my name is Katerina Drakoulaki")]),e._v(", I am from Greece and Cyprus, and I’m currently doing my PhD at the National and Kapodistrian University of Athens. My PhD combines all my interests: linguistics, language disorders, music cognition, and working with children! Research reproducibility is important in order to reliably identify and provide intervention to children with difficulties. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-katerina/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Katerina here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/evelyn-fellow.jpg",alt:"Evelyn picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello everybody! I’m Evelyn Night")]),e._v(", an MSc student at the "),a("a",{attrs:{href:"https://www.uonbi.ac.ke/",target:"_blank",rel:"noopener noreferrer"}},[e._v("University of Nairobi"),a("OutboundLink")],1),e._v(" and a research fellow at the "),a("a",{attrs:{href:"http://www.icipe.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("International Center of Insect Physiology and Ecology"),a("OutboundLink")],1),e._v(". Growing up in a tiny village in Kano plains of Western Kenya, I always had a passion for learning. Fast forward through the years I find my way into academia pursuing a master’s degree and characterizing insect pollinator communities using morphometric and molecular tools for my thesis. My goal is to improve agricultural research capacity in the country and to also enhance formation of policies that would ensure increase in agricultural productivity. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-evelyn/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Evelyn here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/dani-fellow.png",alt:"Dani picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi everyone! I’m Dani")]),e._v(", a cognitive neuroscientist and open science enthusiast. I live and work in San Sebastian, a beautiful city by the sea in northern Spain. We have a responsibility to overcome the current incentive system in the Academy to provide more honest, accessible, and quality research. I look forward to learning more about Frictionless Data tools and incorporating them into my work so that my research is open to everyone. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-dani/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dani here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/kate-fellow.png",alt:"Kate picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello hi! I’m Kate Bowie")]),e._v(", a 28-year-old midwesterner studying the human microbiome, or the collection of bacteria that live in and on the human body. As I dive deeper into the field of microbiome science, I am becoming an advocate for putting resources and time into improving research reproducibility. I wanted to become a Frictionless Fellow so that I could learn tools to help microbiome science data workflows become more reproducible and engage in the open science community. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-kate/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kate here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/sam-fellow.jpeg",alt:"Sam picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hello! My name is Sam Wilairat.")]),e._v(" I am currently earning a Master of Library and Information Science degree (MLIS) and have an interest in data librarianship. As a fellow, I’m hoping to learn frictionless data principles and tools to ultimately promote them at my institution via education and outreach to researchers. I believe Open Science is the future and the more people embrace it, the more equitable and innovative research will be! Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-sam/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Sam here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/anne-fellow.png",alt:"Anne picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hey everyone, I’m Anne!")]),e._v(" I’m a graduate student based in Geneva, Switzerland that was born and bred in a few places across the United States (including New York, Chicago, Houston, and Washington DC!). Here in Switzerland, I study international institutions with the eye of an anthropologist or sociologist, through long-term ethnographic research. I’m excited to learn how to apply the Frictionless Data tools in my work throughout these nine months, and to experiment with new forms of conveying social science research in the process.")]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/ritwik-fellow.png",alt:"Ritwik picture",height:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi Ritwik here!")]),e._v(" I am based near Delhi, India and am doing my masters in Sustainable buildings, Energy conservation and Climate Change from International Institute of Information Technology Hyderabad. It is very important that the research which is carried in this domain is reproducible and available to all so we can use it to spread awareness among people. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-ritwik/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ritwik here."),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("img",{attrs:{src:"/img/blog/jacqueline-fellow.jpg",alt:"Jacqueline picture",width:"100px",align:"right"}}),e._v(" "),a("p",[a("strong",[e._v("Hi! My name is Jacqueline.")]),e._v(" I am a Master’s Candidate and Interdisciplinary Innovation Fellow in the Department of Computer and Information Science at the University of Pennsylvania. I applied to be a Reproducible Research Fellow to build space into my research process for actively exploring open science and reproducibility issues. As a scientist, I consider it an obligation to share my knowledge as widely and freely as possible and to ensure that my findings can be vetted through replication studies and other important checks. Read more about "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-jacqueline/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Jacqueline here."),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/108.38ad65f8.js b/assets/js/108.da3b068c.js similarity index 99% rename from assets/js/108.38ad65f8.js rename to assets/js/108.da3b068c.js index 7262055e7..48a5a0b68 100644 --- a/assets/js/108.38ad65f8.js +++ b/assets/js/108.da3b068c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{641:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("em",[e._v("This grantee profile features Asura for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")])]),e._v(" "),a("h2",{attrs:{id:"meet-asura"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#meet-asura"}},[e._v("#")]),e._v(" Meet Asura")]),e._v(" "),a("p",[e._v("Hallihallöchen meine Lieben!")]),e._v(" "),a("p",[e._v("I’m Asura and I’m a doctoral student at Simon Fraser University, Vancouver. I’m working in the muddy area between data science, communication, and philosophy in order to explore questions of power and systemic inequality within scholarly communication. This means that I work at the ScholCommLab as a data scientist, while exploring the philosophical issues in my doctoral project. Concretely, I am intending to develop an analytic framework for the study citations as infrastructure building on critical feminist theory and Science and Technology Studies (STS). However, I remain a coder and tinkerer at heart, which is how I ended up working with Frictionless Data on Metrics in Context.")]),e._v(" "),a("h2",{attrs:{id:"how-did-you-first-hear-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-did-you-first-hear-about-frictionless-data"}},[e._v("#")]),e._v(" How did you first hear about Frictionless Data?")]),e._v(" "),a("p",[e._v("I first heard about Frictionless Data at the pre-csv,conf,v4 meetup hosted by Open Knowledge Foundation in 2019. I remember being quite impressed by the basic premise of Frictionless, although I hadn’t grasped the full picture of the technicalities yet. During the main conference I then learnt about more opportunities to get involved such as the Fellowship and the Tool Fund. I left csv,conf with great impressions and plans to work out an application but then life a.k.a my PhD happened… I had forgotten about Frictionless Data, until I recently found out that the Tool Fund is going into its second round. At the time I had started working with the Make Data Count team on data citations, then ideas and topics fell into place, and here I am now!")]),e._v(" "),a("h2",{attrs:{id:"what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[e._v("#")]),e._v(" What specific issues are you looking to address with the Tool Fund?")]),e._v(" "),a("p",[e._v("In this project, I want to address a common theme within the critique of modern technology in our data-driven world: the lack of context for data and, often related, biases in databases. Algorithmic and database biases have moved into the spotlight of critical thought on how technology exacerbates systemic inequalities. Following these insights, I want to address the need for different (rather than simply more) context and metadata for scholarly metrics in the face of racial, gender, and geographic biases which plague modern academia.")]),e._v(" "),a("p",[e._v("It isn’t controversial to say that scholarly metrics have become an integral part of scholarship and probably they are here to stay. Controversy usually comes into play once we discuss how and for which purposes metrics are used. This typically refers to the (mis)use of citation counts and citation-based indicators"),a("sup",[e._v("1")]),e._v(" for research assessment and governance, which also led to a considerable number of initiatives and movements calling for a responsible use of metrics"),a("sup",[e._v("2")]),e._v(". However, I would like to take a step back and redirect the attention to the origin of the data underlying citation counts.")]),e._v(" "),a("p",[e._v("These conversations about the inherent biases of citation databases are not entirely new and scholars across disciplines have been highlighting the consequential systemic issues. However, in this project I am not proposing a solution to overcome or abolish these biases per se, but rather I want to shine light on the opaque mechanism of capturing metrics which lead to the aforementioned inequalities. In other words, I propose to develop an open data standard"),a("sup",[e._v("3")]),e._v(" for scholarly metrics which documents the context in which the data was captured. This metadata describes the properties of the capturing apparatus of a scholarly event (e.g., a citation, news mention, or tweet of an article) such as the limitations of document coverage (what kind of articles are indexed?), the kind of events captured (tweets, retweets, or the both maybe?) or other technicalities (is Facebook considered as a whole or only a subset of public pages?).")]),e._v(" "),a("p",[e._v("While metrics in context don’t remove systemic inequality, they make the usually hidden and inaccessible biases visible and explicit. In doing so, they facilitate conversations about structural issues in academia and eventually contribute to the development of better infrastructures for the future.")]),e._v(" "),a("h2",{attrs:{id:"how-can-the-open-data-open-source-or-open-science-communities-engage-with-the-work-you-are-doing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-the-open-data-open-source-or-open-science-communities-engage-with-the-work-you-are-doing"}},[e._v("#")]),e._v(" How can the open data, open source, or open science communities engage with the work you are doing?")]),e._v(" "),a("p",[e._v("Metrics in Context will be fully conducted out in the open which means that all resources will be available on Github and I will do my best to transparently document progress and decisions.")]),e._v(" "),a("p",[e._v("The project is organized in three parts (roughly breaking down into conceptual questions, technical implementation, and scholarly application) and I invite all of you to leave your ideas, thoughts, and critiques via email or a Github issue.")]),e._v(" "),a("p",[e._v("You can see the full roadmap with a detailed breakdown of tasks here: "),a("a",{attrs:{href:"https://github.com/Bubblbu/metrics-in-context/issues/2",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/Bubblbu/metrics-in-context/issues/2"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("p",[a("sup",[e._v(" 1. ")]),e._v(" There is extensive literature for the critique of indicators such as the h-index or Journal Impact Factor. See Haustein and Larivière (2015) for an overview."),a("br"),e._v(" "),a("sup",[e._v(" 2. ")]),e._v(" See DORA and the Leiden Manifesto for two prominent examples of responsible research metrics initiatives"),a("br"),e._v(" "),a("sup",[e._v(" 3. ")]),e._v(" I am expecting references to this xkcd comic on standards: "),a("a",{attrs:{href:"https://xkcd.com/927/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://xkcd.com/927/"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[108],{642:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("em",[e._v("This grantee profile features Asura for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")])]),e._v(" "),a("h2",{attrs:{id:"meet-asura"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#meet-asura"}},[e._v("#")]),e._v(" Meet Asura")]),e._v(" "),a("p",[e._v("Hallihallöchen meine Lieben!")]),e._v(" "),a("p",[e._v("I’m Asura and I’m a doctoral student at Simon Fraser University, Vancouver. I’m working in the muddy area between data science, communication, and philosophy in order to explore questions of power and systemic inequality within scholarly communication. This means that I work at the ScholCommLab as a data scientist, while exploring the philosophical issues in my doctoral project. Concretely, I am intending to develop an analytic framework for the study citations as infrastructure building on critical feminist theory and Science and Technology Studies (STS). However, I remain a coder and tinkerer at heart, which is how I ended up working with Frictionless Data on Metrics in Context.")]),e._v(" "),a("h2",{attrs:{id:"how-did-you-first-hear-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-did-you-first-hear-about-frictionless-data"}},[e._v("#")]),e._v(" How did you first hear about Frictionless Data?")]),e._v(" "),a("p",[e._v("I first heard about Frictionless Data at the pre-csv,conf,v4 meetup hosted by Open Knowledge Foundation in 2019. I remember being quite impressed by the basic premise of Frictionless, although I hadn’t grasped the full picture of the technicalities yet. During the main conference I then learnt about more opportunities to get involved such as the Fellowship and the Tool Fund. I left csv,conf with great impressions and plans to work out an application but then life a.k.a my PhD happened… I had forgotten about Frictionless Data, until I recently found out that the Tool Fund is going into its second round. At the time I had started working with the Make Data Count team on data citations, then ideas and topics fell into place, and here I am now!")]),e._v(" "),a("h2",{attrs:{id:"what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[e._v("#")]),e._v(" What specific issues are you looking to address with the Tool Fund?")]),e._v(" "),a("p",[e._v("In this project, I want to address a common theme within the critique of modern technology in our data-driven world: the lack of context for data and, often related, biases in databases. Algorithmic and database biases have moved into the spotlight of critical thought on how technology exacerbates systemic inequalities. Following these insights, I want to address the need for different (rather than simply more) context and metadata for scholarly metrics in the face of racial, gender, and geographic biases which plague modern academia.")]),e._v(" "),a("p",[e._v("It isn’t controversial to say that scholarly metrics have become an integral part of scholarship and probably they are here to stay. Controversy usually comes into play once we discuss how and for which purposes metrics are used. This typically refers to the (mis)use of citation counts and citation-based indicators"),a("sup",[e._v("1")]),e._v(" for research assessment and governance, which also led to a considerable number of initiatives and movements calling for a responsible use of metrics"),a("sup",[e._v("2")]),e._v(". However, I would like to take a step back and redirect the attention to the origin of the data underlying citation counts.")]),e._v(" "),a("p",[e._v("These conversations about the inherent biases of citation databases are not entirely new and scholars across disciplines have been highlighting the consequential systemic issues. However, in this project I am not proposing a solution to overcome or abolish these biases per se, but rather I want to shine light on the opaque mechanism of capturing metrics which lead to the aforementioned inequalities. In other words, I propose to develop an open data standard"),a("sup",[e._v("3")]),e._v(" for scholarly metrics which documents the context in which the data was captured. This metadata describes the properties of the capturing apparatus of a scholarly event (e.g., a citation, news mention, or tweet of an article) such as the limitations of document coverage (what kind of articles are indexed?), the kind of events captured (tweets, retweets, or the both maybe?) or other technicalities (is Facebook considered as a whole or only a subset of public pages?).")]),e._v(" "),a("p",[e._v("While metrics in context don’t remove systemic inequality, they make the usually hidden and inaccessible biases visible and explicit. In doing so, they facilitate conversations about structural issues in academia and eventually contribute to the development of better infrastructures for the future.")]),e._v(" "),a("h2",{attrs:{id:"how-can-the-open-data-open-source-or-open-science-communities-engage-with-the-work-you-are-doing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-the-open-data-open-source-or-open-science-communities-engage-with-the-work-you-are-doing"}},[e._v("#")]),e._v(" How can the open data, open source, or open science communities engage with the work you are doing?")]),e._v(" "),a("p",[e._v("Metrics in Context will be fully conducted out in the open which means that all resources will be available on Github and I will do my best to transparently document progress and decisions.")]),e._v(" "),a("p",[e._v("The project is organized in three parts (roughly breaking down into conceptual questions, technical implementation, and scholarly application) and I invite all of you to leave your ideas, thoughts, and critiques via email or a Github issue.")]),e._v(" "),a("p",[e._v("You can see the full roadmap with a detailed breakdown of tasks here: "),a("a",{attrs:{href:"https://github.com/Bubblbu/metrics-in-context/issues/2",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/Bubblbu/metrics-in-context/issues/2"),a("OutboundLink")],1)]),e._v(" "),a("hr"),e._v(" "),a("p",[a("sup",[e._v(" 1. ")]),e._v(" There is extensive literature for the critique of indicators such as the h-index or Journal Impact Factor. See Haustein and Larivière (2015) for an overview."),a("br"),e._v(" "),a("sup",[e._v(" 2. ")]),e._v(" See DORA and the Leiden Manifesto for two prominent examples of responsible research metrics initiatives"),a("br"),e._v(" "),a("sup",[e._v(" 3. ")]),e._v(" I am expecting references to this xkcd comic on standards: "),a("a",{attrs:{href:"https://xkcd.com/927/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://xkcd.com/927/"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/109.73c03972.js b/assets/js/109.5ad67d4b.js similarity index 99% rename from assets/js/109.73c03972.js rename to assets/js/109.5ad67d4b.js index 0bfe20077..4976706d4 100644 --- a/assets/js/109.73c03972.js +++ b/assets/js/109.5ad67d4b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{642:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"frictionless-framework"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-framework"}},[e._v("#")]),e._v(" Frictionless Framework")]),e._v(" "),a("p",[e._v("We are excited to announce our new high-level Python framework, frictionless-py: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py"),a("OutboundLink")],1),e._v(". Frictionless-py was created to simplify overall user-experience for working with Frictionless Data in Python. It provides several high-level improvements in addition to many low-level fixes. Read more details below, or watch this intro video by Frictionless developer Evgeny: "),a("a",{attrs:{href:"https://youtu.be/VPnC8cc6ly0",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://youtu.be/VPnC8cc6ly0"),a("OutboundLink")],1)]),e._v(" "),a("h2",{attrs:{id:"why-did-we-write-new-python-code"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-did-we-write-new-python-code"}},[e._v("#")]),e._v(" Why did we write new Python code?")]),e._v(" "),a("p",[e._v("Frictionless Data has been in development for almost a decade, with global users and projects spanning domains from science to government to finance. However, our main Python libraries ("),a("code",[e._v("datapackage")]),e._v(","),a("code",[e._v("goodtables")]),e._v(", "),a("code",[e._v("tableschema")]),e._v(","),a("code",[e._v("tabulator")]),e._v(") were originally built with some inconsistencies that have confused users over the years. We had started redoing our documentation for our existing code, and realized we had a larger issue on our hands - mainly that the disparate Python libraries had overlapping functionalities and we were not able to clearly articulate how they all fit together to form a bigger picture. We realized that overall, the existing user experience was not where we wanted it to be. Evgeny, the Frictionless Data technical lead developer, had been thinking about ways to improve the Python code for a while, and the outcome of that work is "),a("code",[e._v("frictionless-py")]),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"what-happens-to-the-old-python-code-datapackage-py-goodtables-py-tableschema-py-tabulator-py-how-does-this-affect-current-users"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-happens-to-the-old-python-code-datapackage-py-goodtables-py-tableschema-py-tabulator-py-how-does-this-affect-current-users"}},[e._v("#")]),e._v(" What happens to the old Python code ("),a("code",[e._v("datapackage-py")]),e._v(", "),a("code",[e._v("goodtables-py")]),e._v(", "),a("code",[e._v("tableschema-py")]),e._v(", "),a("code",[e._v("tabulator-py")]),e._v(")? How does this affect current users?")]),e._v(" "),a("p",[a("code",[e._v("Datapackage-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py#datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v("), "),a("code",[e._v("tableschema-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py#tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v("), "),a("code",[e._v("tabulator-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py#tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v(") still exist, will not be altered, and will be maintained. If your project is using this code, these changes are not breaking and there is no action you need to take at this point. However, we will be focusing new development on "),a("code",[e._v("frictionless-py")]),e._v(", and encourage you to consider starting to experiment with or work with "),a("code",[e._v("frictionless-py")]),e._v(" during the last months of 2020 and migrate to it starting from 2021 "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/migration-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("(here is our migration guide)"),a("OutboundLink")],1),e._v(". The one important thing to note is that "),a("code",[e._v("goodtables-py")]),e._v(" has been subsumed by "),a("code",[e._v("frictionless-py")]),e._v(" (since version 3 of Goodtables). We will continue to bug-fix "),a("code",[e._v("goodtables@2.x")]),e._v(" in "),a("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py/tree/goodtables",target:"_blank",rel:"noopener noreferrer"}},[e._v("this branch"),a("OutboundLink")],1),e._v(" and it is also still available on "),a("a",{attrs:{href:"https://pypi.org/project/goodtables/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PyPi"),a("OutboundLink")],1),e._v(" as it was before. Please note that "),a("code",[e._v("frictionless@3.x")]),e._v(" version’s API is not stable as we are continuing to work on it at the moment. We will release "),a("code",[e._v("frictionless@4.x")]),e._v(" by the end of 2020 to be the first SemVer/stable version.")]),e._v(" "),a("h2",{attrs:{id:"what-does-frictionless-py-do"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-does-frictionless-py-do"}},[e._v("#")]),e._v(" What does "),a("code",[e._v("frictionless-py")]),e._v(" do?")]),e._v(" "),a("p",[a("code",[e._v("Frictionless-py")]),e._v(" has four main functions for working with data: describe, extract, validate, and transform. These are inspired by typical data analysis and data management methods.")]),e._v(" "),a("p",[a("em",[e._v("Describe your data")]),e._v(": You can infer, edit and save metadata of your data tables. This is a first step for ensuring data quality and usability. Frictionless metadata includes general information about your data like textual description, as well as field types and other tabular data details.")]),e._v(" "),a("p",[a("em",[e._v("Extract your data")]),e._v(": You can read your data using a unified tabular interface. Data quality and consistency are guaranteed by a schema. Frictionless supports various file protocols like HTTP, FTP, and S3 and data formats like CSV, XLS, JSON, SQL, and others.")]),e._v(" "),a("p",[a("em",[e._v("Validate your data")]),e._v(": You can validate data tables, resources, and datasets. Frictionless generates a unified validation report, as well as supports a lot of options to customize the validation process.")]),e._v(" "),a("p",[a("em",[e._v("Transform your data")]),e._v(": You can clean, reshape, and transfer your data tables and datasets. Frictionless provides a pipeline capability and a lower-level interface to work with the data.")]),e._v(" "),a("p",[e._v("Additional features:")]),e._v(" "),a("ul",[a("li",[e._v("Powerful Python framework")]),e._v(" "),a("li",[e._v("Convenient command-line interface")]),e._v(" "),a("li",[e._v("Low memory consumption for data of any size")]),e._v(" "),a("li",[e._v("Reasonable performance on big data")]),e._v(" "),a("li",[e._v("Support for compressed files")]),e._v(" "),a("li",[e._v("Custom checks and formats")]),e._v(" "),a("li",[e._v("Fully pluggable architecture")]),e._v(" "),a("li",[e._v("The included API server")]),e._v(" "),a("li",[e._v("More than 1000+ tests")])]),e._v(" "),a("h2",{attrs:{id:"how-can-users-get-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-users-get-started"}},[e._v("#")]),e._v(" How can users get started?")]),e._v(" "),a("p",[e._v("We recommend that you begin by reading the "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1VyDx6C3pxF3Vab8MxH_sI86OTSNmYuDJ",target:"_blank",rel:"noopener noreferrer"}},[e._v("Getting Started Guide"),a("OutboundLink")],1),e._v(" and the "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1HGXJa7BWyEgoGZLkC6tKt2DMqgeHibEY",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction Guide"),a("OutboundLink")],1),e._v(". We also have in depth documentation for "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1eIq1ZTUntJplRxkGHxmqlxZ0zyXCm0wU",target:"_blank",rel:"noopener noreferrer"}},[e._v("Describing Data"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1is_PcpzFl42aWI2B2tHaBGj3jxsKZ_eZ",target:"_blank",rel:"noopener noreferrer"}},[e._v("Extracting Data"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1cJSZlG_v6OI3I2FtnXdKOSPjhwZNjMK1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating Data"),a("OutboundLink")],1),e._v(", and "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1C4dFWDExyxzGIwLUovrDQZghZK4JK2PD",target:"_blank",rel:"noopener noreferrer"}},[e._v("Transforming Data"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"how-can-you-give-us-feedback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-give-us-feedback"}},[e._v("#")]),e._v(" How can you give us feedback?")]),e._v(" "),a("p",[e._v("What do you think? Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or by opening an issue in the "),a("code",[e._v("frictionless-py")]),e._v(" repo: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"faq-s"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#faq-s"}},[e._v("#")]),e._v(" FAQ’s")]),e._v(" "),a("h3",{attrs:{id:"where-s-the-documentation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#where-s-the-documentation"}},[e._v("#")]),e._v(" Where’s the documentation?")]),e._v(" "),a("p",[e._v("Are you a new user? Start here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/getting-started/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Getting Started"),a("OutboundLink")],1),e._v(" & "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/introduction-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction Guide"),a("OutboundLink")],1),a("br"),e._v("\nAre you an existing user? Start here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/migration-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Migration Guide"),a("OutboundLink")],1),a("br"),e._v("\nThe full list of documentation can be found here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py#documentation",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py#documentation"),a("OutboundLink")],1)]),e._v(" "),a("h3",{attrs:{id:"what-s-the-difference-between-datapackage-and-frictionless"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-s-the-difference-between-datapackage-and-frictionless"}},[e._v("#")]),e._v(" What’s the difference between "),a("code",[e._v("datapackage")]),e._v(" and "),a("code",[e._v("frictionless")]),e._v("?")]),e._v(" "),a("p",[e._v("In general, "),a("code",[e._v("frictionless")]),e._v(" is our new generation software while "),a("code",[e._v("tabulator")]),e._v("/"),a("code",[e._v("tableschema")]),e._v("/"),a("code",[e._v("datapackage")]),e._v("/"),a("code",[e._v("goodtables")]),e._v(" are our previous generation software. "),a("code",[e._v("Frictionless")]),e._v(" has a lot of improvements over them. Please see this issue for the full answer and a code example: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/428",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues/428"),a("OutboundLink")],1)]),e._v(" "),a("h3",{attrs:{id:"i-ve-spotted-a-bug-where-do-i-report-it"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-ve-spotted-a-bug-where-do-i-report-it"}},[e._v("#")]),e._v(" I’ve spotted a bug - where do I report it?")]),e._v(" "),a("p",[e._v("Let us know by opening an issue in the "),a("code",[e._v("frictionless-py")]),e._v(" repo: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),a("OutboundLink")],1),e._v(". For "),a("code",[e._v("tabulator")]),e._v("/"),a("code",[e._v("tableschema")]),e._v("/"),a("code",[e._v("datapackage")]),e._v(" issues, please use the corresponding issue tracker and we will triage it for you. Thanks!")]),e._v(" "),a("h3",{attrs:{id:"i-have-a-question-where-do-i-get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-have-a-question-where-do-i-get-help"}},[e._v("#")]),e._v(" I have a question - where do I get help?")]),e._v(" "),a("p",[e._v("You can ask us questions in our Discord chat and someone from the main developer team or from the community will help you. Here is an invitation link: "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://discord.com/invite/j9DNFNw"),a("OutboundLink")],1),e._v(". We also have a Twitter account "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("(@frictionlessd8a)"),a("OutboundLink")],1),e._v(" and community calls where you can come meet the team and ask questions: "),a("a",{attrs:{href:"http://frictionlessdata.io/events/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://frictionlessdata.io/events/"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"i-want-to-help-how-do-i-contribute"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-want-to-help-how-do-i-contribute"}},[e._v("#")]),e._v(" I want to help - how do I contribute?")]),e._v(" "),a("p",[e._v("Amazing, thank you! We always welcome community contributions. Start here ("),a("a",{attrs:{href:"https://frictionlessdata.io/contribute/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/contribute/"),a("OutboundLink")],1),e._v(") and here ("),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/CONTRIBUTING.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/blob/master/CONTRIBUTING.md"),a("OutboundLink")],1),e._v(") and you can also reach out to Evgeny (@roll) or Lilly (@lwinfree) on GitHub if you need help.")]),e._v(" "),a("h3",{attrs:{id:"additional-links-resources"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additional-links-resources"}},[e._v("#")]),e._v(" Additional Links/Resources")]),e._v(" "),a("ul",[a("li",[e._v("Intro to "),a("code",[e._v("frictionless-py")]),e._v(" video: "),a("a",{attrs:{href:"https://youtu.be/VPnC8cc6ly0",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://youtu.be/VPnC8cc6ly0"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("code",[e._v("frictionless-py")]),e._v(" repository: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("Frictionless Data website: "),a("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[109],{641:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h2",{attrs:{id:"frictionless-framework"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-framework"}},[e._v("#")]),e._v(" Frictionless Framework")]),e._v(" "),a("p",[e._v("We are excited to announce our new high-level Python framework, frictionless-py: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py"),a("OutboundLink")],1),e._v(". Frictionless-py was created to simplify overall user-experience for working with Frictionless Data in Python. It provides several high-level improvements in addition to many low-level fixes. Read more details below, or watch this intro video by Frictionless developer Evgeny: "),a("a",{attrs:{href:"https://youtu.be/VPnC8cc6ly0",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://youtu.be/VPnC8cc6ly0"),a("OutboundLink")],1)]),e._v(" "),a("h2",{attrs:{id:"why-did-we-write-new-python-code"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-did-we-write-new-python-code"}},[e._v("#")]),e._v(" Why did we write new Python code?")]),e._v(" "),a("p",[e._v("Frictionless Data has been in development for almost a decade, with global users and projects spanning domains from science to government to finance. However, our main Python libraries ("),a("code",[e._v("datapackage")]),e._v(","),a("code",[e._v("goodtables")]),e._v(", "),a("code",[e._v("tableschema")]),e._v(","),a("code",[e._v("tabulator")]),e._v(") were originally built with some inconsistencies that have confused users over the years. We had started redoing our documentation for our existing code, and realized we had a larger issue on our hands - mainly that the disparate Python libraries had overlapping functionalities and we were not able to clearly articulate how they all fit together to form a bigger picture. We realized that overall, the existing user experience was not where we wanted it to be. Evgeny, the Frictionless Data technical lead developer, had been thinking about ways to improve the Python code for a while, and the outcome of that work is "),a("code",[e._v("frictionless-py")]),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"what-happens-to-the-old-python-code-datapackage-py-goodtables-py-tableschema-py-tabulator-py-how-does-this-affect-current-users"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-happens-to-the-old-python-code-datapackage-py-goodtables-py-tableschema-py-tabulator-py-how-does-this-affect-current-users"}},[e._v("#")]),e._v(" What happens to the old Python code ("),a("code",[e._v("datapackage-py")]),e._v(", "),a("code",[e._v("goodtables-py")]),e._v(", "),a("code",[e._v("tableschema-py")]),e._v(", "),a("code",[e._v("tabulator-py")]),e._v(")? How does this affect current users?")]),e._v(" "),a("p",[a("code",[e._v("Datapackage-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py#datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v("), "),a("code",[e._v("tableschema-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py#tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v("), "),a("code",[e._v("tabulator-py")]),e._v(" (see "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py#tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("details"),a("OutboundLink")],1),e._v(") still exist, will not be altered, and will be maintained. If your project is using this code, these changes are not breaking and there is no action you need to take at this point. However, we will be focusing new development on "),a("code",[e._v("frictionless-py")]),e._v(", and encourage you to consider starting to experiment with or work with "),a("code",[e._v("frictionless-py")]),e._v(" during the last months of 2020 and migrate to it starting from 2021 "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/migration-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("(here is our migration guide)"),a("OutboundLink")],1),e._v(". The one important thing to note is that "),a("code",[e._v("goodtables-py")]),e._v(" has been subsumed by "),a("code",[e._v("frictionless-py")]),e._v(" (since version 3 of Goodtables). We will continue to bug-fix "),a("code",[e._v("goodtables@2.x")]),e._v(" in "),a("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py/tree/goodtables",target:"_blank",rel:"noopener noreferrer"}},[e._v("this branch"),a("OutboundLink")],1),e._v(" and it is also still available on "),a("a",{attrs:{href:"https://pypi.org/project/goodtables/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PyPi"),a("OutboundLink")],1),e._v(" as it was before. Please note that "),a("code",[e._v("frictionless@3.x")]),e._v(" version’s API is not stable as we are continuing to work on it at the moment. We will release "),a("code",[e._v("frictionless@4.x")]),e._v(" by the end of 2020 to be the first SemVer/stable version.")]),e._v(" "),a("h2",{attrs:{id:"what-does-frictionless-py-do"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-does-frictionless-py-do"}},[e._v("#")]),e._v(" What does "),a("code",[e._v("frictionless-py")]),e._v(" do?")]),e._v(" "),a("p",[a("code",[e._v("Frictionless-py")]),e._v(" has four main functions for working with data: describe, extract, validate, and transform. These are inspired by typical data analysis and data management methods.")]),e._v(" "),a("p",[a("em",[e._v("Describe your data")]),e._v(": You can infer, edit and save metadata of your data tables. This is a first step for ensuring data quality and usability. Frictionless metadata includes general information about your data like textual description, as well as field types and other tabular data details.")]),e._v(" "),a("p",[a("em",[e._v("Extract your data")]),e._v(": You can read your data using a unified tabular interface. Data quality and consistency are guaranteed by a schema. Frictionless supports various file protocols like HTTP, FTP, and S3 and data formats like CSV, XLS, JSON, SQL, and others.")]),e._v(" "),a("p",[a("em",[e._v("Validate your data")]),e._v(": You can validate data tables, resources, and datasets. Frictionless generates a unified validation report, as well as supports a lot of options to customize the validation process.")]),e._v(" "),a("p",[a("em",[e._v("Transform your data")]),e._v(": You can clean, reshape, and transfer your data tables and datasets. Frictionless provides a pipeline capability and a lower-level interface to work with the data.")]),e._v(" "),a("p",[e._v("Additional features:")]),e._v(" "),a("ul",[a("li",[e._v("Powerful Python framework")]),e._v(" "),a("li",[e._v("Convenient command-line interface")]),e._v(" "),a("li",[e._v("Low memory consumption for data of any size")]),e._v(" "),a("li",[e._v("Reasonable performance on big data")]),e._v(" "),a("li",[e._v("Support for compressed files")]),e._v(" "),a("li",[e._v("Custom checks and formats")]),e._v(" "),a("li",[e._v("Fully pluggable architecture")]),e._v(" "),a("li",[e._v("The included API server")]),e._v(" "),a("li",[e._v("More than 1000+ tests")])]),e._v(" "),a("h2",{attrs:{id:"how-can-users-get-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-users-get-started"}},[e._v("#")]),e._v(" How can users get started?")]),e._v(" "),a("p",[e._v("We recommend that you begin by reading the "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1VyDx6C3pxF3Vab8MxH_sI86OTSNmYuDJ",target:"_blank",rel:"noopener noreferrer"}},[e._v("Getting Started Guide"),a("OutboundLink")],1),e._v(" and the "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1HGXJa7BWyEgoGZLkC6tKt2DMqgeHibEY",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction Guide"),a("OutboundLink")],1),e._v(". We also have in depth documentation for "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1eIq1ZTUntJplRxkGHxmqlxZ0zyXCm0wU",target:"_blank",rel:"noopener noreferrer"}},[e._v("Describing Data"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1is_PcpzFl42aWI2B2tHaBGj3jxsKZ_eZ",target:"_blank",rel:"noopener noreferrer"}},[e._v("Extracting Data"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1cJSZlG_v6OI3I2FtnXdKOSPjhwZNjMK1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating Data"),a("OutboundLink")],1),e._v(", and "),a("a",{attrs:{href:"https://colab.research.google.com/drive/1C4dFWDExyxzGIwLUovrDQZghZK4JK2PD",target:"_blank",rel:"noopener noreferrer"}},[e._v("Transforming Data"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"how-can-you-give-us-feedback"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-give-us-feedback"}},[e._v("#")]),e._v(" How can you give us feedback?")]),e._v(" "),a("p",[e._v("What do you think? Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or by opening an issue in the "),a("code",[e._v("frictionless-py")]),e._v(" repo: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"faq-s"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#faq-s"}},[e._v("#")]),e._v(" FAQ’s")]),e._v(" "),a("h3",{attrs:{id:"where-s-the-documentation"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#where-s-the-documentation"}},[e._v("#")]),e._v(" Where’s the documentation?")]),e._v(" "),a("p",[e._v("Are you a new user? Start here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/getting-started/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Getting Started"),a("OutboundLink")],1),e._v(" & "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/introduction-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction Guide"),a("OutboundLink")],1),a("br"),e._v("\nAre you an existing user? Start here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/docs/target/migration-guide/README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("Migration Guide"),a("OutboundLink")],1),a("br"),e._v("\nThe full list of documentation can be found here: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py#documentation",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py#documentation"),a("OutboundLink")],1)]),e._v(" "),a("h3",{attrs:{id:"what-s-the-difference-between-datapackage-and-frictionless"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-s-the-difference-between-datapackage-and-frictionless"}},[e._v("#")]),e._v(" What’s the difference between "),a("code",[e._v("datapackage")]),e._v(" and "),a("code",[e._v("frictionless")]),e._v("?")]),e._v(" "),a("p",[e._v("In general, "),a("code",[e._v("frictionless")]),e._v(" is our new generation software while "),a("code",[e._v("tabulator")]),e._v("/"),a("code",[e._v("tableschema")]),e._v("/"),a("code",[e._v("datapackage")]),e._v("/"),a("code",[e._v("goodtables")]),e._v(" are our previous generation software. "),a("code",[e._v("Frictionless")]),e._v(" has a lot of improvements over them. Please see this issue for the full answer and a code example: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/428",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues/428"),a("OutboundLink")],1)]),e._v(" "),a("h3",{attrs:{id:"i-ve-spotted-a-bug-where-do-i-report-it"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-ve-spotted-a-bug-where-do-i-report-it"}},[e._v("#")]),e._v(" I’ve spotted a bug - where do I report it?")]),e._v(" "),a("p",[e._v("Let us know by opening an issue in the "),a("code",[e._v("frictionless-py")]),e._v(" repo: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),a("OutboundLink")],1),e._v(". For "),a("code",[e._v("tabulator")]),e._v("/"),a("code",[e._v("tableschema")]),e._v("/"),a("code",[e._v("datapackage")]),e._v(" issues, please use the corresponding issue tracker and we will triage it for you. Thanks!")]),e._v(" "),a("h3",{attrs:{id:"i-have-a-question-where-do-i-get-help"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-have-a-question-where-do-i-get-help"}},[e._v("#")]),e._v(" I have a question - where do I get help?")]),e._v(" "),a("p",[e._v("You can ask us questions in our Discord chat and someone from the main developer team or from the community will help you. Here is an invitation link: "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://discord.com/invite/j9DNFNw"),a("OutboundLink")],1),e._v(". We also have a Twitter account "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("(@frictionlessd8a)"),a("OutboundLink")],1),e._v(" and community calls where you can come meet the team and ask questions: "),a("a",{attrs:{href:"http://frictionlessdata.io/events/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://frictionlessdata.io/events/"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"i-want-to-help-how-do-i-contribute"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-want-to-help-how-do-i-contribute"}},[e._v("#")]),e._v(" I want to help - how do I contribute?")]),e._v(" "),a("p",[e._v("Amazing, thank you! We always welcome community contributions. Start here ("),a("a",{attrs:{href:"https://frictionlessdata.io/contribute/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/contribute/"),a("OutboundLink")],1),e._v(") and here ("),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/blob/master/CONTRIBUTING.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/blob/master/CONTRIBUTING.md"),a("OutboundLink")],1),e._v(") and you can also reach out to Evgeny (@roll) or Lilly (@lwinfree) on GitHub if you need help.")]),e._v(" "),a("h3",{attrs:{id:"additional-links-resources"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#additional-links-resources"}},[e._v("#")]),e._v(" Additional Links/Resources")]),e._v(" "),a("ul",[a("li",[e._v("Intro to "),a("code",[e._v("frictionless-py")]),e._v(" video: "),a("a",{attrs:{href:"https://youtu.be/VPnC8cc6ly0",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://youtu.be/VPnC8cc6ly0"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("code",[e._v("frictionless-py")]),e._v(" repository: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("Frictionless Data website: "),a("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/11.45ac0cd3.js b/assets/js/11.fd03238f.js similarity index 96% rename from assets/js/11.45ac0cd3.js rename to assets/js/11.fd03238f.js index 20daa7716..40d6de0b7 100644 --- a/assets/js/11.45ac0cd3.js +++ b/assets/js/11.fd03238f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{521:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-1.a484b939.png"},522:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZcAAACkCAMAAABsIZOIAAAB5lBMVEUKDBAKDCkKDEIKDHgKDHwKDJ0KDKIKKFsKOsEKQnAKUsEKWMEKXdkKcroKdtkKgNkKm9EkDBAkkfA0DBA0WME0nfA+DBA+p/9UDBBUDHxUDKJUefBYUhBYkdlYvPBYvP9ZDBBZtfBZtf9udhBuy9luy/Buy/9yDBByuOhzWBBzndlznfBztdlzzPBzzP94DBB4WoF9DBB9DHx9DKJ9OsF9Xdl9kdl9kfB9kf+AkXyAvMGAy9mAy/CAy/+JgBCJncGJzMGJ3NmJ3PCJ3P+Rp6KRp8GRvMGRy9mRy/CRy/+XDBCXm9GXz/aeOhCeOnyeedmeefCekcGekdmekf+enXyencGep9mep/Cep/+ezMGe3Nme3PCe3P+gDBCgb5KttaKtzMGt3Nmt3PCt3P+zXRCzXXyzeXyzecGzkaKzp8Gzt9mzt/Czt/+0chC05ei05fbAKBDAWnDAg4HAg5LLmxDL89HL8+jL8/bOeXzOeaLOecHOkaLOkcHOkdnOp8HOp//Ot9nOt/DOt//YQhDYlHDYlIHYlJLbkaLbkcHbp8Hbt9nbt/Dbt//iuHji5bri89Hi8/bwWinwWkLwWlvwg1vwlHDwlIHwlJLwz53w5brw89Hw8+jw8/b/b0L/g1v/lHD/lIH/lJL/MzhgAAAN0ElEQVR42u2djV8UxxnHVz2PQ1BQgposjRSTFEzFw5i6tA0N0RqPQGobisQop95Si6UNqba5mMaYs4qBo5G8aSlY7j/t8zKzO7u3d9wBVXL3fD8fb+92Hxac3z7PMzvP3I5lCYIgCIIgCIIgCIIgCM+A5nz+y4NljttZ81PiNto6btAmdn7EsuLT+fkRac/NkmWuz7JnN0OXoKGwIfhKn3rhep/VDOrY+TzoFBvP572Wt29N52fJreb68EA+n7Wca7m8r4KTJ0dhsfgMwgZJfJrI5SfHXmNd4tepSaGF43/SIclGOdzEHTCAeKf8Za4PdyiDWVTXRsW8MwgbDWNZxz35rtYlNj7PiSLvpwoMT3YWnQnb3ItjngDoceR15C98BmGj2JNjx8dO3NZxjNo1eM2jLo5bqS6izCb5i+vMf553IWzFpzn7Q/M62aAucBTDlo1xjMKXqQta235+iegVCOuJY6r18/O/mbUg12CnGQOZ13fGxOH6+dyhvG/qAj/0iecv6gzCBvHzu7C1OmS5fD7yxoOyP3axSkq6loEgCIIgCIIgCIIgCILGjhpg614I7dj5t6Eab4dtf53x3jc8Kvz3knofVePicf4ymAZVFsm0eZQurf/+CW8fw8vuh8tLQ96uutBl4q5Vtlmfhi4R7Pz7ny1fl+Gb9H54oZZVmSgUVme0n5gSOWpUkkb2sb4/P6Lr+yrefJZ7MD7XBwUarItFGMSvn8O6Jw+N2qqyZs6/SfxjHKsHbKB+HwyH4nEcFXW1AcuBfrIMb3b8hUXa/S90mO6lmoxnyRUUY/s/L1mNT46BRoXCYvD6xWYfd6kiGXIHe+5EbhIq+6RLlAGW2niuDRyNc0kUj3vzbxI5XYTDH9f+gibwK6kcpwzIQ9BpQKDhZWDBc6La1AUdBP41oiBPjgX8hduJPQBah2fIBHTJJm4/r3WJMlBS4KUPboOFUNeyzdoAiZTVBqYu9N5xlQHrgk7TaviL3lo1rMtKcapRupwf8eKaW06XCAOli0MTZmDqTXzqYHCWmWp2ZVCtLjXdI5tYtJKrM9vvzUToQrVMf9IfNpA/PcnXZZbr+8UGWpes1QwGsbHXQ8c9XdhA1051HEt8MaJ14W7YV0M7P66X/AIJ/2sQo5ETS0AXjDmzFMjm+jDU+PX9gC5w6AG9FhnolJJDA0upp+YLmLp4Bvj7sBOgNq42UKlkeHnpHUMX7o/VqC4/ECJuVmr+/qVqqEdbbrrrxg3kfl8QBEEQBEEQBEEQfoDETw1UZNdcZlAAR5m5YlYWHBmo5ZpAEVhNMzGK71C8gkZrv/zcBz2hH2p6v62ELsq6m6tea+vSTZKsWU3e8SEWCWAwuqzVnlQq9fZ+fdG8kjqzt8Z04eI7v7anm0rpEoFn3V1R4V61tFf6Ly+f3pTU5XTg466fb11doKoMNf9tNwoFqJo10jQA3EBZM/nN/YKqOq94zRQovmtd4oOdVvuvLmbSltWVyVzpjPVmgFGrPZNBf2nBfdqArQO6xLi8j7UGqHtOvYdlTfyAMwC0laGiQ2OhPCkACz1YxamwiqZ0OaC8hnQBt0n1w/s3fE/aIkAdk0uZqjDT8O0xnBGQBL1g5ozpL6Hiu5qywn5wpTP+FjlCS9r3ly7QpelCp9Vyuc03KGppLlzSV6Wh3JzVVTqoyXgZIzjeT/UemhTgcPmGq2c6nHkxK3U6dghez3YY+zh2kUKky75++rUv7bf2bKWwliR3aHgEDoLOc1ftgn3JxaI4FiryBnQZtWJHe9BFMiFdUCfwEWVQWpdEjqbIqC+zOzTlxtNFN7zFNbdZXUwDU9s1Dpt/Ukl/2YeKaV320FtScQvp0vD9DDuLoYwSZD26YO5oWacurIzShZ5oY/qLlzig8OxNuYFJB2PHf3vQ18XokUX6C+my65cdhr+wMqHM8+x1+e7SthsrRvuDGrDP1OXejJmFzeJ7hC4XILmkOXaZcawd4liULrsfLhi64FbrAgpBRAvmF/rdkFJi454uln3tD5ZVXX7Z9Yv9sUOGLriNv9yx1fL+6kcrFLoWre33qRNAnzy3wU9e3g8W3yPiWFfm6pG0Rfl/FF8yVym2Yd4vqQt95/nLgzZFrrh+WEp+7lw21B8jXSDC0VMIlC7oPtX2xw6kzv7oNGZ6DGfQCUgdZvfqr5Fbm/LBfA0q6yevef/CvYUK71/qBL6vXJ8qgfvKtcQveb/f7E23rbv7fUEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEGoWcz1vaMILJyrltl13KANrcMLzwidH5H23CxZ8GnEs5uhS9BQ2BB8pU+9oB7lbdMD7vEJ+F7L27emcf3vZjzCi4vDI9av5fK+Cg6tBq7EsqtbLlSIJvEpLEQ8OfaaWpGdHyINLazXkIaGRjlcXIUAHiit/YWXJVAGtBq4Wr9dP4Za2GAYyzruyXe1LrHx+RH1MGkvVdCTu7PoTNjmXhzzBECPI68jf+EzCBvFnhw7Pnbito5j1K7Bax51cdxKdRFlNslfXGf+87wLYSs+zdnfoUU6ArrAUQxbNsYxCl+mLmht+/klolcgrCeOqdbnJ9vnqNOMgczrO2PicP187lDeN3WBH/rE8xd1BmGD+Pld2Fodslw+H3njQdkfu1glJV3LQBAEQRAEQRAEQRAEIUzRWoutj+vq/6/WpCYaHtHyoURUjYvH+ctgGqxdJCt3Or0QKKnRTYuVDy/Uqy4Td62yzfr0dPEWAkVd1CK6vLZrfTBRKKzOaD8xJXLUqCSN7GN9f35E1/cZ+7Pcg/G5PlwiGsb5Iwzi189h3ZOHRm1VWTPm3yhrGtN2svGp96hKqgx40dfdD8lR9OLTvHM4sLJ7bZJcQTFwZerGJ8cmCrQYcuByx2Yfd6kiGbrA7bkTuUmo7JMuUQZYauO5NnBUrW5MixfPBv3FprWPcTFqmEKgDHiBVnSQ1sc7P15eXv4Pfm4lRepAF3QQ+NeIgsBq7qa/sC58TUMNk2fIBHTJJm4/r3WJMlBSYEEAHAELoa5lB2oDbA2vzbwsNfxTBqyLXj1e+4veWvWiy0pxqlG6nB/x4ppbTpcIA6WLQxNmYOpNfOpg5HQ06+TIz/p4+sCdPmUQrUv99MgmFq3k6sz2ezMRulAt0w86tHb6nb4iXWa5vl9soHWB+AQGsbHXQ8e9T823/sjWcC5twIu9fzVEK7jXX36BhP81iNHIiSWgC8YcWu4eKvsYi/z6fkAXOPSAXosMdErJoYGl1FPzBfzORRYTkWt5swqUAffHhpeX3vF1Uf2xetBlS0DhLNyr7i6OWfV1/1I11IMuN921OoNEjt4U3e3U+/2+IAiCIAiCIAiCINQV7ZfbNuU8NCxXAhyRU1XSsuCgRPcWGx7CapoJjZNAhXFpCMYbl29iAz73QY/VksmMRp8g1pu50lni5F0D2HKDnSV1IYNQQw+WOlv81EBXGv5Cqn5WoAuPkLauOUBKg3g7PrxZXv9XUqnUYf1/PpR6e/8z0IVHtfi1Pd0EusB2tOSfPLgOXQyDinV5qwd1qXiMTY2QrjVQqiYheHMRSvzyl/aX+Vg1UFWGmv+2G4UCVM0aaRoAbqCsmfzmfkFVnVe8P5Er8VzP8nThliJdwG3QOeKnMpkB/JAJN3wXGTS93wb2eBw+xQdfzVztQb8Cl4sdPYIbOAH4izLogjO36LDWhfvSltr3Y7JGQzgOuvDFYehic8GBv6FowyMJeDIDDqLqCGbUR3mWgpqEgN9Axa/N6wg2fLMCXXa9kUr1ex/3pdBvwHs8T6oCqGNyKVMVZhq+PYYzApKgF8ycMf2FK/EYv5aXF8J/KDZJ04VObK1Y74B5cYeu8Ja00kX7y6k0iIstDT8X602zPZooA3zrOw6fTe3rutwGatDp0iGf1uBXQtUwNjymQH2nEb96ra2CE3BwlsI0zSDBwgT8sLoIzZoENn7qzN498Jo6bcSxsx10hhc7lC5KqwOHrfjLHdWJkiR3aHgEDoLOc1ftgn3JxaI4piu+AX8xdYEmx3bjNrWaLirvGVQuBBbtdLUHdYHDLenY0R48B20sK6AL7Iu/2abPwLqofXi8a6Cdfai0Lup77aoabvPsA23lNbylZimoUh8qBEVx73D56Kg00PLQx9gheouZ52x1ujR8P8POYiijBNmwLrHe0SJ/wVTUUq0uVstoy0A4v/A+OA5OFk5tRbooZViXxBcjQX/xe2Q8S0HpAt/jbnYN2fweWaS/KN84bfgLK7OeVNPw3aVtN1aM9gc1YJ+py70ZMwNSJb6kLhjHoCMFHSPSZcBqvxLS5UInRirYNF1EXUY9XfA9/FxYF2rx+Js/7TSzu78PdMFzXeiM0GV4acjXhbZKlzvw0JXZcH4ha56loHWJT/2uz9CjovxyoN/ac7bDyPsQxA70ryfvr360QqFr0dp+nzoB9MlzG/zk5X1ViY/QhULJAG5QCYxglPd/P9iJ4Sfj3Yx0Za4eSePmyqujZId5n3ThMKV0wRNgZCIDME9bgV+FH2kf9AKu9vBvH4jUxaHHragnDnizrfA5BqH+GFnzLAWtC7pPtf0xcKVfv9hBoevMXvSrM3spkMHmqVH+AtpEPCcq2hfRj668n7zW/YuevlXR/csWgu8r//+q9GYGSu2L0iV4X1n2zqTc/T7MEXK38P2+IAjCs+F/1QFBHfBcnIMAAAAASUVORK5CYII="},523:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-3.f1a972a0.png"},524:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-4.7862ba68.png"},525:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-5.8895357e.png"},526:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-6.8f8bc957.png"},701:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("Originally published on: "),o("a",{attrs:{href:"https://www.mysociety.org/2022/09/13/publishing-and-analysing-data-our-workflow/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.mysociety.org/2022/09/13/publishing-and-analysing-data-our-workflow/"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("I recently blogged about the data "),o("a",{attrs:{href:"https://www.mysociety.org/2022/09/13/we-want-you-to-build-on-our-local-climate-data-tell-us-what-you-need/",target:"_blank",rel:"noopener noreferrer"}},[e._v("we’re publishing and making use of in mySociety’s climate programme"),o("OutboundLink")],1),e._v(" (and how we want to help people make use of it!). This blog post explores behind the scenes how we’re managing that data, using the GitHub ecosystem and Frictionless Data standards to validate and publish data.")]),e._v(" "),o("h2",{attrs:{id:"how-we-re-handling-common-data-analysis-and-data-publishing-tasks"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-we-re-handling-common-data-analysis-and-data-publishing-tasks"}},[e._v("#")]),e._v(" How we’re handling common data analysis and data publishing tasks.")]),e._v(" "),o("p",[e._v("Generally we do all our data analysis in Python and Jupyter notebooks. While we have some analysis using R, we have more Python developers and projects, so this makes it easier for analysis code to be shared and understood between analysis and production projects.")]),e._v(" "),o("p",[e._v("Following the same basic ideas as (and stealing some folder structure from) the "),o("a",{attrs:{href:"https://drivendata.github.io/cookiecutter-data-science/",target:"_blank",rel:"noopener noreferrer"}},[e._v("cookiecutter data science"),o("OutboundLink")],1),e._v(" approach that each small project should live in a separate repository, we have a "),o("a",{attrs:{href:"https://github.com/mysociety/python-data-auto-template",target:"_blank",rel:"noopener noreferrer"}},[e._v("standard repository template"),o("OutboundLink")],1),e._v(" for working with data processing and analysis.")]),e._v(" "),o("p",[e._v("The template defines a folder structure, and standard config files for development in Docker and VS Code. A shared data_common library builds a base Docker image (for faster access to new repos), and common tools and utilities that are shared between projects for dataset management. This includes helpers for managing dataset releases, and for working with our charting theme. The use of Docker means that the development environment and the GitHub Actions environment can be kept in sync – and so processes can easily be shifted to a scheduled task as a GitHub Action.")]),e._v(" "),o("p",[e._v("The advantage of this common library approach is that it is easy to update the set of common tools from each new project, but because each project is pegged to a commit of the common library, new projects get the benefit of advances, while old projects do not need to be updated all the time to keep working.")]),e._v(" "),o("p",[e._v("This process can run end-to-end in GitHub – where the repository is created in GitHub, Codespaces can be used for development, automated testing and building happens with GitHub Actions and the data is published through GitHub Pages. The use of GitHub Actions especially means testing and validation of the data can live on Github’s infrastructure, rather than requiring additional work for each small project on our servers.")]),e._v(" "),o("h2",{attrs:{id:"dataset-management"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#dataset-management"}},[e._v("#")]),e._v(" Dataset management")]),e._v(" "),o("p",[e._v("One of the goals of this data management process is to make it easy to take a dataset we’ve built for our purposes, and make it easily accessible for re-use by others.")]),e._v(" "),o("p",[e._v("The data_common library contains a dataset command line tool – which automates the creation of various config files, publishing, and validation of our data.")]),e._v(" "),o("p",[e._v("Rather than reinventing the wheel, we use the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless data standard"),o("OutboundLink")],1),e._v(" as a way of describing the data. A repo will hold one or more "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data packages"),o("OutboundLink")],1),e._v(", which are a collection of "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data resources"),o("OutboundLink")],1),e._v(" (generally a CSV table). The dataset tool detects changes to the data resources, and updates the config files. Changes between config files can then be used for automated version changes.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(521),alt:"mysociety-img-1"}})]),e._v(" "),o("h2",{attrs:{id:"data-integrity"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-integrity"}},[e._v("#")]),e._v(" Data integrity")]),e._v(" "),o("p",[e._v("Leaning on the frictionless standard for basic validation that the structure is right, we use "),o("a",{attrs:{href:"https://docs.pytest.org/en/7.1.x/",target:"_blank",rel:"noopener noreferrer"}},[e._v("pytest"),o("OutboundLink")],1),e._v(" to run additional tests on the data itself. This means we define a set of rules that the dataset should pass (eg ‘all cells in this column contain a value’), and if it doesn’t, the dataset will not validate and will fail to build.")]),e._v(" "),o("p",[e._v("This is especially important because we have datasets that are fed by automated processes, read external Google Sheets, or accept input from other organisations. The "),o("a",{attrs:{href:"https://mysociety.github.io/uk_local_authority_names_and_codes/",target:"_blank",rel:"noopener noreferrer"}},[e._v("local authority codes dataset"),o("OutboundLink")],1),e._v(" has "),o("a",{attrs:{href:"https://github.com/mysociety/uk_local_authority_names_and_codes/tree/main/tests",target:"_blank",rel:"noopener noreferrer"}},[e._v("a number of tests"),o("OutboundLink")],1),e._v(" to check authorities haven’t been unexpectedly deleted, that the start date and end dates make sense, and that only certain kinds of authorities can be designated as the county council or combined authority overlapping with a different authority. This means that when someone submits a change to the source dataset, we can have a certain amount of faith that the dataset is being improved because the automated testing is checking that nothing is obviously broken.")]),e._v(" "),o("p",[e._v("The automated versioning approach means the defined structure of a resource is also a form of automated testing. Generally following the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/patterns/#data-package-version",target:"_blank",rel:"noopener noreferrer"}},[e._v("semver rules for frictionless data"),o("OutboundLink")],1),e._v(" (exception that adding a new column after the last column is not a major change), the dataset tool will try and determine if a change from the previous version is a MAJOR (backward compatibility breaking), MINOR (new resource, row or column), or PATCH (correcting errors) change. Generally, we want to avoid major changes, and the automated action will throw an error if this happens. If a major change is required, this can be done manually. The fact that external users of the file can peg their usage to a particular major version means that changes can be made knowing nothing is immediately going to break (even if data may become more stale in the long run).")]),e._v(" "),o("p",[o("img",{attrs:{src:a(522),alt:"mysociety-img-2"}})]),e._v(" "),o("h2",{attrs:{id:"data-publishing-and-accessibility"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-publishing-and-accessibility"}},[e._v("#")]),e._v(" Data publishing and accessibility")]),e._v(" "),o("p",[e._v("The frictionless standard allows an optional description for each data column. We make this required, so that each column needs to have been given a human readable description for the dataset to validate successfully. Internally, this is useful as enforcing documentation (and making sure you really understand what units a column is in), and means that it is much easier for external users to understand what is going on.")]),e._v(" "),o("p",[e._v("Previously, we were uploading the CSVs to GitHub repositories and leaving it as that – but GitHub isn’t friendly to non-developers, and clicking a CSV file opens it up in the browser rather than downloading it.")]),e._v(" "),o("p",[e._v("To help make data more accessible, we now publish a small GitHub Pages site for each repo, which allows small static sites to be built from the contents of a repository (the "),o("a",{attrs:{href:"https://everypolitician.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("EveryPolitician project"),o("OutboundLink")],1),e._v(" also used this approach). This means we can have fuller documentation of the data, better analytics on access, sign-posting to surveys, and better sign-posted links to downloading multiple versions of the data.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(523),alt:"mysociety-img-3"}})]),e._v(" "),o("p",[e._v("The automated deployment means we can also very easily create Excel files that packages together all resources in a package into the same file, and include the meta-data information about the dataset, as well as information about how they can tell us about how they’re using it.")]),e._v(" "),o("p",[e._v("Publishing in an Excel format acknowledges a practical reality that lots of people work in Excel. CSVs don’t always load nicely in Excel, and since Excel files can contain multiple sheets, we can add a cover page that makes it easier to use and understand our data by packaging all the explanations inside the file. We still produce both CSVs and XLSX files – and can now do so with very little work.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(524),alt:"mysociety-img-4"}})]),e._v(" "),o("p",[e._v("For developers who are interested in making automated use of the data, we also provide "),o("a",{attrs:{href:"https://github.com/mysociety/mysoc-dataset",target:"_blank",rel:"noopener noreferrer"}},[e._v("a small package"),o("OutboundLink")],1),e._v(" that can be used in Python or as a CLI tool to fetch the data, and instructions on the download page on "),o("a",{attrs:{href:"https://mysociety.github.io/composite_uk_imd/downloads/uk_index_xlsx/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("how to use it"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("img",{attrs:{src:a(525),alt:"mysociety-img-5"}})]),e._v(" "),o("p",[e._v("At mySociety Towers, we’re fans of "),o("a",{attrs:{href:"https://datasette.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette"),o("OutboundLink")],1),e._v(", a tool for exploring datasets. Simon Willison recently released "),o("a",{attrs:{href:"https://github.com/simonw/datasette-lite",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette Lite"),o("OutboundLink")],1),e._v(", a version that runs entirely in the browser. That means that just by publishing our data as a SQLite file, we can add a link so that people can explore a dataset without leaving the browser. You can even create shareable links for queries: for example, "),o("a",{attrs:{href:"https://lite.datasette.io/?url=https://mysociety.github.io/uk_local_authority_names_and_codes/data/uk_la_past_current/latest/uk_la_past_current.sqlite#/uk_la_past_current/uk_local_authorities_current?_facet=region®ion=Scotland",target:"_blank",rel:"noopener noreferrer"}},[e._v("all current local authorities in Scotland"),o("OutboundLink")],1),e._v(", or "),o("a",{attrs:{href:"https://lite.datasette.io/?url=https://mysociety.github.io/composite_uk_imd/data/uk_index/latest/uk_index.sqlite#/uk_index/la_labels?_sort=label&_facet=label&label=1st+IMD+quintile",target:"_blank",rel:"noopener noreferrer"}},[e._v("local authorities in the most deprived quintile"),o("OutboundLink")],1),e._v(". This lets us do some very rapid prototyping of what a data service might look like, just by packaging up some of the data using our new approach.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(526),alt:"mysociety-img-6"}})]),e._v(" "),o("h2",{attrs:{id:"data-analysis"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-analysis"}},[e._v("#")]),e._v(" Data analysis")]),e._v(" "),o("p",[e._v("Something in use in a few of our repos is the ability to automatically deploy analysis of the dataset when it is updated.")]),e._v(" "),o("p",[e._v("Analysis of the dataset can be designed in a Jupyter notebook (including tables and charts) – and this can be re-run and published on the same GitHub Pages deploy as the data itself. For instance, the "),o("a",{attrs:{href:"https://mysociety.github.io/uk_ruc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("UK Composite Rural Urban Classification"),o("OutboundLink")],1),e._v(" produces "),o("a",{attrs:{href:"https://mysociety.github.io/uk_ruc/analysis/background_and_analysis.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("this analysis"),o("OutboundLink")],1),e._v(". For the moment, this is just replacing previous automatic README creation – but in principle makes it easy for us to create simple, self-updating public charts and analysis of whatever we like.")]),e._v(" "),o("p",[e._v("Bringing it all back together and keeping people to up to date with changes")]),e._v(" "),o("p",[e._v("The one downside of all these datasets living in different repositories is making them easy to discover. To help out with this, we add all data packages to our "),o("a",{attrs:{href:"https://data.mysociety.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.mysociety.org"),o("OutboundLink")],1),e._v(" catalogue (itself a Jekyll site that updates via GitHub Actions) and have started a lightweight "),o("a",{attrs:{href:"https://data.mysociety.org/newsletter",target:"_blank",rel:"noopener noreferrer"}},[e._v("data announcement email list"),o("OutboundLink")],1),e._v(". If you have got this far, and want to see more of our data in future – "),o("a",{attrs:{href:"https://data.mysociety.org/newsletter",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up"),o("OutboundLink")],1),e._v("!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{517:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-1.a484b939.png"},518:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZcAAACkCAMAAABsIZOIAAAB5lBMVEUKDBAKDCkKDEIKDHgKDHwKDJ0KDKIKKFsKOsEKQnAKUsEKWMEKXdkKcroKdtkKgNkKm9EkDBAkkfA0DBA0WME0nfA+DBA+p/9UDBBUDHxUDKJUefBYUhBYkdlYvPBYvP9ZDBBZtfBZtf9udhBuy9luy/Buy/9yDBByuOhzWBBzndlznfBztdlzzPBzzP94DBB4WoF9DBB9DHx9DKJ9OsF9Xdl9kdl9kfB9kf+AkXyAvMGAy9mAy/CAy/+JgBCJncGJzMGJ3NmJ3PCJ3P+Rp6KRp8GRvMGRy9mRy/CRy/+XDBCXm9GXz/aeOhCeOnyeedmeefCekcGekdmekf+enXyencGep9mep/Cep/+ezMGe3Nme3PCe3P+gDBCgb5KttaKtzMGt3Nmt3PCt3P+zXRCzXXyzeXyzecGzkaKzp8Gzt9mzt/Czt/+0chC05ei05fbAKBDAWnDAg4HAg5LLmxDL89HL8+jL8/bOeXzOeaLOecHOkaLOkcHOkdnOp8HOp//Ot9nOt/DOt//YQhDYlHDYlIHYlJLbkaLbkcHbp8Hbt9nbt/Dbt//iuHji5bri89Hi8/bwWinwWkLwWlvwg1vwlHDwlIHwlJLwz53w5brw89Hw8+jw8/b/b0L/g1v/lHD/lIH/lJL/MzhgAAAN0ElEQVR42u2djV8UxxnHVz2PQ1BQgposjRSTFEzFw5i6tA0N0RqPQGobisQop95Si6UNqba5mMaYs4qBo5G8aSlY7j/t8zKzO7u3d9wBVXL3fD8fb+92Hxac3z7PMzvP3I5lCYIgCIIgCIIgCIIgCM+A5nz+y4NljttZ81PiNto6btAmdn7EsuLT+fkRac/NkmWuz7JnN0OXoKGwIfhKn3rhep/VDOrY+TzoFBvP572Wt29N52fJreb68EA+n7Wca7m8r4KTJ0dhsfgMwgZJfJrI5SfHXmNd4tepSaGF43/SIclGOdzEHTCAeKf8Za4PdyiDWVTXRsW8MwgbDWNZxz35rtYlNj7PiSLvpwoMT3YWnQnb3ItjngDoceR15C98BmGj2JNjx8dO3NZxjNo1eM2jLo5bqS6izCb5i+vMf553IWzFpzn7Q/M62aAucBTDlo1xjMKXqQta235+iegVCOuJY6r18/O/mbUg12CnGQOZ13fGxOH6+dyhvG/qAj/0iecv6gzCBvHzu7C1OmS5fD7yxoOyP3axSkq6loEgCIIgCIIgCIIgCILGjhpg614I7dj5t6Eab4dtf53x3jc8Kvz3knofVePicf4ymAZVFsm0eZQurf/+CW8fw8vuh8tLQ96uutBl4q5Vtlmfhi4R7Pz7ny1fl+Gb9H54oZZVmSgUVme0n5gSOWpUkkb2sb4/P6Lr+yrefJZ7MD7XBwUarItFGMSvn8O6Jw+N2qqyZs6/SfxjHKsHbKB+HwyH4nEcFXW1AcuBfrIMb3b8hUXa/S90mO6lmoxnyRUUY/s/L1mNT46BRoXCYvD6xWYfd6kiGXIHe+5EbhIq+6RLlAGW2niuDRyNc0kUj3vzbxI5XYTDH9f+gibwK6kcpwzIQ9BpQKDhZWDBc6La1AUdBP41oiBPjgX8hduJPQBah2fIBHTJJm4/r3WJMlBS4KUPboOFUNeyzdoAiZTVBqYu9N5xlQHrgk7TaviL3lo1rMtKcapRupwf8eKaW06XCAOli0MTZmDqTXzqYHCWmWp2ZVCtLjXdI5tYtJKrM9vvzUToQrVMf9IfNpA/PcnXZZbr+8UGWpes1QwGsbHXQ8c9XdhA1051HEt8MaJ14W7YV0M7P66X/AIJ/2sQo5ETS0AXjDmzFMjm+jDU+PX9gC5w6AG9FhnolJJDA0upp+YLmLp4Bvj7sBOgNq42UKlkeHnpHUMX7o/VqC4/ECJuVmr+/qVqqEdbbrrrxg3kfl8QBEEQBEEQBEEQfoDETw1UZNdcZlAAR5m5YlYWHBmo5ZpAEVhNMzGK71C8gkZrv/zcBz2hH2p6v62ELsq6m6tea+vSTZKsWU3e8SEWCWAwuqzVnlQq9fZ+fdG8kjqzt8Z04eI7v7anm0rpEoFn3V1R4V61tFf6Ly+f3pTU5XTg466fb11doKoMNf9tNwoFqJo10jQA3EBZM/nN/YKqOq94zRQovmtd4oOdVvuvLmbSltWVyVzpjPVmgFGrPZNBf2nBfdqArQO6xLi8j7UGqHtOvYdlTfyAMwC0laGiQ2OhPCkACz1YxamwiqZ0OaC8hnQBt0n1w/s3fE/aIkAdk0uZqjDT8O0xnBGQBL1g5ozpL6Hiu5qywn5wpTP+FjlCS9r3ly7QpelCp9Vyuc03KGppLlzSV6Wh3JzVVTqoyXgZIzjeT/UemhTgcPmGq2c6nHkxK3U6dghez3YY+zh2kUKky75++rUv7bf2bKWwliR3aHgEDoLOc1ftgn3JxaI4FiryBnQZtWJHe9BFMiFdUCfwEWVQWpdEjqbIqC+zOzTlxtNFN7zFNbdZXUwDU9s1Dpt/Ukl/2YeKaV320FtScQvp0vD9DDuLoYwSZD26YO5oWacurIzShZ5oY/qLlzig8OxNuYFJB2PHf3vQ18XokUX6C+my65cdhr+wMqHM8+x1+e7SthsrRvuDGrDP1OXejJmFzeJ7hC4XILmkOXaZcawd4liULrsfLhi64FbrAgpBRAvmF/rdkFJi454uln3tD5ZVXX7Z9Yv9sUOGLriNv9yx1fL+6kcrFLoWre33qRNAnzy3wU9e3g8W3yPiWFfm6pG0Rfl/FF8yVym2Yd4vqQt95/nLgzZFrrh+WEp+7lw21B8jXSDC0VMIlC7oPtX2xw6kzv7oNGZ6DGfQCUgdZvfqr5Fbm/LBfA0q6yevef/CvYUK71/qBL6vXJ8qgfvKtcQveb/f7E23rbv7fUEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEGoWcz1vaMILJyrltl13KANrcMLzwidH5H23CxZ8GnEs5uhS9BQ2BB8pU+9oB7lbdMD7vEJ+F7L27emcf3vZjzCi4vDI9av5fK+Cg6tBq7EsqtbLlSIJvEpLEQ8OfaaWpGdHyINLazXkIaGRjlcXIUAHiit/YWXJVAGtBq4Wr9dP4Za2GAYyzruyXe1LrHx+RH1MGkvVdCTu7PoTNjmXhzzBECPI68jf+EzCBvFnhw7Pnbito5j1K7Bax51cdxKdRFlNslfXGf+87wLYSs+zdnfoUU6ArrAUQxbNsYxCl+mLmht+/klolcgrCeOqdbnJ9vnqNOMgczrO2PicP187lDeN3WBH/rE8xd1BmGD+Pld2Fodslw+H3njQdkfu1glJV3LQBAEQRAEQRAEQRAEIUzRWoutj+vq/6/WpCYaHtHyoURUjYvH+ctgGqxdJCt3Or0QKKnRTYuVDy/Uqy4Td62yzfr0dPEWAkVd1CK6vLZrfTBRKKzOaD8xJXLUqCSN7GN9f35E1/cZ+7Pcg/G5PlwiGsb5Iwzi189h3ZOHRm1VWTPm3yhrGtN2svGp96hKqgx40dfdD8lR9OLTvHM4sLJ7bZJcQTFwZerGJ8cmCrQYcuByx2Yfd6kiGbrA7bkTuUmo7JMuUQZYauO5NnBUrW5MixfPBv3FprWPcTFqmEKgDHiBVnSQ1sc7P15eXv4Pfm4lRepAF3QQ+NeIgsBq7qa/sC58TUMNk2fIBHTJJm4/r3WJMlBSYEEAHAELoa5lB2oDbA2vzbwsNfxTBqyLXj1e+4veWvWiy0pxqlG6nB/x4ppbTpcIA6WLQxNmYOpNfOpg5HQ06+TIz/p4+sCdPmUQrUv99MgmFq3k6sz2ezMRulAt0w86tHb6nb4iXWa5vl9soHWB+AQGsbHXQ8e9T823/sjWcC5twIu9fzVEK7jXX36BhP81iNHIiSWgC8YcWu4eKvsYi/z6fkAXOPSAXosMdErJoYGl1FPzBfzORRYTkWt5swqUAffHhpeX3vF1Uf2xetBlS0DhLNyr7i6OWfV1/1I11IMuN921OoNEjt4U3e3U+/2+IAiCIAiCIAiCINQV7ZfbNuU8NCxXAhyRU1XSsuCgRPcWGx7CapoJjZNAhXFpCMYbl29iAz73QY/VksmMRp8g1pu50lni5F0D2HKDnSV1IYNQQw+WOlv81EBXGv5Cqn5WoAuPkLauOUBKg3g7PrxZXv9XUqnUYf1/PpR6e/8z0IVHtfi1Pd0EusB2tOSfPLgOXQyDinV5qwd1qXiMTY2QrjVQqiYheHMRSvzyl/aX+Vg1UFWGmv+2G4UCVM0aaRoAbqCsmfzmfkFVnVe8P5Er8VzP8nThliJdwG3QOeKnMpkB/JAJN3wXGTS93wb2eBw+xQdfzVztQb8Cl4sdPYIbOAH4izLogjO36LDWhfvSltr3Y7JGQzgOuvDFYehic8GBv6FowyMJeDIDDqLqCGbUR3mWgpqEgN9Axa/N6wg2fLMCXXa9kUr1ex/3pdBvwHs8T6oCqGNyKVMVZhq+PYYzApKgF8ycMf2FK/EYv5aXF8J/KDZJ04VObK1Y74B5cYeu8Ja00kX7y6k0iIstDT8X602zPZooA3zrOw6fTe3rutwGatDp0iGf1uBXQtUwNjymQH2nEb96ra2CE3BwlsI0zSDBwgT8sLoIzZoENn7qzN498Jo6bcSxsx10hhc7lC5KqwOHrfjLHdWJkiR3aHgEDoLOc1ftgn3JxaI4piu+AX8xdYEmx3bjNrWaLirvGVQuBBbtdLUHdYHDLenY0R48B20sK6AL7Iu/2abPwLqofXi8a6Cdfai0Lup77aoabvPsA23lNbylZimoUh8qBEVx73D56Kg00PLQx9gheouZ52x1ujR8P8POYiijBNmwLrHe0SJ/wVTUUq0uVstoy0A4v/A+OA5OFk5tRbooZViXxBcjQX/xe2Q8S0HpAt/jbnYN2fweWaS/KN84bfgLK7OeVNPw3aVtN1aM9gc1YJ+py70ZMwNSJb6kLhjHoCMFHSPSZcBqvxLS5UInRirYNF1EXUY9XfA9/FxYF2rx+Js/7TSzu78PdMFzXeiM0GV4acjXhbZKlzvw0JXZcH4ha56loHWJT/2uz9CjovxyoN/ac7bDyPsQxA70ryfvr360QqFr0dp+nzoB9MlzG/zk5X1ViY/QhULJAG5QCYxglPd/P9iJ4Sfj3Yx0Za4eSePmyqujZId5n3ThMKV0wRNgZCIDME9bgV+FH2kf9AKu9vBvH4jUxaHHragnDnizrfA5BqH+GFnzLAWtC7pPtf0xcKVfv9hBoevMXvSrM3spkMHmqVH+AtpEPCcq2hfRj668n7zW/YuevlXR/csWgu8r//+q9GYGSu2L0iV4X1n2zqTc/T7MEXK38P2+IAjCs+F/1QFBHfBcnIMAAAAASUVORK5CYII="},519:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-3.f1a972a0.png"},520:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-4.7862ba68.png"},521:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-5.8895357e.png"},522:function(e,t,a){e.exports=a.p+"assets/img/mysociety-img-6.8f8bc957.png"},701:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("Originally published on: "),o("a",{attrs:{href:"https://www.mysociety.org/2022/09/13/publishing-and-analysing-data-our-workflow/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.mysociety.org/2022/09/13/publishing-and-analysing-data-our-workflow/"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("I recently blogged about the data "),o("a",{attrs:{href:"https://www.mysociety.org/2022/09/13/we-want-you-to-build-on-our-local-climate-data-tell-us-what-you-need/",target:"_blank",rel:"noopener noreferrer"}},[e._v("we’re publishing and making use of in mySociety’s climate programme"),o("OutboundLink")],1),e._v(" (and how we want to help people make use of it!). This blog post explores behind the scenes how we’re managing that data, using the GitHub ecosystem and Frictionless Data standards to validate and publish data.")]),e._v(" "),o("h2",{attrs:{id:"how-we-re-handling-common-data-analysis-and-data-publishing-tasks"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-we-re-handling-common-data-analysis-and-data-publishing-tasks"}},[e._v("#")]),e._v(" How we’re handling common data analysis and data publishing tasks.")]),e._v(" "),o("p",[e._v("Generally we do all our data analysis in Python and Jupyter notebooks. While we have some analysis using R, we have more Python developers and projects, so this makes it easier for analysis code to be shared and understood between analysis and production projects.")]),e._v(" "),o("p",[e._v("Following the same basic ideas as (and stealing some folder structure from) the "),o("a",{attrs:{href:"https://drivendata.github.io/cookiecutter-data-science/",target:"_blank",rel:"noopener noreferrer"}},[e._v("cookiecutter data science"),o("OutboundLink")],1),e._v(" approach that each small project should live in a separate repository, we have a "),o("a",{attrs:{href:"https://github.com/mysociety/python-data-auto-template",target:"_blank",rel:"noopener noreferrer"}},[e._v("standard repository template"),o("OutboundLink")],1),e._v(" for working with data processing and analysis.")]),e._v(" "),o("p",[e._v("The template defines a folder structure, and standard config files for development in Docker and VS Code. A shared data_common library builds a base Docker image (for faster access to new repos), and common tools and utilities that are shared between projects for dataset management. This includes helpers for managing dataset releases, and for working with our charting theme. The use of Docker means that the development environment and the GitHub Actions environment can be kept in sync – and so processes can easily be shifted to a scheduled task as a GitHub Action.")]),e._v(" "),o("p",[e._v("The advantage of this common library approach is that it is easy to update the set of common tools from each new project, but because each project is pegged to a commit of the common library, new projects get the benefit of advances, while old projects do not need to be updated all the time to keep working.")]),e._v(" "),o("p",[e._v("This process can run end-to-end in GitHub – where the repository is created in GitHub, Codespaces can be used for development, automated testing and building happens with GitHub Actions and the data is published through GitHub Pages. The use of GitHub Actions especially means testing and validation of the data can live on Github’s infrastructure, rather than requiring additional work for each small project on our servers.")]),e._v(" "),o("h2",{attrs:{id:"dataset-management"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#dataset-management"}},[e._v("#")]),e._v(" Dataset management")]),e._v(" "),o("p",[e._v("One of the goals of this data management process is to make it easy to take a dataset we’ve built for our purposes, and make it easily accessible for re-use by others.")]),e._v(" "),o("p",[e._v("The data_common library contains a dataset command line tool – which automates the creation of various config files, publishing, and validation of our data.")]),e._v(" "),o("p",[e._v("Rather than reinventing the wheel, we use the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless data standard"),o("OutboundLink")],1),e._v(" as a way of describing the data. A repo will hold one or more "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data packages"),o("OutboundLink")],1),e._v(", which are a collection of "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data resources"),o("OutboundLink")],1),e._v(" (generally a CSV table). The dataset tool detects changes to the data resources, and updates the config files. Changes between config files can then be used for automated version changes.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(517),alt:"mysociety-img-1"}})]),e._v(" "),o("h2",{attrs:{id:"data-integrity"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-integrity"}},[e._v("#")]),e._v(" Data integrity")]),e._v(" "),o("p",[e._v("Leaning on the frictionless standard for basic validation that the structure is right, we use "),o("a",{attrs:{href:"https://docs.pytest.org/en/7.1.x/",target:"_blank",rel:"noopener noreferrer"}},[e._v("pytest"),o("OutboundLink")],1),e._v(" to run additional tests on the data itself. This means we define a set of rules that the dataset should pass (eg ‘all cells in this column contain a value’), and if it doesn’t, the dataset will not validate and will fail to build.")]),e._v(" "),o("p",[e._v("This is especially important because we have datasets that are fed by automated processes, read external Google Sheets, or accept input from other organisations. The "),o("a",{attrs:{href:"https://mysociety.github.io/uk_local_authority_names_and_codes/",target:"_blank",rel:"noopener noreferrer"}},[e._v("local authority codes dataset"),o("OutboundLink")],1),e._v(" has "),o("a",{attrs:{href:"https://github.com/mysociety/uk_local_authority_names_and_codes/tree/main/tests",target:"_blank",rel:"noopener noreferrer"}},[e._v("a number of tests"),o("OutboundLink")],1),e._v(" to check authorities haven’t been unexpectedly deleted, that the start date and end dates make sense, and that only certain kinds of authorities can be designated as the county council or combined authority overlapping with a different authority. This means that when someone submits a change to the source dataset, we can have a certain amount of faith that the dataset is being improved because the automated testing is checking that nothing is obviously broken.")]),e._v(" "),o("p",[e._v("The automated versioning approach means the defined structure of a resource is also a form of automated testing. Generally following the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/patterns/#data-package-version",target:"_blank",rel:"noopener noreferrer"}},[e._v("semver rules for frictionless data"),o("OutboundLink")],1),e._v(" (exception that adding a new column after the last column is not a major change), the dataset tool will try and determine if a change from the previous version is a MAJOR (backward compatibility breaking), MINOR (new resource, row or column), or PATCH (correcting errors) change. Generally, we want to avoid major changes, and the automated action will throw an error if this happens. If a major change is required, this can be done manually. The fact that external users of the file can peg their usage to a particular major version means that changes can be made knowing nothing is immediately going to break (even if data may become more stale in the long run).")]),e._v(" "),o("p",[o("img",{attrs:{src:a(518),alt:"mysociety-img-2"}})]),e._v(" "),o("h2",{attrs:{id:"data-publishing-and-accessibility"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-publishing-and-accessibility"}},[e._v("#")]),e._v(" Data publishing and accessibility")]),e._v(" "),o("p",[e._v("The frictionless standard allows an optional description for each data column. We make this required, so that each column needs to have been given a human readable description for the dataset to validate successfully. Internally, this is useful as enforcing documentation (and making sure you really understand what units a column is in), and means that it is much easier for external users to understand what is going on.")]),e._v(" "),o("p",[e._v("Previously, we were uploading the CSVs to GitHub repositories and leaving it as that – but GitHub isn’t friendly to non-developers, and clicking a CSV file opens it up in the browser rather than downloading it.")]),e._v(" "),o("p",[e._v("To help make data more accessible, we now publish a small GitHub Pages site for each repo, which allows small static sites to be built from the contents of a repository (the "),o("a",{attrs:{href:"https://everypolitician.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("EveryPolitician project"),o("OutboundLink")],1),e._v(" also used this approach). This means we can have fuller documentation of the data, better analytics on access, sign-posting to surveys, and better sign-posted links to downloading multiple versions of the data.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(519),alt:"mysociety-img-3"}})]),e._v(" "),o("p",[e._v("The automated deployment means we can also very easily create Excel files that packages together all resources in a package into the same file, and include the meta-data information about the dataset, as well as information about how they can tell us about how they’re using it.")]),e._v(" "),o("p",[e._v("Publishing in an Excel format acknowledges a practical reality that lots of people work in Excel. CSVs don’t always load nicely in Excel, and since Excel files can contain multiple sheets, we can add a cover page that makes it easier to use and understand our data by packaging all the explanations inside the file. We still produce both CSVs and XLSX files – and can now do so with very little work.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(520),alt:"mysociety-img-4"}})]),e._v(" "),o("p",[e._v("For developers who are interested in making automated use of the data, we also provide "),o("a",{attrs:{href:"https://github.com/mysociety/mysoc-dataset",target:"_blank",rel:"noopener noreferrer"}},[e._v("a small package"),o("OutboundLink")],1),e._v(" that can be used in Python or as a CLI tool to fetch the data, and instructions on the download page on "),o("a",{attrs:{href:"https://mysociety.github.io/composite_uk_imd/downloads/uk_index_xlsx/latest",target:"_blank",rel:"noopener noreferrer"}},[e._v("how to use it"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("img",{attrs:{src:a(521),alt:"mysociety-img-5"}})]),e._v(" "),o("p",[e._v("At mySociety Towers, we’re fans of "),o("a",{attrs:{href:"https://datasette.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette"),o("OutboundLink")],1),e._v(", a tool for exploring datasets. Simon Willison recently released "),o("a",{attrs:{href:"https://github.com/simonw/datasette-lite",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette Lite"),o("OutboundLink")],1),e._v(", a version that runs entirely in the browser. That means that just by publishing our data as a SQLite file, we can add a link so that people can explore a dataset without leaving the browser. You can even create shareable links for queries: for example, "),o("a",{attrs:{href:"https://lite.datasette.io/?url=https://mysociety.github.io/uk_local_authority_names_and_codes/data/uk_la_past_current/latest/uk_la_past_current.sqlite#/uk_la_past_current/uk_local_authorities_current?_facet=region®ion=Scotland",target:"_blank",rel:"noopener noreferrer"}},[e._v("all current local authorities in Scotland"),o("OutboundLink")],1),e._v(", or "),o("a",{attrs:{href:"https://lite.datasette.io/?url=https://mysociety.github.io/composite_uk_imd/data/uk_index/latest/uk_index.sqlite#/uk_index/la_labels?_sort=label&_facet=label&label=1st+IMD+quintile",target:"_blank",rel:"noopener noreferrer"}},[e._v("local authorities in the most deprived quintile"),o("OutboundLink")],1),e._v(". This lets us do some very rapid prototyping of what a data service might look like, just by packaging up some of the data using our new approach.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(522),alt:"mysociety-img-6"}})]),e._v(" "),o("h2",{attrs:{id:"data-analysis"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data-analysis"}},[e._v("#")]),e._v(" Data analysis")]),e._v(" "),o("p",[e._v("Something in use in a few of our repos is the ability to automatically deploy analysis of the dataset when it is updated.")]),e._v(" "),o("p",[e._v("Analysis of the dataset can be designed in a Jupyter notebook (including tables and charts) – and this can be re-run and published on the same GitHub Pages deploy as the data itself. For instance, the "),o("a",{attrs:{href:"https://mysociety.github.io/uk_ruc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("UK Composite Rural Urban Classification"),o("OutboundLink")],1),e._v(" produces "),o("a",{attrs:{href:"https://mysociety.github.io/uk_ruc/analysis/background_and_analysis.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("this analysis"),o("OutboundLink")],1),e._v(". For the moment, this is just replacing previous automatic README creation – but in principle makes it easy for us to create simple, self-updating public charts and analysis of whatever we like.")]),e._v(" "),o("p",[e._v("Bringing it all back together and keeping people to up to date with changes")]),e._v(" "),o("p",[e._v("The one downside of all these datasets living in different repositories is making them easy to discover. To help out with this, we add all data packages to our "),o("a",{attrs:{href:"https://data.mysociety.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.mysociety.org"),o("OutboundLink")],1),e._v(" catalogue (itself a Jekyll site that updates via GitHub Actions) and have started a lightweight "),o("a",{attrs:{href:"https://data.mysociety.org/newsletter",target:"_blank",rel:"noopener noreferrer"}},[e._v("data announcement email list"),o("OutboundLink")],1),e._v(". If you have got this far, and want to see more of our data in future – "),o("a",{attrs:{href:"https://data.mysociety.org/newsletter",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up"),o("OutboundLink")],1),e._v("!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/111.4283f401.js b/assets/js/111.2eda7610.js similarity index 98% rename from assets/js/111.4283f401.js rename to assets/js/111.2eda7610.js index e1bcbb217..a921804e4 100644 --- a/assets/js/111.4283f401.js +++ b/assets/js/111.2eda7610.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{644:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"did-you-miss-our-october-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#did-you-miss-our-october-community-call"}},[e._v("#")]),e._v(" Did you miss our October community call?")]),e._v(" "),r("p",[e._v("We had a great presentation by Keith Hughitt, who told us about his work on using Frictionless to create infrastructure for sharing biology and genomics data packages. You can watch his presentation here:"),r("br"),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/GpIgfJE9UGw",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})]),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-of-note-included"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-of-note-included"}},[e._v("#")]),e._v(" Other agenda items of note included:")]),e._v(" "),r("ul",[r("li",[e._v("We are hiring a community manager! The full details are here: "),r("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://okfn.org/about/jobs/"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Help us prioritize adding new features to frictionless-py! You can vote on which features you want to see here: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/486",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues/486"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("You can read more about frictionless-py here: "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/10/08/frictionless-framework/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/blog/2020/10/08/frictionless-framework/"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on 19th November. You can sign up here: "),r("a",{attrs:{href:"https://forms.gle/5HeMrt2MDCYSYWxT8",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://forms.gle/5HeMrt2MDCYSYWxT8"),r("OutboundLink")],1),e._v(". We’ll discuss new features of frictionless-py, and there will also be time for your updates too. Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("Here is the recording of the full call:"),r("br"),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kZ4vy5zP0M0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})]),e._v(" "),r("p",[e._v("As always, join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[111],{645:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"did-you-miss-our-october-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#did-you-miss-our-october-community-call"}},[e._v("#")]),e._v(" Did you miss our October community call?")]),e._v(" "),r("p",[e._v("We had a great presentation by Keith Hughitt, who told us about his work on using Frictionless to create infrastructure for sharing biology and genomics data packages. You can watch his presentation here:"),r("br"),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/GpIgfJE9UGw",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})]),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-of-note-included"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-of-note-included"}},[e._v("#")]),e._v(" Other agenda items of note included:")]),e._v(" "),r("ul",[r("li",[e._v("We are hiring a community manager! The full details are here: "),r("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://okfn.org/about/jobs/"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Help us prioritize adding new features to frictionless-py! You can vote on which features you want to see here: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/486",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues/486"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("You can read more about frictionless-py here: "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/10/08/frictionless-framework/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/blog/2020/10/08/frictionless-framework/"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on 19th November. You can sign up here: "),r("a",{attrs:{href:"https://forms.gle/5HeMrt2MDCYSYWxT8",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://forms.gle/5HeMrt2MDCYSYWxT8"),r("OutboundLink")],1),e._v(". We’ll discuss new features of frictionless-py, and there will also be time for your updates too. Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("Here is the recording of the full call:"),r("br"),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kZ4vy5zP0M0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})]),e._v(" "),r("p",[e._v("As always, join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/112.d1d4b6fc.js b/assets/js/112.ed3f7786.js similarity index 96% rename from assets/js/112.d1d4b6fc.js rename to assets/js/112.ed3f7786.js index b70888d42..40e60c85e 100644 --- a/assets/js/112.d1d4b6fc.js +++ b/assets/js/112.ed3f7786.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{645:function(t,e,o){"use strict";o.r(e);var a=o(29),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[o("em",[t._v("By Tracy Teal; originally posted in the Dryad blog: "),o("a",{attrs:{href:"https://blog.datadryad.org/2020/11/18/frictionless-data/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://blog.datadryad.org/2020/11/18/frictionless-data/"),o("OutboundLink")],1)])]),t._v(" "),o("p",[t._v("Guided by our commitment to make research data publishing more seamless and also re-usable, we are thrilled to partner with Open Knowledge Foundation and the Frictionless Data team to enhance our submission processes. Integrating the Frictionless Data toolkit, Dryad will be able to directly provide feedback to authors on the structure of tabular files uploaded. This will also allow for automated file level metadata to be created at upload and available for download for published datasets.")]),t._v(" "),o("p",[t._v("We are excited to get moving on this project and with support from the Sloan Foundation, Open Knowledge Foundation has just announced a job opening to contribute to this work. Please check out the posting and circulate it to any developers who may be interested in building out this functionality with us: "),o("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://okfn.org/about/jobs/"),o("OutboundLink")],1)]),t._v(" "),o("p",[o("em",[t._v("Stay tuned for a project update in July 2021!")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[112],{646:function(t,e,o){"use strict";o.r(e);var a=o(29),n=Object(a.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[o("em",[t._v("By Tracy Teal; originally posted in the Dryad blog: "),o("a",{attrs:{href:"https://blog.datadryad.org/2020/11/18/frictionless-data/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://blog.datadryad.org/2020/11/18/frictionless-data/"),o("OutboundLink")],1)])]),t._v(" "),o("p",[t._v("Guided by our commitment to make research data publishing more seamless and also re-usable, we are thrilled to partner with Open Knowledge Foundation and the Frictionless Data team to enhance our submission processes. Integrating the Frictionless Data toolkit, Dryad will be able to directly provide feedback to authors on the structure of tabular files uploaded. This will also allow for automated file level metadata to be created at upload and available for download for published datasets.")]),t._v(" "),o("p",[t._v("We are excited to get moving on this project and with support from the Sloan Foundation, Open Knowledge Foundation has just announced a job opening to contribute to this work. Please check out the posting and circulate it to any developers who may be interested in building out this functionality with us: "),o("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://okfn.org/about/jobs/"),o("OutboundLink")],1)]),t._v(" "),o("p",[o("em",[t._v("Stay tuned for a project update in July 2021!")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/113.2e34c2f6.js b/assets/js/113.513c15ae.js similarity index 98% rename from assets/js/113.2e34c2f6.js rename to assets/js/113.513c15ae.js index d438dd2ed..7ead87900 100644 --- a/assets/js/113.2e34c2f6.js +++ b/assets/js/113.513c15ae.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{646:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-november-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-november-community-call"}},[e._v("#")]),e._v(" A recap from our November community call")]),e._v(" "),r("p",[e._v("This time around, we were offered a fantastic presentation by Costas Simatos, the team leader of the "),r("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed",target:"_blank",rel:"noopener noreferrer"}},[e._v("ISA"),r("sup",[e._v("2")]),e._v(" Interoperability Test Bed Action"),r("OutboundLink")],1),e._v(" at the European Commission! He revealed some powerful tools to validate data against specifications, including the following:")]),e._v(" "),r("ul",[r("li",[e._v("A "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/json/tableschema/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema validator"),r("OutboundLink")],1),e._v(", sharing a "),r("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/table-schema-validator",target:"_blank",rel:"noopener noreferrer"}},[e._v("news article"),r("OutboundLink")],1),e._v(" about it;")]),e._v(" "),r("li",[e._v("More validators to work with "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingXML/",target:"_blank",rel:"noopener noreferrer"}},[e._v("XML"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingRDF/",target:"_blank",rel:"noopener noreferrer"}},[e._v("RDF"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingJSON/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JSON"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingCSV/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV"),r("OutboundLink")],1),e._v(" (based on a fork of "),r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-java"),r("OutboundLink")],1),e._v(") as well as a "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/kohesio/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("custom CSV validator"),r("OutboundLink")],1),e._v(" built for "),r("a",{attrs:{href:"https://kohesio.eu/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kohesio"),r("OutboundLink")],1),e._v(", the "),r("em",[e._v("“Project Information Portal for Cohesion Policy”")]),e._v(";")]),e._v(" "),r("li",[e._v("A feature-rich "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/itb/",target:"_blank",rel:"noopener noreferrer"}},[e._v("conformance testing platform"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("p",[e._v("If you would like to dive deeper and watch Costas’ presentation, here it is:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/pJFsJW96fuA",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("ul",[r("li",[e._v("We are hiring a community manager as well as a software developer! The full details are here: "),r("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://okfn.org/about/jobs/"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Interested in giving your feedback on "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/536",target:"_blank",rel:"noopener noreferrer"}},[e._v("an issue about raster geoinformation"),r("OutboundLink")],1),e._v("?")])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on December 17. You can "),r("a",{attrs:{href:"https://forms.gle/5HeMrt2MDCYSYWxT8",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up here"),r("OutboundLink")],1),e._v(". We’ll discuss using Frictionless data package for the web archive data package (WACZ format) and give some space to talk about geospatial data standards, coping with Covid and showing a member’s platform dedicated to open data hackathons!")]),e._v(" "),r("p",[e._v("As always, there will be time for your updates too. Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/ovdGnNYk7cQ",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[113],{644:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-november-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-november-community-call"}},[e._v("#")]),e._v(" A recap from our November community call")]),e._v(" "),r("p",[e._v("This time around, we were offered a fantastic presentation by Costas Simatos, the team leader of the "),r("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed",target:"_blank",rel:"noopener noreferrer"}},[e._v("ISA"),r("sup",[e._v("2")]),e._v(" Interoperability Test Bed Action"),r("OutboundLink")],1),e._v(" at the European Commission! He revealed some powerful tools to validate data against specifications, including the following:")]),e._v(" "),r("ul",[r("li",[e._v("A "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/json/tableschema/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema validator"),r("OutboundLink")],1),e._v(", sharing a "),r("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/table-schema-validator",target:"_blank",rel:"noopener noreferrer"}},[e._v("news article"),r("OutboundLink")],1),e._v(" about it;")]),e._v(" "),r("li",[e._v("More validators to work with "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingXML/",target:"_blank",rel:"noopener noreferrer"}},[e._v("XML"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingRDF/",target:"_blank",rel:"noopener noreferrer"}},[e._v("RDF"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingJSON/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JSON"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingCSV/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV"),r("OutboundLink")],1),e._v(" (based on a fork of "),r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-java"),r("OutboundLink")],1),e._v(") as well as a "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/kohesio/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("custom CSV validator"),r("OutboundLink")],1),e._v(" built for "),r("a",{attrs:{href:"https://kohesio.eu/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kohesio"),r("OutboundLink")],1),e._v(", the "),r("em",[e._v("“Project Information Portal for Cohesion Policy”")]),e._v(";")]),e._v(" "),r("li",[e._v("A feature-rich "),r("a",{attrs:{href:"https://www.itb.ec.europa.eu/itb/",target:"_blank",rel:"noopener noreferrer"}},[e._v("conformance testing platform"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("p",[e._v("If you would like to dive deeper and watch Costas’ presentation, here it is:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/pJFsJW96fuA",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("ul",[r("li",[e._v("We are hiring a community manager as well as a software developer! The full details are here: "),r("a",{attrs:{href:"https://okfn.org/about/jobs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://okfn.org/about/jobs/"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("Interested in giving your feedback on "),r("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues/536",target:"_blank",rel:"noopener noreferrer"}},[e._v("an issue about raster geoinformation"),r("OutboundLink")],1),e._v("?")])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on December 17. You can "),r("a",{attrs:{href:"https://forms.gle/5HeMrt2MDCYSYWxT8",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up here"),r("OutboundLink")],1),e._v(". We’ll discuss using Frictionless data package for the web archive data package (WACZ format) and give some space to talk about geospatial data standards, coping with Covid and showing a member’s platform dedicated to open data hackathons!")]),e._v(" "),r("p",[e._v("As always, there will be time for your updates too. Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/ovdGnNYk7cQ",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/118.dfd2fa17.js b/assets/js/118.6941e951.js similarity index 98% rename from assets/js/118.dfd2fa17.js rename to assets/js/118.6941e951.js index 5ca339b75..11e8223c3 100644 --- a/assets/js/118.dfd2fa17.js +++ b/assets/js/118.6941e951.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{651:function(e,t,o){"use strict";o.r(t);var n=o(29),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Hi everyone,")]),e._v(" "),o("p",[e._v("I am Sara Petti, the new "),o("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data"),o("OutboundLink")],1),e._v(" Community Manager. After a very happy decade in Brussels, I moved to Hamburg, Germany last year in February, just in time to live the global pandemic from a brand-new place. With social life put to a stop, I finally decided to start something I had wanted to do for quite some time: learn to code in order to do data visualisation. Right now I am learning Python slowly but surely and when I am not going bananas over cleaning data I draw comics or experiment fermentation with items in my kitchen (mostly vegetables). So if you are also a passionate breeder of lactobacillus bacteria, we should definitely get in touch!")]),e._v(" "),o("p",[e._v("Back in Brussels I worked with public libraries, developing projects with them, but also advocating for them to be on the EU agenda. Talking with some of the most innovative librarians, I became well aware of the importance of granting free access to information and knowledge to everyone in order to empower citizens and foster democracy. I started to take an interest in the whole open movement, monitoring projects and policy development, and quickly became passionate about it.")]),e._v(" "),o("p",[e._v("I think the real turning point for me was when I got to know an amazing project on opening air quality data developed by some public libraries in Colombia and tried to replicate it in Europe. At that point, I really understood the implications of the open movement: by opening data, citizens are able to gain ownership on compelling subjects for them and to advocate for policy improvement. Sadly more often than not, when data is made available, it is not directly reusable.")]),e._v(" "),o("p",[e._v("Frictionless Data provides tools that improve the quality of open data, making it more useful to society and reusable by a wide range of people. I think that this idea of serving society with a free and open service that people can use to empower themselves is what attracted me at first. Providing those kinds of services with no barriers to entry (and no friction, if you will) should be the purpose of any institution. This is why I am very excited to join the "),o("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),o("OutboundLink")],1),e._v(" team working on this amazing project, doing what I think I can do best: interact with people and create links between them. My plan for the upcoming months is to build a proactive community around this project and engage with them. So if you are interested in knowing more about Frictionless Data, or you are already using our tools and would like to connect, email me: "),o("a",{attrs:{href:"mailto:sara.petti@okfn.org"}},[e._v("sara.petti@okfn.org")]),e._v(" or connect with the project on "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" or "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{722:function(e,t,o){"use strict";o.r(t);var n=o(29),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Hi everyone,")]),e._v(" "),o("p",[e._v("I am Sara Petti, the new "),o("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data"),o("OutboundLink")],1),e._v(" Community Manager. After a very happy decade in Brussels, I moved to Hamburg, Germany last year in February, just in time to live the global pandemic from a brand-new place. With social life put to a stop, I finally decided to start something I had wanted to do for quite some time: learn to code in order to do data visualisation. Right now I am learning Python slowly but surely and when I am not going bananas over cleaning data I draw comics or experiment fermentation with items in my kitchen (mostly vegetables). So if you are also a passionate breeder of lactobacillus bacteria, we should definitely get in touch!")]),e._v(" "),o("p",[e._v("Back in Brussels I worked with public libraries, developing projects with them, but also advocating for them to be on the EU agenda. Talking with some of the most innovative librarians, I became well aware of the importance of granting free access to information and knowledge to everyone in order to empower citizens and foster democracy. I started to take an interest in the whole open movement, monitoring projects and policy development, and quickly became passionate about it.")]),e._v(" "),o("p",[e._v("I think the real turning point for me was when I got to know an amazing project on opening air quality data developed by some public libraries in Colombia and tried to replicate it in Europe. At that point, I really understood the implications of the open movement: by opening data, citizens are able to gain ownership on compelling subjects for them and to advocate for policy improvement. Sadly more often than not, when data is made available, it is not directly reusable.")]),e._v(" "),o("p",[e._v("Frictionless Data provides tools that improve the quality of open data, making it more useful to society and reusable by a wide range of people. I think that this idea of serving society with a free and open service that people can use to empower themselves is what attracted me at first. Providing those kinds of services with no barriers to entry (and no friction, if you will) should be the purpose of any institution. This is why I am very excited to join the "),o("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),o("OutboundLink")],1),e._v(" team working on this amazing project, doing what I think I can do best: interact with people and create links between them. My plan for the upcoming months is to build a proactive community around this project and engage with them. So if you are interested in knowing more about Frictionless Data, or you are already using our tools and would like to connect, email me: "),o("a",{attrs:{href:"mailto:sara.petti@okfn.org"}},[e._v("sara.petti@okfn.org")]),e._v(" or connect with the project on "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" or "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/119.4464f1f2.js b/assets/js/119.fb8a4883.js similarity index 99% rename from assets/js/119.4464f1f2.js rename to assets/js/119.fb8a4883.js index d4e50592c..0a6ee3035 100644 --- a/assets/js/119.4464f1f2.js +++ b/assets/js/119.fb8a4883.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{652:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Have you ever heard a data horror story about Excel automatically changing all numbers into dates without so much as a warning? Have you ever accidentally entered a wrong data value into a spreadsheet, or accidentally deleted a cell? What if there was an easy way to detect errors in data types and content? Well there is! That is the main goal of Goodtables, the Frictionless data validation service, and also the "),t("code",[e._v("Frictionless-py")]),e._v(" "),t("code",[e._v("validate")]),e._v(" function. Interested in learning more about how you can validate your data? Read on to see how the Frictionless Fellows validated their research data and learn their tips and tricks!")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Click on the links below to read the whole blog.")])]),e._v(" "),t("h3",{attrs:{id:"don-t-you-wish-your-table-was-as-clean-as-mine-by-monica-granados-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#don-t-you-wish-your-table-was-as-clean-as-mine-by-monica-granados-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/monica-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Don’t you wish your table was as clean as mine? By Monica Granados"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“How many times have you gotten a data frame from a colleague or downloaded data that had missing values? Or it’s missing a column name? Do you wish you were never that person? Well introducing Goodtables – your solution to counteracting bad data frames! As part of the inaugural Frictionless Data Fellows, I took Goodtables out for a spin.”")]),e._v(" "),t("h3",{attrs:{id:"validando-datos-un-paquete-a-la-vez-by-sele-yang-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validando-datos-un-paquete-a-la-vez-by-sele-yang-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sele-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validando datos un paquete a la vez by Sele Yang"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Yo trabajé con la base de datos que vengo utilizando para el programa que se encuentra en mi repositorio de Github. Es una base de datos geográficos sobre clínicas de aborto descargada desde OpenStreetMap a través de OverpassTurbo….Goodtables es una herramienta muy poderosa, que nos permite contar contar con la posibilidad de validación constante y de forma simple para mantener nuestras bases de datos en condiciones óptimas, no sólo para nuestro trabajo, sino también para la reproducción y uso de los mismos por otras personas.”")]),e._v(" "),t("h3",{attrs:{id:"tabular-data-before-you-use-the-data-by-ouso-daniel-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tabular-data-before-you-use-the-data-by-ouso-daniel-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/ouso-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tabular data: Before you use the data by Ouso Daniel"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“I want to talk about goodtables, a Frictionless data (FD) tool for validating tabular data sets. As hinted by the name, you only want to work on/with tabular data in good condition; the tool highlights errors in your tabular dataset, with the precision of the exact location of your error. Again, the beautiful thing about FD tools is that they don’t discriminate on your preferences, it encompasses the Linux-based CLI, Python, GUI folks, among other languages.”")]),e._v(" "),t("h3",{attrs:{id:"data-validation-of-my-interview-dataset-using-goodtables-by-lily-zhao-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#data-validation-of-my-interview-dataset-using-goodtables-by-lily-zhao-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lily-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Validation Of My Interview Dataset Using Goodtables by Lily Zhao"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“I used goodtables to validate the interview data we gathered as part of the first chapter of my PhD. These data were collected in Mo’orea, French Polynesia where we interviewed both residents and scientists regarding the future of research in Mo’orea….Amplifying local involvement and unifying the perspectives of researchers and coastal communities is critical not only in reducing inequity in science, but also in securing lasting coral reef health.”")]),e._v(" "),t("h3",{attrs:{id:"walking-through-the-frictionless-framework-by-jacqueline-maasch-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#walking-through-the-frictionless-framework-by-jacqueline-maasch-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Walking through the "),t("code",[e._v("frictionless")]),e._v(" framework by Jacqueline Maasch"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“While the GoodTables web server is a convenient tool for automated data validation, the frictionless framework allows for validation right within your Python scripts. We’ll demonstrate some key frictionless functionality, both in Python and command line syntax. As an illustrative point, we will use a CSV file that contains an invalid element – a remnant of careless file creation.”")]),e._v(" "),t("h3",{attrs:{id:"validating-your-data-before-sharing-with-the-community-by-dani-alcala-lopez-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-your-data-before-sharing-with-the-community-by-dani-alcala-lopez-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/dani-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating your data before sharing with the community by Dani Alcalá-López"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Once we have decided to share our data with the rest of the world, it is important to make sure that other people will be able to reuse it. This means providing as much metadata as possible, but also checking that there are no errors in the data that might prevent others from benefiting from our data. Goodtables is a simple tool that you can use both on the web and in the command-line interface to carry out this verification process”")]),e._v(" "),t("h3",{attrs:{id:"goodtables-blog-by-sam-wilairat-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#goodtables-blog-by-sam-wilairat-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sam-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Goodtables blog by Sam Wilairat"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Now let’s try validating the same data using the Goodtables command line tool! ….Once the installation is complete, type “goodtables path/to/file.csv”. You will either receive a green message stating that the data is valid, or a red message, like the one I have shown below, showing that the data is not valid!”")]),e._v(" "),t("h3",{attrs:{id:"using-goodtables-to-validate-metadata-from-multiple-sequencing-runs-by-kate-bowie-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-goodtables-to-validate-metadata-from-multiple-sequencing-runs-by-kate-bowie-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/kate-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using goodtables to validate metadata from multiple sequencing runs by Kate Bowie"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Here, I will show you how I used a schema and GoodTables to make sure my metadata files could be combined, so I can use them for downstream microbial diversity analysis….It’s extremely helpful that GoodTables pointed this ### [error] out, because if I tried to combine these metadata files in R with non-matching case as it is here, then it would create TWO separate columns for the metadata….Now I will be able to combine these metadata files together and it will make my data analysis pipeline a lot smoother.”")]),e._v(" "),t("h3",{attrs:{id:"reflecting-on-datafication-data-prep-and-utf-8-with-goodtables-io-by-anne-lee-steele-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reflecting-on-datafication-data-prep-and-utf-8-with-goodtables-io-by-anne-lee-steele-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reflecting on ‘datafication’, data prep, and UTF-8 with goodtables.io by Anne Lee Steele"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Before I knew it, it was 2021, and revisiting my data in the new year has made me realize just how much time and efforts goes into cleaning, structuring, and formatting datasets – and how much more goes into making them understandable for others (i.e. through Frictionless’ data-package). I’d always thought of these processes as a kind of black box, where ‘data analysis’ simply happens. But in reality, it’s the fact that we’ve been spending so much time on preparatory work that points to how important these processes actually are: and how much goes into making sure that data can be used before analyzing it in the first place.”")]),e._v(" "),t("h3",{attrs:{id:"validate-it-the-goodtables-way-by-evelyn-night-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validate-it-the-goodtables-way-by-evelyn-night-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validate it the GoodTables way! By Evelyn Night"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Errors may sometimes occur while describing data in a tabular format and these could be in the structure; such as missing headers and duplicated rows, or in the content for instance assigning the wrong character to a string. Some of these errors could be easily spotted by naked eyes and fixed during the data curation process while others may just go unnoticed and later impede some downstream analytical workflows. GoodTables are handy in flagging down common errors that come with tabular data handling as it recognises these discrepancies fast and efficiently to enable users debug their data easily. ”")]),e._v(" "),t("h3",{attrs:{id:"using-the-frictionless-framework-for-data-validation-by-katerina-drakoulaki-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-the-frictionless-framework-for-data-validation-by-katerina-drakoulaki-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using the frictionless framework for data validation by Katerina Drakoulaki"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Thus, similar to what the data package creator and "),t("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),t("OutboundLink")],1),e._v(" does, frictionless detects your variables and their names, and infers the type of data. However, it detected some of my variables as strings, when they are in fact integers. Of course, goodtables did not detect this, as my data were generally -in terms of formatting- valid. Not inferring the right type of data can be a problem both for future me, but also for other people looking at my data.”")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[119],{651:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Have you ever heard a data horror story about Excel automatically changing all numbers into dates without so much as a warning? Have you ever accidentally entered a wrong data value into a spreadsheet, or accidentally deleted a cell? What if there was an easy way to detect errors in data types and content? Well there is! That is the main goal of Goodtables, the Frictionless data validation service, and also the "),t("code",[e._v("Frictionless-py")]),e._v(" "),t("code",[e._v("validate")]),e._v(" function. Interested in learning more about how you can validate your data? Read on to see how the Frictionless Fellows validated their research data and learn their tips and tricks!")]),e._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[e._v("TIP")]),e._v(" "),t("p",[e._v("Click on the links below to read the whole blog.")])]),e._v(" "),t("h3",{attrs:{id:"don-t-you-wish-your-table-was-as-clean-as-mine-by-monica-granados-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#don-t-you-wish-your-table-was-as-clean-as-mine-by-monica-granados-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/monica-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Don’t you wish your table was as clean as mine? By Monica Granados"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“How many times have you gotten a data frame from a colleague or downloaded data that had missing values? Or it’s missing a column name? Do you wish you were never that person? Well introducing Goodtables – your solution to counteracting bad data frames! As part of the inaugural Frictionless Data Fellows, I took Goodtables out for a spin.”")]),e._v(" "),t("h3",{attrs:{id:"validando-datos-un-paquete-a-la-vez-by-sele-yang-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validando-datos-un-paquete-a-la-vez-by-sele-yang-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sele-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validando datos un paquete a la vez by Sele Yang"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Yo trabajé con la base de datos que vengo utilizando para el programa que se encuentra en mi repositorio de Github. Es una base de datos geográficos sobre clínicas de aborto descargada desde OpenStreetMap a través de OverpassTurbo….Goodtables es una herramienta muy poderosa, que nos permite contar contar con la posibilidad de validación constante y de forma simple para mantener nuestras bases de datos en condiciones óptimas, no sólo para nuestro trabajo, sino también para la reproducción y uso de los mismos por otras personas.”")]),e._v(" "),t("h3",{attrs:{id:"tabular-data-before-you-use-the-data-by-ouso-daniel-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#tabular-data-before-you-use-the-data-by-ouso-daniel-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/ouso-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tabular data: Before you use the data by Ouso Daniel"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“I want to talk about goodtables, a Frictionless data (FD) tool for validating tabular data sets. As hinted by the name, you only want to work on/with tabular data in good condition; the tool highlights errors in your tabular dataset, with the precision of the exact location of your error. Again, the beautiful thing about FD tools is that they don’t discriminate on your preferences, it encompasses the Linux-based CLI, Python, GUI folks, among other languages.”")]),e._v(" "),t("h3",{attrs:{id:"data-validation-of-my-interview-dataset-using-goodtables-by-lily-zhao-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#data-validation-of-my-interview-dataset-using-goodtables-by-lily-zhao-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lily-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Validation Of My Interview Dataset Using Goodtables by Lily Zhao"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“I used goodtables to validate the interview data we gathered as part of the first chapter of my PhD. These data were collected in Mo’orea, French Polynesia where we interviewed both residents and scientists regarding the future of research in Mo’orea….Amplifying local involvement and unifying the perspectives of researchers and coastal communities is critical not only in reducing inequity in science, but also in securing lasting coral reef health.”")]),e._v(" "),t("h3",{attrs:{id:"walking-through-the-frictionless-framework-by-jacqueline-maasch-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#walking-through-the-frictionless-framework-by-jacqueline-maasch-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Walking through the "),t("code",[e._v("frictionless")]),e._v(" framework by Jacqueline Maasch"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“While the GoodTables web server is a convenient tool for automated data validation, the frictionless framework allows for validation right within your Python scripts. We’ll demonstrate some key frictionless functionality, both in Python and command line syntax. As an illustrative point, we will use a CSV file that contains an invalid element – a remnant of careless file creation.”")]),e._v(" "),t("h3",{attrs:{id:"validating-your-data-before-sharing-with-the-community-by-dani-alcala-lopez-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-your-data-before-sharing-with-the-community-by-dani-alcala-lopez-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/dani-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating your data before sharing with the community by Dani Alcalá-López"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Once we have decided to share our data with the rest of the world, it is important to make sure that other people will be able to reuse it. This means providing as much metadata as possible, but also checking that there are no errors in the data that might prevent others from benefiting from our data. Goodtables is a simple tool that you can use both on the web and in the command-line interface to carry out this verification process”")]),e._v(" "),t("h3",{attrs:{id:"goodtables-blog-by-sam-wilairat-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#goodtables-blog-by-sam-wilairat-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sam-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Goodtables blog by Sam Wilairat"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Now let’s try validating the same data using the Goodtables command line tool! ….Once the installation is complete, type “goodtables path/to/file.csv”. You will either receive a green message stating that the data is valid, or a red message, like the one I have shown below, showing that the data is not valid!”")]),e._v(" "),t("h3",{attrs:{id:"using-goodtables-to-validate-metadata-from-multiple-sequencing-runs-by-kate-bowie-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-goodtables-to-validate-metadata-from-multiple-sequencing-runs-by-kate-bowie-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/kate-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using goodtables to validate metadata from multiple sequencing runs by Kate Bowie"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Here, I will show you how I used a schema and GoodTables to make sure my metadata files could be combined, so I can use them for downstream microbial diversity analysis….It’s extremely helpful that GoodTables pointed this ### [error] out, because if I tried to combine these metadata files in R with non-matching case as it is here, then it would create TWO separate columns for the metadata….Now I will be able to combine these metadata files together and it will make my data analysis pipeline a lot smoother.”")]),e._v(" "),t("h3",{attrs:{id:"reflecting-on-datafication-data-prep-and-utf-8-with-goodtables-io-by-anne-lee-steele-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reflecting-on-datafication-data-prep-and-utf-8-with-goodtables-io-by-anne-lee-steele-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reflecting on ‘datafication’, data prep, and UTF-8 with goodtables.io by Anne Lee Steele"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Before I knew it, it was 2021, and revisiting my data in the new year has made me realize just how much time and efforts goes into cleaning, structuring, and formatting datasets – and how much more goes into making them understandable for others (i.e. through Frictionless’ data-package). I’d always thought of these processes as a kind of black box, where ‘data analysis’ simply happens. But in reality, it’s the fact that we’ve been spending so much time on preparatory work that points to how important these processes actually are: and how much goes into making sure that data can be used before analyzing it in the first place.”")]),e._v(" "),t("h3",{attrs:{id:"validate-it-the-goodtables-way-by-evelyn-night-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validate-it-the-goodtables-way-by-evelyn-night-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validate it the GoodTables way! By Evelyn Night"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Errors may sometimes occur while describing data in a tabular format and these could be in the structure; such as missing headers and duplicated rows, or in the content for instance assigning the wrong character to a string. Some of these errors could be easily spotted by naked eyes and fixed during the data curation process while others may just go unnoticed and later impede some downstream analytical workflows. GoodTables are handy in flagging down common errors that come with tabular data handling as it recognises these discrepancies fast and efficiently to enable users debug their data easily. ”")]),e._v(" "),t("h3",{attrs:{id:"using-the-frictionless-framework-for-data-validation-by-katerina-drakoulaki-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-the-frictionless-framework-for-data-validation-by-katerina-drakoulaki-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-goodtables-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using the frictionless framework for data validation by Katerina Drakoulaki"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Thus, similar to what the data package creator and "),t("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),t("OutboundLink")],1),e._v(" does, frictionless detects your variables and their names, and infers the type of data. However, it detected some of my variables as strings, when they are in fact integers. Of course, goodtables did not detect this, as my data were generally -in terms of formatting- valid. Not inferring the right type of data can be a problem both for future me, but also for other people looking at my data.”")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/12.d9fb47fc.js b/assets/js/12.cf4a7327.js similarity index 97% rename from assets/js/12.d9fb47fc.js rename to assets/js/12.cf4a7327.js index 48b4791c1..d24d23ed2 100644 --- a/assets/js/12.d9fb47fc.js +++ b/assets/js/12.cf4a7327.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{452:function(t,a,e){t.exports=e.p+"assets/img/dp-creator.b5d3af77.png"},453:function(t,a,e){t.exports=e.p+"assets/img/dp-creator-filled.325fa9a7.png"},454:function(t,a,e){t.exports=e.p+"assets/img/try-goodtables.13d08c7b.png"},455:function(t,a){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApkAAADICAMAAACUPAobAAACjlBMVEX////u7u7MzMzl5eXg4ODq6uqqqqpERET19fXy8vL//v7x8fHw8PD09PT9/Pz9HA0UFBT+/f0aGhoXFxfy8fA2Njb5+flgYGAsLCzs7OxXV1f6+vr4+Pjp6elVVVXn5+fr6+tHR0etra0iIiIeHh79IBA5OTlQUFAyMjIvLy80NDQxMTH+OyMREREQEBA9PT3+Qyn+PSX9GAr7+vonJyf9LBnNzc3+bVdeXl7+XkT+QCfR0dHkVDz+TDDPz8+GhYT+RStRUVHe3t4gICDY2NjKysrT09NZWVnc3NxcXFxjY2NMTEz7+/vCwsLa2trW1tYlJSVJSUmwsLCQkJD9IxKLi4uTk5NxcXFPT08qKir+OCH9KBa5ubn9JRTIyMiEhIR4eHhFRUWIiIj+NR/j4+O9vb2goKD9MBykpKSWlpZ0dHRlZWX+Mx3ExMSGhobHx8fk5OSdnZ17e3tra2v39/dnZ2dtbW2zs7OBgYFubm63tra1tbV+fn6/v7+np6eYmJhpaWmNjY3m5uZ3d3fDLBr+9PPd3d2ZmZl9fX1mZmb45OKysrK7u7v9NiX77ez20c6srKztl492dnb8ZFU7Ozv9Ry7uNSDX19fxX0//+fn/4t/uv7v5gXJAQEDvRS8AAADv2NT/19T9w73yV0b+UzvbLx33albzTjz1SDfnMh7i4uLyraXnq6Xsg3nPXFH4Qi3nQizmOyb1Mx3OLhv22dbij4fhWEroTTbrKBi+KBbTIBL23dvinZbkdGbYbWTsaFf8ZE3MTD7DNynjLRv3KRf4s63+q6T8kYjziH3gfHH8dmj8VUPUNCPjzszfycbYs7DFraqzo6D1p5vMioD9W0/9TkD5VD39RjjxIhP1GAq7ZrOuAAATpUlEQVR42uzc2VNSURzA8d+PQqppGV9iThMXaqa3HqoZ6JatTkjQUJOCNqLlaKKVW1aYllkmlhSaOZDbOFqm2Wr7vu/7vv03HQguNNVUejVrfp8H77mHnz59h+UCwhAwAgn51kYYAkbEGxSERDPEj4C/b2lC9XBColUnVMPfZxiu1SjJP0/Tf9Kf0g6fB3+fQsuQ/OtY+5vWW51z+67zVuub9nAJTKuAv0+hQfKPY8pW36m2i3P642LbKV+rMtSmZkiUqUTyb2PtH9ouNnZ1zeyPrq7Gi20fQnebSiqT9B875us91DCrc65vQd/55nbOajjU6zvGqEwiD9bu622c5ZvWf75Zjb2+dkZlElmwrtOHOmeHVQWd9c/uk85Dp7sGvszlqqBF41ULYaRqApX5f2Lt/u7O6RIPcLHnTk6d3iedF/3tbODLFC1c/B+UaRTxD8SZ8FeWCeVIBhRrPf10aoQHmpub3VDbNrVvnp5uHYQyiyBg1IgRfSkzpUyGMofvSkAykBg70jY1NcIDjampviboSj1ztqrqcGrqmctnD1dV+XuCJ6l8edbPD5d7UlPP8h+hoYjpbUcYG6QyeZVfyzyascK8ZiJAhmqLXGWSv43p/KeyovAys7LOXIWGvNstbs+1Z1ndUHe+9uqNGx738Z6sZ8c97rqT/qz78DgrrwWehIeiHPHrBrvMMQuXb61RFfyszHk7zRklIj9mmNX2YbhWECrCa2Pp3lJ+lG7DpZvNmxKDZe4R46TdZcXi1jQX4uodFnVyJQbohEVY5jKVWhEXbxa3O3V8J263ef8yJPJgyp7peVE8cPLy5duxTVNP1zYd7IDjZ7oB3M3QNKojFq7766D5YCxcyHsCLXl+d9P08FBexKke5cCXGWCXytynqhjNBJUSUDvi+zJXi3bjZLOIuGGVMduSi7qUEhZeG80uq3VDgXSbcrtdsU0w8jKzzSulXW1NkiFG7UJWvMpoLc0Ml7lMyFUkiUzn2qzYa3HynYx8RUoBErnKvJuVE8UDAbU3c07AtTt3aqGtG8YuyKuFRzn1UH8TznlzWqElx+t2+y/AQWkoJ8J7dxDKVNfU1DilMu2qIMOPn2fGbOLHXSIqc6sRk5ICj+bS2igUIiqE6vD5XosGMXlPnKnQlI3SVFmNEnGHC+eZtXzaxEJllpuKcFia1moehlii5jsliJNTkMhWpj6aB5o7miH2vP4YBDV0wzm9vg4O6U9A/SOo1+u94NHr78OF8/BEGtJH5PAyB/nRPFPlNHDsx2Um2xGxXETUFMZkmoJlSmujwGeYuTB87tyKAXGC2rwNpan18/k60YVlglqtFoXqUJnDUtTJVoYx+xHxgLBaJyQgplGZ8pXZe++bMnmD+ga4yqOrb2hobDx1BOoCZXaHynToe6BWr58J9S1jvdKQPuJe76CXmatyAqzMHvnjR/M1oTKL1qbkFiYHy5TWxgksUGZ++Ny5OVRm2mTzcGlqV8HXMku2Lw5QhspEVphsKY0PlrlIGM53qEwZMd31e44ovEyHwwu1jodw/sqVkze8vEyHg5fp4GU2wLmqK4/hoMOR4z7XxA/hIUfEvceD/goIl0yyF6vWxf74FdDkTfy4XsRsUYOYGSxTWhsFBaJBWBo+L7Moecq5cSbUlSZLU3tqdIhJLt5xPKIxiYXKzI9B1FhKrOYixDI1ozLlxdjzS+lReJnp6V6AS1530/EW6HDwMtPT6+BIOi+TH6+2xMI7PncfoJUPhobSIy49H/yrRktTlizMRPhxmUWiXZFoEdEqlBRWTMiIx7XO1eG1USjNt7pWSbdp1+0wJE7I52VivhAX3q20JBkS15UiW1tsLN9QgRhTEnyeOSFxXqLJoNuwWZFtcSKVKTOmuWCL0gxPbbZ0N8y0vT/orn3gtX2EDputAz7aWuGhLetBs7vunY2bCbFefggNRbmgYUPsfXN+1WhnoYisQly3xrAuEfeJ68Nro5i2QbSvjty2bLd5+9erRriqWNqN2ykWpBUjxmeqLRUaxP0FgQ6Zs8bk2hO40iRucuqoTLkx3YtLU+Rz6YVuqJX5nT9907Laiojb7BhNyTskA4tpXn4aJ5dPLzX/0meNfq/MpRP2xK+0WDGKLltYjGRgMaZ5dVimMA+/0rD/r0zMLjVtj2EYZaWlgr5kNOAYqyy7/XlG/30+WVbJ6JPDRM40ja/fXr95a1bf3bp5/e1rYyWjb1sQWdPUVSaUp03uj7TyhEodY0hlEjkxHqcyQNcHod9kgS6HUJnztEj+A+wreX5XOxT+E0LRIrrTJN/SLKqEIaBynoKQaHFaIIQQQgghhBBCCCGEEEIIIYQQQgghhBBCyBf27u8nbSiKA/jtxJ4LapO+lEgLHbz4HzQkJCw1QoXKCDVIHwiIUaMSdSD4Y1OnW7K5uIdlL/sf9lfuUrg6YcvGIstg55PYY869t8T0a0pJaBFCCCGEEEIIITS+WjlHnADCQ/qXQ42gcda6TbfIBBCFPk9fKQSNscoSmQii0G/zX7gFCvpjtxNy0hOFAScEjTGRTAZRGDApf9p/alIOHyZz0kzK4cNkTppJOXyYzL+o9f7KPtpWya8oYP6sj8lEj28+C2ACtP1/kswg6EMnk+62f+M/IXTLNvNWc4X8DIVp8r20S37Icsj3kiYmczwU4UonU3XYJb8QoPSHyWT9YZIZjscdI2a1/b9Opj9b0ggm8z81DbU3rCxDza9DsBJcnr9xSyewRkilXTDPw4R1X8bd6xXv2X0idDh87AoA8p0+8a9a9nGK3M3mT/cbTGa1Pce2Qmb3l8lsnbGp/1oy5zsqHYdv5j2YzNFIwZVXM5DXIWLC8zac7UVZMvVC9HMWzokO0VoW4JWXzMNqtQlQ5mOpCDiznb58DPH1GiTuZv80mW/A8OpWdC6dzWXNAxY+/4ZprraIBMt79vEmT6bUjAvkvhluupltiVxtExKvE9I4ZsnkK8nzM7tUZsnc3HM/XwT5Hh8k03sg5jPKkpnLLlRnCPkYLGRTQycz3PFqg3n9IuzBZI7GCdx4tQRbOkuUvwLHcqDKkmmsfyI6WOwHFkkDrr1kEhI4gD2pN+adzb1+CrIKuYX1+9l9T5EWAz37Ucmrs5BP2MHKYfw8IO8186lsNbACZ0a6fhrwhJwi5FnlzZVgM52LbAcaewGhBv5AaZtCmK+ccZ+lY7Yb0ELFLzEzeLdHjxXr1vh5Yj+yE0jW6kkj+Dbgg5180ZUCwxF1z+XGRjGtd2EyR6MCR16NQ1rvRE+EbUIuWDKJb+cmwjo6ZAjJwUEvmTEICXzsPpmfoEHYL9b97D6i3BPLyF32xwQYspyG8JJNWS2sqPBSlp0PsieUyWRPWeXNQ9svy2VTNmxlv2RVtEJiDnS+MmYpsrzryuUQqxtBmfflDivmFW1nWpaLRdmAtCznYWq/MCP7t6g8HHHK86W44Uz1YDJHIww1nZXF7vtMQnZ4MhM1t+iw0Hnd/V4yWTf6hfCxgWRG7mf3EaWei4LqVT8YyZomSSsFo1wzTXMBdAWeS9LHD5InFHqRhpwk8aZ4zJo+EGgh3Xj9rJGwNT/ofOXqMzaYc6XGDatOUOJ9qcOKSZ6WcXlaKEpGVGWvaldm2uZqRZWGJG52OdfvNnswmSNyAGdPid6G1W6qLqCtyucsmbtwSXL9yQyb3rtHPsaSOXV/Nj+Bz3ezB87mas8ypL26D9Msmaqq2JVXmakO2oJFVf1YVz2hmKquRQSVN8Uj1vTBU/XtZenCKV021RmY4ivXqmww56q756w6QZX31Q7rk1eE9oft1HVRfRJlr6oVDFVJFSNBXR2O6OtaSvk4TOaITMcBTIC60E2VEoJ4FlgyL8G8WYDIw2RWwT44ONjiY6QNG9OdvnzEr4D47P4rIKVHe3s2w4qQPVAMSChKGr4mo7qiGEWNwqKilOuKJxRTlFmrqPDmvi0oyktTUy7f2uws/lZUZuEFXylaVFFeu8pJpxbjCu8rHZbolYuFOUU5LSopSLKxml5h7bnIiTIccXEAJnMU+CffVw2NdFNFfCX76pIlkzbtD0YIlh4kswkdr/kY2TL5p0bXln1skJ8nU+MWQ9nYoWjFpzQDspX9eFNrXZWMi8xaJ5maVq5rnlCMbXKQ4k0aX09uRRqalq9lNLpQe64JsMlXzrvVpBNxNcHcSMdCwbs9eqy1JPPiEE5Sa9EzPWUHD3OZZ1ou6qRj0YQ2HHF5ACbz75jN+wgpwzZ5XCK9E77O2u1dgdIn7sv4wmmY0hfnZmRthvphmdJynXoiMcqcZp7ypm/dtd77KZ0zq5Suhyidh698JU0c2UeHLqX5I7dZPqO877GgY5uuuZHVZChWqZ/EzaJAaSNSiDt0SOLzAZjMv8NXi17uRGpLI0hmv5RLH9nXHNvsVOnoiEsDMJl/SeXYdksp8sjEuUEpd+6RvYs6m5XIxdzoiPkBmMyxJvoHVVz/YysHC5mdGf/oiOl+mMzxJvpnJoKY6IfX5uPtVpidCGKyT2Iev6E21ipLrVlhAojGA8klmk8RNMY0Jz0h3+t9iCZO8E4I441Oxt1j+jn7E3HrEYQQQgghhBBCCCGEEEIIIYQQQgh9Y+/+XpMK4ziOf2zVV08lCJHMxVN20x8ghBA4JpubP4eNrV3ISklJw5VtLhe2MiEXeSHd7LL7/sqO52hhY2O76Zzz9HnBpudSvm88z4N6DhERERERERERERER0WV9TlzRyu2J+9dAXvZzTbNfv8amCnMgD0vkoJffYS4+BnnYFWgmFrttWVzU7qX9X7QbH8vUhHbjY5ma0G58LFMT2o2PZWpCu/GxTEfVZAPAsqh9WZq5A39S9v4cBCQyfmSZ9M+sSRrAkWzcuVCZYbnHMulfMFZlDmjII8Pvx5T53CpzemCVaT5esMxnSqnI0zwsb5RX58oynVWXb7hb3M6N40NiL6sq81aIZpktFX4P62D690lE1t/KA6Aipend/U6X2VtbWx+oE4zdrL3AXxp5eEEsNvgxxjKdkZAurkjFCs+XjXbb0piUWc4eliU/U+aKkic3h9KHoaK3zi6zBcA4fIkJz5Z5e5zmgGU6I7i0nRtI0w5PPgVyu89CdpmyjKoczJRpnc1vFaP+pBxbd5E+u0z0W0GV/H49qO7t1gFs1pE8Toc3/OgrVUNgKxMeuPsrIGaZZpoDns2dUpFUO7tvv2duS7kxsp8nJQ6EokXjVJnoSPO6DM9ZZw6CQX9JvQ6q/vWrZpnVVyHcTT/GQeVkJTNCsPEhZHQqy4mnPbiZtc4ccJ3pmKZsSAd2eDdqYZH0gl1mBjCK0dDpMvPS6xdvnbsDMrWMoBoCZpmBSAE7mWBuNA/U69bZ/Ev6DlBYDcHFuANy2H6xLEO7zPxmE8m0pCbrzDkk5BX+KnMOuJtVxS6ss/mZO6AvgXGUSatMdI6w1QIWUt96q3aZeRU2qXm4GMt0WlfKAUzWmdnOsRR9dpkS2d2W0myZbalcA3ZFqsD5OyBYUdr/So1cvAB/vzFKDewyq3vzY67+SifLdFpJ+oAdXqmdzR4+wuRsvvkw/cCYLbO6JOvAjhT9lynTp4Z7BnbCC0DPLnM54gNOPhpwMZbpPQXpwHaxMvE2fAQkVDVVixz78P0oYDzvnqwc1OBmLNNzRnFpXq7Md+oFYNTiX1uFdgnv4y/h64UztQW4Gcv0nIPIVoifm5NXaDc+lqkJ7cbHMjWh3fhYpia0G9/vMre0e2n/l4S7d9qXF6suWurrvBKCp73R7eoxU/7CZ5CX6XbFranH90BERERERERERES/2KVjlYahMAzDBxwCGQoOwbiUlkho7NAlQ1c5Q4V0yHpG78B7ELwA6VV4ldZByFia00WeB374+eYXAAAAAAAAAID/7I5sHu/IJgAAAAAAAAAAAAAAwBXK2QJkV66+ht0sw8dKm+RWvu/aYj1L0e6+A+R1v2wP+4dZ9od2GSCrclEth1M7y2l4qQJkVR6362q29SZA5jK7tpqt7QLkLvM5A2WSvcx6k0EdIHeZ2wyUSfYyUzdRN013jRQgc5l9PfEWFvUlmpjqqT7ALcssLizzMxTK5JbK45gmzmWm/imOMY7na/7+dNbEGPv0u/QxvoZTnybGwE87ddPSRhDHcfwXG9i6NEt2F6k1D63MYFVIvCxLYSGHjtINbrYjQhovaQMGkpaWYhQURMWD+AIET/teHR8OcxIhs/Hy/9yG+R2//InhMlmgyeAEy2jtfojf/yi+G8ketv7Vvp7KIFgb7c/PtaVaxF/iFEA90DAQkn+ZKO2jYqcuJj1US2EFJ4EMUey4qKvFpwJOazheoDJJjuxESM0GHDlAshB8xE85Rncb9racIJJtbO7JawzVAgerezE2pE6AEMNlcqa5gcMsfGcswg67xngHm4zJ5JAdo8vYGt6oxaXaxbhhOg5C8i8zui9z8FSmYKLyVpW5K9giamoRU5kkf3biCY0qU2SIhIhgiQN0l+Fm3h+Eoo1b4f1GRy1StUuxwoXGAyGmy+SaFTg8Q4vzFiz+WOZ8v4ILLkJcDV3U1SJVuwhn61xDZZJZlBmp9B7KHA+wdV4o/lI/i6P/pblv94tYvSYF9KhMkiM78b1nWOh7L+GDkFmWmVGZ5HXYSdl/hoW+/xJlEDLLMhUqk7wGO2mUDWiAENM30wS6mcR4mavNxtSa6yDEKNvplJtT80MQYpZb/Xux9HkqS0fD6h2MR7S77s5NUgAAAABJRU5ErkJggg=="},456:function(t,a,e){t.exports=e.p+"assets/img/datahub-dataset.aa0e87ca.png"},591:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("In this section, we will walk through the process of publishing, using a dataset of the periodic table of elements as an example. We will define its metadata by creating a data package, describe the structure of the CSV using a Table Schema, validate it on Goodtables, and finally publish to a public CKAN instance. Let’s start.")]),t._v(" "),o("p",[t._v("First, let’s look at the data. It is available as a CSV file on "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("this link"),o("OutboundLink")],1),t._v(". The first five rows look like:")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("atomic number")]),t._v(" "),o("th",[t._v("symbol")]),t._v(" "),o("th",[t._v("name")]),t._v(" "),o("th",[t._v("atomic mass")]),t._v(" "),o("th",[t._v("metal or nonmetal?")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("1")]),t._v(" "),o("td",[t._v("H")]),t._v(" "),o("td",[t._v("Hydrogen")]),t._v(" "),o("td",[t._v("1.00794")]),t._v(" "),o("td",[t._v("nonmetal")])]),t._v(" "),o("tr",[o("td",[t._v("2")]),t._v(" "),o("td",[t._v("He")]),t._v(" "),o("td",[t._v("Helium")]),t._v(" "),o("td",[t._v("4.002602")]),t._v(" "),o("td",[t._v("noble gas")])]),t._v(" "),o("tr",[o("td",[t._v("3")]),t._v(" "),o("td",[t._v("Li")]),t._v(" "),o("td",[t._v("Lithium")]),t._v(" "),o("td",[t._v("6.941")]),t._v(" "),o("td",[t._v("alkali metal")])]),t._v(" "),o("tr",[o("td",[t._v("4")]),t._v(" "),o("td",[t._v("Be")]),t._v(" "),o("td",[t._v("Beryllium")]),t._v(" "),o("td",[t._v("9.012182")]),t._v(" "),o("td",[t._v("alkaline earth metal")])]),t._v(" "),o("tr",[o("td",[t._v("5")]),t._v(" "),o("td",[t._v("B")]),t._v(" "),o("td",[t._v("Boron")]),t._v(" "),o("td",[t._v("10.811")]),t._v(" "),o("td",[t._v("metalloid")])])])]),t._v(" "),o("p",[t._v("As we can see, there are some numeric fields, both integers (atomic number) and floating point (atomic mass), and others are textual with strings. Our first objective is to describe the metadata by creating a Data Package, and its contents by creating a Table Schema.")]),t._v(" "),o("h2",{attrs:{id:"step-1-package-our-data-as-a-data-package"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-1-package-our-data-as-a-data-package"}},[t._v("#")]),t._v(" Step 1. Package our data as a Data Package")]),t._v(" "),o("p",[t._v("The easiest way to create a data package is using the "),o("a",{attrs:{href:"https://create.frictionlessdata.io/",title:"Data Package Creator",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),o("OutboundLink")],1),t._v(". It provides a graphical interface to describe the data package’s metadata, add resources, and define the schema for tabular resources. This is what you should see when you first open it:")]),t._v(" "),o("p",[o("img",{attrs:{src:e(452),alt:"Data Package Creator"}}),o("br"),t._v(" "),o("em",[t._v("Data Package Creator")])]),t._v(" "),o("p",[t._v("The left side bar contains the metadata for the Data Package as a whole, and the main part on the right contains the metadata for each specific resource.")]),t._v(" "),o("p",[t._v("Let’s add our CSV resource. On the main section of the page, fill the inputs with:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Name")]),t._v(": periodic-table")]),t._v(" "),o("li",[o("strong",[t._v("Path")]),t._v(": "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv"),o("OutboundLink")],1)])]),t._v(" "),o("p",[t._v("Resource and data package names must be unique, lowercase, can contain only letters, numbers, and the characters “.”, “-” and “_”.")]),t._v(" "),o("p",[t._v("And click on the "),o("em",[t._v("Load")]),t._v(" button. After a few seconds, a new box should appear with the text “Add all inferred fields (data has 5 extra column(s))”. Click on it, and the fields will be created, with their data types and formats inferred from the data. This saves us time, as we don’t need to start from scratch.")]),t._v(" "),o("p",[t._v("The Data Package Creator got almost all data types correctly, except the {atomic mass} column. It inferred the column as having integer values, but as we can see from the data, the numbers aren’t whole, they have floating points. Just change the type to "),o("strong",[t._v("number")]),t._v(", and that’s it.")]),t._v(" "),o("p",[t._v("You can view a sample of the data in each column by hovering the mouse below its name.")]),t._v(" "),o("p",[t._v("Usually, we would now add titles and descriptions to each field. However, as this is a simple dataset, the field names should be enough. In the end, the fields are:")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Data type")]),t._v(" "),o("th",[t._v("Data format")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("atomic number")]),t._v(" "),o("td",[t._v("integer")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("symbol")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("name")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("atomic mass")]),t._v(" "),o("td",[t._v("number")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("metal or nonmetal?")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])])])]),t._v(" "),o("p",[t._v("We can add more information about this resource by clicking on the gear icon to the left of the “Load” button. Add the following information:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Title")]),t._v(": Periodic table")]),t._v(" "),o("li",[o("strong",[t._v("Profile")]),t._v(": Tabular Data Resource")]),t._v(" "),o("li",[o("strong",[t._v("Format")]),t._v(": csv")]),t._v(" "),o("li",[o("strong",[t._v("Encoding")]),t._v(": (blank)")]),t._v(" "),o("li",[o("strong",[t._v("Description")]),t._v(": (blank)")])]),t._v(" "),o("p",[t._v("After this, we’re only missing metadata for the data package as a whole, available on the left side bar. Add:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Name")]),t._v(": periodic-table")]),t._v(" "),o("li",[o("strong",[t._v("Title")]),t._v(": Periodic table")]),t._v(" "),o("li",[o("strong",[t._v("Profile")]),t._v(": Tabular Data Package")]),t._v(" "),o("li",[o("strong",[t._v("Description")]),t._v(": Periodic table of chemical elements")]),t._v(" "),o("li",[o("strong",[t._v("Home Page")]),t._v(": "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table"),o("OutboundLink")],1)]),t._v(" "),o("li",[o("strong",[t._v("Version")]),t._v(": 1.0.0")]),t._v(" "),o("li",[o("strong",[t._v("License")]),t._v(": CC0-1.0")]),t._v(" "),o("li",[o("strong",[t._v("Author")]),t._v(": (blank)")])]),t._v(" "),o("p",[o("img",{attrs:{src:e(453),alt:""}})]),t._v(" "),o("p",[t._v("Let’s validate the data package, to ensure we haven’t missed anything. Just click on the "),o("em",[t._v("Validate")]),t._v(" button on the bottom left, and you should see a green message “Data package is valid!”. This means that the data package is valid, but not necessarily its contents (we’ll check them in the next step).")]),t._v(" "),o("p",[t._v("Save the data package by clicking on the "),o("em",[t._v("Download")]),t._v(" button. This will download a “datapackage.json” file that contains everything we added here. Our next step is to use it to validate the data.")]),t._v(" "),o("h2",{attrs:{id:"step-2-validate-our-data-package-and-its-contents"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-2-validate-our-data-package-and-its-contents"}},[t._v("#")]),t._v(" Step 2. Validate our data package and its contents")]),t._v(" "),o("p",[t._v("We now have a data package with our CSV file, including with a table schema describing the contents and types of its columns. Our final step before publishing is validating the data, so we can avoid publishing data with errors. To do so, we’ll use goodtables.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Goodtables"),o("OutboundLink")],1),t._v(" is a tabular data validator that allows you to automatically check for errors such as blank headers, duplicate rows, data with the wrong type (e.g. should be a number but is a date), and others. As it supports data packages, we can simply load the one we created in the previous step. Let’s do it.")]),t._v(" "),o("ol",[o("li",[t._v("Go to "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://try.goodtables.io"),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("On the "),o("em",[t._v("Source")]),t._v(" input, click on the "),o("em",[t._v("Upload File")]),t._v(" link.")]),t._v(" "),o("li",[t._v("Click on "),o("em",[t._v("Browse…")]),t._v(" and select the "),o("em",[t._v("datapackage.json")]),t._v(" file you downloaded in the previous step")]),t._v(" "),o("li",[t._v("Click on "),o("em",[t._v("Validate")])])]),t._v(" "),o("p",[t._v("After a few seconds, you should see:")]),t._v(" "),o("p",[o("img",{attrs:{src:e(454),alt:"try.goodtables"}}),o("br"),t._v(" "),o("em",[t._v("try.goodtables")])]),t._v(" "),o("p",[t._v("This means that:")]),t._v(" "),o("ul",[o("li",[t._v("The data package is valid")]),t._v(" "),o("li",[t._v("The CSV file is valid")]),t._v(" "),o("li",[t._v("There are no blank rows or headers, or duplicate rows")]),t._v(" "),o("li",[t._v("The data is valid according to the table schema we created (numbers are numbers, and so on)")])]),t._v(" "),o("p",[t._v("Although it can’t tell you if your data is correct, for example if the Aluminium"),o("br"),t._v("\natomic mass is 26.9815386, it does ensure you that all atomic mass values are"),o("br"),t._v("\nnumbers, among the other validations.")]),t._v(" "),o("p",[t._v("Now that we’ve created a data package, described our data with a table schema,"),o("br"),t._v("\nand validated it, we can finally publish it.")]),t._v(" "),o("h2",{attrs:{id:"step-3-publish-the-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-3-publish-the-data"}},[t._v("#")]),t._v(" Step 3. Publish the data")]),t._v(" "),o("p",[t._v("Our final step is to publish the dataset. The specifics instructions will vary depend on where you’re publishing to. In this example, we’ll see how to publish to a public "),o("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(" instance, the "),o("a",{attrs:{href:"https://old.datahub.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datahub"),o("OutboundLink")],1),t._v(". If you want to use it and don’t have an account yet, you can request one via "),o("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[t._v("our community page"),o("OutboundLink")],1),t._v(". "),o("em",[t._v("(Note: this example is now out of date. See the "),o("a",{attrs:{href:"https://docs.ckan.org/en/2.9/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN docs"),o("OutboundLink")],1),t._v(" for more updated information")]),t._v("). Let’s start.")]),t._v(" "),o("p",[t._v("After you’re logged in, go to the "),o("a",{attrs:{href:"https://old.datahub.io/dataset",target:"_blank",rel:"noopener noreferrer"}},[t._v("datasets list page"),o("OutboundLink")],1),t._v(" and click on the "),o("code",[t._v("Import Data Package")]),t._v(" button. On this form, click on “Upload”, select the "),o("code",[t._v("datapackage.json")]),t._v(" file we created in the previous step, and choose your organisation. We’ll keep the visibility as private for now, so we can review the dataset before it’s made public.")]),t._v(" "),o("p",[o("img",{attrs:{src:e(455),alt:"Importing a data packate to the DataHub"}}),o("br"),t._v(" "),o("em",[t._v("Importing a data packate to the DataHub")])]),t._v(" "),o("p",[t._v("If you don’t see the “Import Data Package” button in your CKAN instance, install the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-datapackager"),o("OutboundLink")],1),t._v(" extension to add support for importing and exporting your datasets as data packages.")]),t._v(" "),o("p",[t._v("You will be redirected to the newly created dataset on CKAN, with its metadata and resource extracted from the data package. Double check if everything seems fine, and when you’re finished, click on the “Manage” button and change the visibility to “Public”.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://datahub.ckan.io/dataset/period-table-9896953431",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:e(456),alt:"Data package in CKAN"}}),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("That’s it! CKAN supports data packages via the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-datapackager"),o("OutboundLink")],1),t._v(" extension, so importing (and exporting) data packages is trivial, as all the work on describing the dataset was done while creating the data package.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{450:function(t,a,e){t.exports=e.p+"assets/img/dp-creator.b5d3af77.png"},451:function(t,a,e){t.exports=e.p+"assets/img/dp-creator-filled.325fa9a7.png"},452:function(t,a,e){t.exports=e.p+"assets/img/try-goodtables.13d08c7b.png"},453:function(t,a){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApkAAADICAMAAACUPAobAAACjlBMVEX////u7u7MzMzl5eXg4ODq6uqqqqpERET19fXy8vL//v7x8fHw8PD09PT9/Pz9HA0UFBT+/f0aGhoXFxfy8fA2Njb5+flgYGAsLCzs7OxXV1f6+vr4+Pjp6elVVVXn5+fr6+tHR0etra0iIiIeHh79IBA5OTlQUFAyMjIvLy80NDQxMTH+OyMREREQEBA9PT3+Qyn+PSX9GAr7+vonJyf9LBnNzc3+bVdeXl7+XkT+QCfR0dHkVDz+TDDPz8+GhYT+RStRUVHe3t4gICDY2NjKysrT09NZWVnc3NxcXFxjY2NMTEz7+/vCwsLa2trW1tYlJSVJSUmwsLCQkJD9IxKLi4uTk5NxcXFPT08qKir+OCH9KBa5ubn9JRTIyMiEhIR4eHhFRUWIiIj+NR/j4+O9vb2goKD9MBykpKSWlpZ0dHRlZWX+Mx3ExMSGhobHx8fk5OSdnZ17e3tra2v39/dnZ2dtbW2zs7OBgYFubm63tra1tbV+fn6/v7+np6eYmJhpaWmNjY3m5uZ3d3fDLBr+9PPd3d2ZmZl9fX1mZmb45OKysrK7u7v9NiX77ez20c6srKztl492dnb8ZFU7Ozv9Ry7uNSDX19fxX0//+fn/4t/uv7v5gXJAQEDvRS8AAADv2NT/19T9w73yV0b+UzvbLx33albzTjz1SDfnMh7i4uLyraXnq6Xsg3nPXFH4Qi3nQizmOyb1Mx3OLhv22dbij4fhWEroTTbrKBi+KBbTIBL23dvinZbkdGbYbWTsaFf8ZE3MTD7DNynjLRv3KRf4s63+q6T8kYjziH3gfHH8dmj8VUPUNCPjzszfycbYs7DFraqzo6D1p5vMioD9W0/9TkD5VD39RjjxIhP1GAq7ZrOuAAATpUlEQVR42uzc2VNSURzA8d+PQqppGV9iThMXaqa3HqoZ6JatTkjQUJOCNqLlaKKVW1aYllkmlhSaOZDbOFqm2Wr7vu/7vv03HQguNNVUejVrfp8H77mHnz59h+UCwhAwAgn51kYYAkbEGxSERDPEj4C/b2lC9XBColUnVMPfZxiu1SjJP0/Tf9Kf0g6fB3+fQsuQ/OtY+5vWW51z+67zVuub9nAJTKuAv0+hQfKPY8pW36m2i3P642LbKV+rMtSmZkiUqUTyb2PtH9ouNnZ1zeyPrq7Gi20fQnebSiqT9B875us91DCrc65vQd/55nbOajjU6zvGqEwiD9bu622c5ZvWf75Zjb2+dkZlElmwrtOHOmeHVQWd9c/uk85Dp7sGvszlqqBF41ULYaRqApX5f2Lt/u7O6RIPcLHnTk6d3iedF/3tbODLFC1c/B+UaRTxD8SZ8FeWCeVIBhRrPf10aoQHmpub3VDbNrVvnp5uHYQyiyBg1IgRfSkzpUyGMofvSkAykBg70jY1NcIDjampviboSj1ztqrqcGrqmctnD1dV+XuCJ6l8edbPD5d7UlPP8h+hoYjpbUcYG6QyeZVfyzyascK8ZiJAhmqLXGWSv43p/KeyovAys7LOXIWGvNstbs+1Z1ndUHe+9uqNGx738Z6sZ8c97rqT/qz78DgrrwWehIeiHPHrBrvMMQuXb61RFfyszHk7zRklIj9mmNX2YbhWECrCa2Pp3lJ+lG7DpZvNmxKDZe4R46TdZcXi1jQX4uodFnVyJQbohEVY5jKVWhEXbxa3O3V8J263ef8yJPJgyp7peVE8cPLy5duxTVNP1zYd7IDjZ7oB3M3QNKojFq7766D5YCxcyHsCLXl+d9P08FBexKke5cCXGWCXytynqhjNBJUSUDvi+zJXi3bjZLOIuGGVMduSi7qUEhZeG80uq3VDgXSbcrtdsU0w8jKzzSulXW1NkiFG7UJWvMpoLc0Ml7lMyFUkiUzn2qzYa3HynYx8RUoBErnKvJuVE8UDAbU3c07AtTt3aqGtG8YuyKuFRzn1UH8TznlzWqElx+t2+y/AQWkoJ8J7dxDKVNfU1DilMu2qIMOPn2fGbOLHXSIqc6sRk5ICj+bS2igUIiqE6vD5XosGMXlPnKnQlI3SVFmNEnGHC+eZtXzaxEJllpuKcFia1moehlii5jsliJNTkMhWpj6aB5o7miH2vP4YBDV0wzm9vg4O6U9A/SOo1+u94NHr78OF8/BEGtJH5PAyB/nRPFPlNHDsx2Um2xGxXETUFMZkmoJlSmujwGeYuTB87tyKAXGC2rwNpan18/k60YVlglqtFoXqUJnDUtTJVoYx+xHxgLBaJyQgplGZ8pXZe++bMnmD+ga4yqOrb2hobDx1BOoCZXaHynToe6BWr58J9S1jvdKQPuJe76CXmatyAqzMHvnjR/M1oTKL1qbkFiYHy5TWxgksUGZ++Ny5OVRm2mTzcGlqV8HXMku2Lw5QhspEVphsKY0PlrlIGM53qEwZMd31e44ovEyHwwu1jodw/sqVkze8vEyHg5fp4GU2wLmqK4/hoMOR4z7XxA/hIUfEvceD/goIl0yyF6vWxf74FdDkTfy4XsRsUYOYGSxTWhsFBaJBWBo+L7Moecq5cSbUlSZLU3tqdIhJLt5xPKIxiYXKzI9B1FhKrOYixDI1ozLlxdjzS+lReJnp6V6AS1530/EW6HDwMtPT6+BIOi+TH6+2xMI7PncfoJUPhobSIy49H/yrRktTlizMRPhxmUWiXZFoEdEqlBRWTMiIx7XO1eG1USjNt7pWSbdp1+0wJE7I52VivhAX3q20JBkS15UiW1tsLN9QgRhTEnyeOSFxXqLJoNuwWZFtcSKVKTOmuWCL0gxPbbZ0N8y0vT/orn3gtX2EDputAz7aWuGhLetBs7vunY2bCbFefggNRbmgYUPsfXN+1WhnoYisQly3xrAuEfeJ68Nro5i2QbSvjty2bLd5+9erRriqWNqN2ykWpBUjxmeqLRUaxP0FgQ6Zs8bk2hO40iRucuqoTLkx3YtLU+Rz6YVuqJX5nT9907Laiojb7BhNyTskA4tpXn4aJ5dPLzX/0meNfq/MpRP2xK+0WDGKLltYjGRgMaZ5dVimMA+/0rD/r0zMLjVtj2EYZaWlgr5kNOAYqyy7/XlG/30+WVbJ6JPDRM40ja/fXr95a1bf3bp5/e1rYyWjb1sQWdPUVSaUp03uj7TyhEodY0hlEjkxHqcyQNcHod9kgS6HUJnztEj+A+wreX5XOxT+E0LRIrrTJN/SLKqEIaBynoKQaHFaIIQQQgghhBBCCCGEEEIIIYQQQgghhBBCyBf27u8nbSiKA/jtxJ4LapO+lEgLHbz4HzQkJCw1QoXKCDVIHwiIUaMSdSD4Y1OnW7K5uIdlL/sf9lfuUrg6YcvGIstg55PYY869t8T0a0pJaBFCCCGEEEIIITS+WjlHnADCQ/qXQ42gcda6TbfIBBCFPk9fKQSNscoSmQii0G/zX7gFCvpjtxNy0hOFAScEjTGRTAZRGDApf9p/alIOHyZz0kzK4cNkTppJOXyYzL+o9f7KPtpWya8oYP6sj8lEj28+C2ACtP1/kswg6EMnk+62f+M/IXTLNvNWc4X8DIVp8r20S37Icsj3kiYmczwU4UonU3XYJb8QoPSHyWT9YZIZjscdI2a1/b9Opj9b0ggm8z81DbU3rCxDza9DsBJcnr9xSyewRkilXTDPw4R1X8bd6xXv2X0idDh87AoA8p0+8a9a9nGK3M3mT/cbTGa1Pce2Qmb3l8lsnbGp/1oy5zsqHYdv5j2YzNFIwZVXM5DXIWLC8zac7UVZMvVC9HMWzokO0VoW4JWXzMNqtQlQ5mOpCDiznb58DPH1GiTuZv80mW/A8OpWdC6dzWXNAxY+/4ZprraIBMt79vEmT6bUjAvkvhluupltiVxtExKvE9I4ZsnkK8nzM7tUZsnc3HM/XwT5Hh8k03sg5jPKkpnLLlRnCPkYLGRTQycz3PFqg3n9IuzBZI7GCdx4tQRbOkuUvwLHcqDKkmmsfyI6WOwHFkkDrr1kEhI4gD2pN+adzb1+CrIKuYX1+9l9T5EWAz37Ucmrs5BP2MHKYfw8IO8186lsNbACZ0a6fhrwhJwi5FnlzZVgM52LbAcaewGhBv5AaZtCmK+ccZ+lY7Yb0ELFLzEzeLdHjxXr1vh5Yj+yE0jW6kkj+Dbgg5180ZUCwxF1z+XGRjGtd2EyR6MCR16NQ1rvRE+EbUIuWDKJb+cmwjo6ZAjJwUEvmTEICXzsPpmfoEHYL9b97D6i3BPLyF32xwQYspyG8JJNWS2sqPBSlp0PsieUyWRPWeXNQ9svy2VTNmxlv2RVtEJiDnS+MmYpsrzryuUQqxtBmfflDivmFW1nWpaLRdmAtCznYWq/MCP7t6g8HHHK86W44Uz1YDJHIww1nZXF7vtMQnZ4MhM1t+iw0Hnd/V4yWTf6hfCxgWRG7mf3EaWei4LqVT8YyZomSSsFo1wzTXMBdAWeS9LHD5InFHqRhpwk8aZ4zJo+EGgh3Xj9rJGwNT/ofOXqMzaYc6XGDatOUOJ9qcOKSZ6WcXlaKEpGVGWvaldm2uZqRZWGJG52OdfvNnswmSNyAGdPid6G1W6qLqCtyucsmbtwSXL9yQyb3rtHPsaSOXV/Nj+Bz3ezB87mas8ypL26D9Msmaqq2JVXmakO2oJFVf1YVz2hmKquRQSVN8Uj1vTBU/XtZenCKV021RmY4ivXqmww56q756w6QZX31Q7rk1eE9oft1HVRfRJlr6oVDFVJFSNBXR2O6OtaSvk4TOaITMcBTIC60E2VEoJ4FlgyL8G8WYDIw2RWwT44ONjiY6QNG9OdvnzEr4D47P4rIKVHe3s2w4qQPVAMSChKGr4mo7qiGEWNwqKilOuKJxRTlFmrqPDmvi0oyktTUy7f2uws/lZUZuEFXylaVFFeu8pJpxbjCu8rHZbolYuFOUU5LSopSLKxml5h7bnIiTIccXEAJnMU+CffVw2NdFNFfCX76pIlkzbtD0YIlh4kswkdr/kY2TL5p0bXln1skJ8nU+MWQ9nYoWjFpzQDspX9eFNrXZWMi8xaJ5maVq5rnlCMbXKQ4k0aX09uRRqalq9lNLpQe64JsMlXzrvVpBNxNcHcSMdCwbs9eqy1JPPiEE5Sa9EzPWUHD3OZZ1ou6qRj0YQ2HHF5ACbz75jN+wgpwzZ5XCK9E77O2u1dgdIn7sv4wmmY0hfnZmRthvphmdJynXoiMcqcZp7ypm/dtd77KZ0zq5Suhyidh698JU0c2UeHLqX5I7dZPqO877GgY5uuuZHVZChWqZ/EzaJAaSNSiDt0SOLzAZjMv8NXi17uRGpLI0hmv5RLH9nXHNvsVOnoiEsDMJl/SeXYdksp8sjEuUEpd+6RvYs6m5XIxdzoiPkBmMyxJvoHVVz/YysHC5mdGf/oiOl+mMzxJvpnJoKY6IfX5uPtVpidCGKyT2Iev6E21ipLrVlhAojGA8klmk8RNMY0Jz0h3+t9iCZO8E4I441Oxt1j+jn7E3HrEYQQQgghhBBCCCGEEEIIIYQQQgh9Y+/+XpMK4ziOf2zVV08lCJHMxVN20x8ghBA4JpubP4eNrV3ISklJw5VtLhe2MiEXeSHd7LL7/sqO52hhY2O76Zzz9HnBpudSvm88z4N6DhERERERERERERER0WV9TlzRyu2J+9dAXvZzTbNfv8amCnMgD0vkoJffYS4+BnnYFWgmFrttWVzU7qX9X7QbH8vUhHbjY5ma0G58LFMT2o2PZWpCu/GxTEfVZAPAsqh9WZq5A39S9v4cBCQyfmSZ9M+sSRrAkWzcuVCZYbnHMulfMFZlDmjII8Pvx5T53CpzemCVaT5esMxnSqnI0zwsb5RX58oynVWXb7hb3M6N40NiL6sq81aIZpktFX4P62D690lE1t/KA6Aipend/U6X2VtbWx+oE4zdrL3AXxp5eEEsNvgxxjKdkZAurkjFCs+XjXbb0piUWc4eliU/U+aKkic3h9KHoaK3zi6zBcA4fIkJz5Z5e5zmgGU6I7i0nRtI0w5PPgVyu89CdpmyjKoczJRpnc1vFaP+pBxbd5E+u0z0W0GV/H49qO7t1gFs1pE8Toc3/OgrVUNgKxMeuPsrIGaZZpoDns2dUpFUO7tvv2duS7kxsp8nJQ6EokXjVJnoSPO6DM9ZZw6CQX9JvQ6q/vWrZpnVVyHcTT/GQeVkJTNCsPEhZHQqy4mnPbiZtc4ccJ3pmKZsSAd2eDdqYZH0gl1mBjCK0dDpMvPS6xdvnbsDMrWMoBoCZpmBSAE7mWBuNA/U69bZ/Ev6DlBYDcHFuANy2H6xLEO7zPxmE8m0pCbrzDkk5BX+KnMOuJtVxS6ss/mZO6AvgXGUSatMdI6w1QIWUt96q3aZeRU2qXm4GMt0WlfKAUzWmdnOsRR9dpkS2d2W0myZbalcA3ZFqsD5OyBYUdr/So1cvAB/vzFKDewyq3vzY67+SifLdFpJ+oAdXqmdzR4+wuRsvvkw/cCYLbO6JOvAjhT9lynTp4Z7BnbCC0DPLnM54gNOPhpwMZbpPQXpwHaxMvE2fAQkVDVVixz78P0oYDzvnqwc1OBmLNNzRnFpXq7Md+oFYNTiX1uFdgnv4y/h64UztQW4Gcv0nIPIVoifm5NXaDc+lqkJ7cbHMjWh3fhYpia0G9/vMre0e2n/l4S7d9qXF6suWurrvBKCp73R7eoxU/7CZ5CX6XbFranH90BERERERERERES/2KVjlYahMAzDBxwCGQoOwbiUlkho7NAlQ1c5Q4V0yHpG78B7ELwA6VV4ldZByFia00WeB374+eYXAAAAAAAAAID/7I5sHu/IJgAAAAAAAAAAAAAAwBXK2QJkV66+ht0sw8dKm+RWvu/aYj1L0e6+A+R1v2wP+4dZ9od2GSCrclEth1M7y2l4qQJkVR6362q29SZA5jK7tpqt7QLkLvM5A2WSvcx6k0EdIHeZ2wyUSfYyUzdRN013jRQgc5l9PfEWFvUlmpjqqT7ALcssLizzMxTK5JbK45gmzmWm/imOMY7na/7+dNbEGPv0u/QxvoZTnybGwE87ddPSRhDHcfwXG9i6NEt2F6k1D63MYFVIvCxLYSGHjtINbrYjQhovaQMGkpaWYhQURMWD+AIET/teHR8OcxIhs/Hy/9yG+R2//InhMlmgyeAEy2jtfojf/yi+G8ketv7Vvp7KIFgb7c/PtaVaxF/iFEA90DAQkn+ZKO2jYqcuJj1US2EFJ4EMUey4qKvFpwJOazheoDJJjuxESM0GHDlAshB8xE85Rncb9racIJJtbO7JawzVAgerezE2pE6AEMNlcqa5gcMsfGcswg67xngHm4zJ5JAdo8vYGt6oxaXaxbhhOg5C8i8zui9z8FSmYKLyVpW5K9giamoRU5kkf3biCY0qU2SIhIhgiQN0l+Fm3h+Eoo1b4f1GRy1StUuxwoXGAyGmy+SaFTg8Q4vzFiz+WOZ8v4ILLkJcDV3U1SJVuwhn61xDZZJZlBmp9B7KHA+wdV4o/lI/i6P/pblv94tYvSYF9KhMkiM78b1nWOh7L+GDkFmWmVGZ5HXYSdl/hoW+/xJlEDLLMhUqk7wGO2mUDWiAENM30wS6mcR4mavNxtSa6yDEKNvplJtT80MQYpZb/Xux9HkqS0fD6h2MR7S77s5NUgAAAABJRU5ErkJggg=="},454:function(t,a,e){t.exports=e.p+"assets/img/datahub-dataset.aa0e87ca.png"},591:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("In this section, we will walk through the process of publishing, using a dataset of the periodic table of elements as an example. We will define its metadata by creating a data package, describe the structure of the CSV using a Table Schema, validate it on Goodtables, and finally publish to a public CKAN instance. Let’s start.")]),t._v(" "),o("p",[t._v("First, let’s look at the data. It is available as a CSV file on "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("this link"),o("OutboundLink")],1),t._v(". The first five rows look like:")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("atomic number")]),t._v(" "),o("th",[t._v("symbol")]),t._v(" "),o("th",[t._v("name")]),t._v(" "),o("th",[t._v("atomic mass")]),t._v(" "),o("th",[t._v("metal or nonmetal?")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("1")]),t._v(" "),o("td",[t._v("H")]),t._v(" "),o("td",[t._v("Hydrogen")]),t._v(" "),o("td",[t._v("1.00794")]),t._v(" "),o("td",[t._v("nonmetal")])]),t._v(" "),o("tr",[o("td",[t._v("2")]),t._v(" "),o("td",[t._v("He")]),t._v(" "),o("td",[t._v("Helium")]),t._v(" "),o("td",[t._v("4.002602")]),t._v(" "),o("td",[t._v("noble gas")])]),t._v(" "),o("tr",[o("td",[t._v("3")]),t._v(" "),o("td",[t._v("Li")]),t._v(" "),o("td",[t._v("Lithium")]),t._v(" "),o("td",[t._v("6.941")]),t._v(" "),o("td",[t._v("alkali metal")])]),t._v(" "),o("tr",[o("td",[t._v("4")]),t._v(" "),o("td",[t._v("Be")]),t._v(" "),o("td",[t._v("Beryllium")]),t._v(" "),o("td",[t._v("9.012182")]),t._v(" "),o("td",[t._v("alkaline earth metal")])]),t._v(" "),o("tr",[o("td",[t._v("5")]),t._v(" "),o("td",[t._v("B")]),t._v(" "),o("td",[t._v("Boron")]),t._v(" "),o("td",[t._v("10.811")]),t._v(" "),o("td",[t._v("metalloid")])])])]),t._v(" "),o("p",[t._v("As we can see, there are some numeric fields, both integers (atomic number) and floating point (atomic mass), and others are textual with strings. Our first objective is to describe the metadata by creating a Data Package, and its contents by creating a Table Schema.")]),t._v(" "),o("h2",{attrs:{id:"step-1-package-our-data-as-a-data-package"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-1-package-our-data-as-a-data-package"}},[t._v("#")]),t._v(" Step 1. Package our data as a Data Package")]),t._v(" "),o("p",[t._v("The easiest way to create a data package is using the "),o("a",{attrs:{href:"https://create.frictionlessdata.io/",title:"Data Package Creator",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),o("OutboundLink")],1),t._v(". It provides a graphical interface to describe the data package’s metadata, add resources, and define the schema for tabular resources. This is what you should see when you first open it:")]),t._v(" "),o("p",[o("img",{attrs:{src:e(450),alt:"Data Package Creator"}}),o("br"),t._v(" "),o("em",[t._v("Data Package Creator")])]),t._v(" "),o("p",[t._v("The left side bar contains the metadata for the Data Package as a whole, and the main part on the right contains the metadata for each specific resource.")]),t._v(" "),o("p",[t._v("Let’s add our CSV resource. On the main section of the page, fill the inputs with:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Name")]),t._v(": periodic-table")]),t._v(" "),o("li",[o("strong",[t._v("Path")]),t._v(": "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://raw.githubusercontent.com/frictionlessdata/example-data-packages/d2b96aaed6ab12db41d73022a2988eeb292116e9/periodic-table/data.csv"),o("OutboundLink")],1)])]),t._v(" "),o("p",[t._v("Resource and data package names must be unique, lowercase, can contain only letters, numbers, and the characters “.”, “-” and “_”.")]),t._v(" "),o("p",[t._v("And click on the "),o("em",[t._v("Load")]),t._v(" button. After a few seconds, a new box should appear with the text “Add all inferred fields (data has 5 extra column(s))”. Click on it, and the fields will be created, with their data types and formats inferred from the data. This saves us time, as we don’t need to start from scratch.")]),t._v(" "),o("p",[t._v("The Data Package Creator got almost all data types correctly, except the {atomic mass} column. It inferred the column as having integer values, but as we can see from the data, the numbers aren’t whole, they have floating points. Just change the type to "),o("strong",[t._v("number")]),t._v(", and that’s it.")]),t._v(" "),o("p",[t._v("You can view a sample of the data in each column by hovering the mouse below its name.")]),t._v(" "),o("p",[t._v("Usually, we would now add titles and descriptions to each field. However, as this is a simple dataset, the field names should be enough. In the end, the fields are:")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[t._v("Name")]),t._v(" "),o("th",[t._v("Data type")]),t._v(" "),o("th",[t._v("Data format")])])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("atomic number")]),t._v(" "),o("td",[t._v("integer")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("symbol")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("name")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("atomic mass")]),t._v(" "),o("td",[t._v("number")]),t._v(" "),o("td",[t._v("default")])]),t._v(" "),o("tr",[o("td",[t._v("metal or nonmetal?")]),t._v(" "),o("td",[t._v("string")]),t._v(" "),o("td",[t._v("default")])])])]),t._v(" "),o("p",[t._v("We can add more information about this resource by clicking on the gear icon to the left of the “Load” button. Add the following information:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Title")]),t._v(": Periodic table")]),t._v(" "),o("li",[o("strong",[t._v("Profile")]),t._v(": Tabular Data Resource")]),t._v(" "),o("li",[o("strong",[t._v("Format")]),t._v(": csv")]),t._v(" "),o("li",[o("strong",[t._v("Encoding")]),t._v(": (blank)")]),t._v(" "),o("li",[o("strong",[t._v("Description")]),t._v(": (blank)")])]),t._v(" "),o("p",[t._v("After this, we’re only missing metadata for the data package as a whole, available on the left side bar. Add:")]),t._v(" "),o("ul",[o("li",[o("strong",[t._v("Name")]),t._v(": periodic-table")]),t._v(" "),o("li",[o("strong",[t._v("Title")]),t._v(": Periodic table")]),t._v(" "),o("li",[o("strong",[t._v("Profile")]),t._v(": Tabular Data Package")]),t._v(" "),o("li",[o("strong",[t._v("Description")]),t._v(": Periodic table of chemical elements")]),t._v(" "),o("li",[o("strong",[t._v("Home Page")]),t._v(": "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table"),o("OutboundLink")],1)]),t._v(" "),o("li",[o("strong",[t._v("Version")]),t._v(": 1.0.0")]),t._v(" "),o("li",[o("strong",[t._v("License")]),t._v(": CC0-1.0")]),t._v(" "),o("li",[o("strong",[t._v("Author")]),t._v(": (blank)")])]),t._v(" "),o("p",[o("img",{attrs:{src:e(451),alt:""}})]),t._v(" "),o("p",[t._v("Let’s validate the data package, to ensure we haven’t missed anything. Just click on the "),o("em",[t._v("Validate")]),t._v(" button on the bottom left, and you should see a green message “Data package is valid!”. This means that the data package is valid, but not necessarily its contents (we’ll check them in the next step).")]),t._v(" "),o("p",[t._v("Save the data package by clicking on the "),o("em",[t._v("Download")]),t._v(" button. This will download a “datapackage.json” file that contains everything we added here. Our next step is to use it to validate the data.")]),t._v(" "),o("h2",{attrs:{id:"step-2-validate-our-data-package-and-its-contents"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-2-validate-our-data-package-and-its-contents"}},[t._v("#")]),t._v(" Step 2. Validate our data package and its contents")]),t._v(" "),o("p",[t._v("We now have a data package with our CSV file, including with a table schema describing the contents and types of its columns. Our final step before publishing is validating the data, so we can avoid publishing data with errors. To do so, we’ll use goodtables.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Goodtables"),o("OutboundLink")],1),t._v(" is a tabular data validator that allows you to automatically check for errors such as blank headers, duplicate rows, data with the wrong type (e.g. should be a number but is a date), and others. As it supports data packages, we can simply load the one we created in the previous step. Let’s do it.")]),t._v(" "),o("ol",[o("li",[t._v("Go to "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://try.goodtables.io"),o("OutboundLink")],1)]),t._v(" "),o("li",[t._v("On the "),o("em",[t._v("Source")]),t._v(" input, click on the "),o("em",[t._v("Upload File")]),t._v(" link.")]),t._v(" "),o("li",[t._v("Click on "),o("em",[t._v("Browse…")]),t._v(" and select the "),o("em",[t._v("datapackage.json")]),t._v(" file you downloaded in the previous step")]),t._v(" "),o("li",[t._v("Click on "),o("em",[t._v("Validate")])])]),t._v(" "),o("p",[t._v("After a few seconds, you should see:")]),t._v(" "),o("p",[o("img",{attrs:{src:e(452),alt:"try.goodtables"}}),o("br"),t._v(" "),o("em",[t._v("try.goodtables")])]),t._v(" "),o("p",[t._v("This means that:")]),t._v(" "),o("ul",[o("li",[t._v("The data package is valid")]),t._v(" "),o("li",[t._v("The CSV file is valid")]),t._v(" "),o("li",[t._v("There are no blank rows or headers, or duplicate rows")]),t._v(" "),o("li",[t._v("The data is valid according to the table schema we created (numbers are numbers, and so on)")])]),t._v(" "),o("p",[t._v("Although it can’t tell you if your data is correct, for example if the Aluminium"),o("br"),t._v("\natomic mass is 26.9815386, it does ensure you that all atomic mass values are"),o("br"),t._v("\nnumbers, among the other validations.")]),t._v(" "),o("p",[t._v("Now that we’ve created a data package, described our data with a table schema,"),o("br"),t._v("\nand validated it, we can finally publish it.")]),t._v(" "),o("h2",{attrs:{id:"step-3-publish-the-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#step-3-publish-the-data"}},[t._v("#")]),t._v(" Step 3. Publish the data")]),t._v(" "),o("p",[t._v("Our final step is to publish the dataset. The specifics instructions will vary depend on where you’re publishing to. In this example, we’ll see how to publish to a public "),o("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(" instance, the "),o("a",{attrs:{href:"https://old.datahub.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datahub"),o("OutboundLink")],1),t._v(". If you want to use it and don’t have an account yet, you can request one via "),o("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[t._v("our community page"),o("OutboundLink")],1),t._v(". "),o("em",[t._v("(Note: this example is now out of date. See the "),o("a",{attrs:{href:"https://docs.ckan.org/en/2.9/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN docs"),o("OutboundLink")],1),t._v(" for more updated information")]),t._v("). Let’s start.")]),t._v(" "),o("p",[t._v("After you’re logged in, go to the "),o("a",{attrs:{href:"https://old.datahub.io/dataset",target:"_blank",rel:"noopener noreferrer"}},[t._v("datasets list page"),o("OutboundLink")],1),t._v(" and click on the "),o("code",[t._v("Import Data Package")]),t._v(" button. On this form, click on “Upload”, select the "),o("code",[t._v("datapackage.json")]),t._v(" file we created in the previous step, and choose your organisation. We’ll keep the visibility as private for now, so we can review the dataset before it’s made public.")]),t._v(" "),o("p",[o("img",{attrs:{src:e(453),alt:"Importing a data packate to the DataHub"}}),o("br"),t._v(" "),o("em",[t._v("Importing a data packate to the DataHub")])]),t._v(" "),o("p",[t._v("If you don’t see the “Import Data Package” button in your CKAN instance, install the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-datapackager"),o("OutboundLink")],1),t._v(" extension to add support for importing and exporting your datasets as data packages.")]),t._v(" "),o("p",[t._v("You will be redirected to the newly created dataset on CKAN, with its metadata and resource extracted from the data package. Double check if everything seems fine, and when you’re finished, click on the “Manage” button and change the visibility to “Public”.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://datahub.ckan.io/dataset/period-table-9896953431",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:e(454),alt:"Data package in CKAN"}}),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("That’s it! CKAN supports data packages via the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-datapackager"),o("OutboundLink")],1),t._v(" extension, so importing (and exporting) data packages is trivial, as all the work on describing the dataset was done while creating the data package.")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/120.f7739b96.js b/assets/js/120.9ab4a56a.js similarity index 98% rename from assets/js/120.f7739b96.js rename to assets/js/120.9ab4a56a.js index 352a64d4b..1188a4ea7 100644 --- a/assets/js/120.f7739b96.js +++ b/assets/js/120.9ab4a56a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{653:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-january-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-january-community-call"}},[e._v("#")]),e._v(" A recap from our January community call")]),e._v(" "),r("p",[e._v("On January 28"),r("sup",[e._v("th")]),e._v(" we had our first Frictionless Data Community Call for 2021. It was great to see it was so well attended!")]),e._v(" "),r("p",[e._v("We heard a presentation by Carles Pina i Estany on schema-collaboration, a system that uses Data Package Creator to enable data managers and researchers to create and share dataset schemas, edit them, post messages and export the schemas in different formats (text, Markdown, PDF). Before this tool was developed, researchers communicated with a data manager via email for each datapackage they were publishing, which slowed down considerably the whole process, besides making it more difficult.")]),e._v(" "),r("p",[e._v("To discover more about schema-collaboration, have a look at it on "),r("a",{attrs:{href:"https://github.com/frictionlessdata/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),r("OutboundLink")],1),e._v(" or read "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the blog"),r("OutboundLink")],1),e._v(" Carles wrote about the project. If you would like to dive deeper and watch Carles’ presentation, you can find it here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/_0cs25Fj_yU",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("ul",[r("li",[r("p",[r("a",{attrs:{href:"https://opendataday.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Day"),r("OutboundLink")],1),e._v(" is fast approaching! If you are organising something to celebrate open data on March 6"),r("sup",[e._v("th")]),e._v(", let us know! You still have a few days to apply for mini-grants for your community events.")])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. If you want to give a talk, make sure to submit a proposal by February 28"),r("sup",[e._v("th")]),e._v(". More info "),r("a",{attrs:{href:"https://csvconf.com/submit/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")])])]),e._v(" "),r("h2",{attrs:{id:"news-from-the-community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),r("p",[e._v("Giuseppe Peronato and "),r("a",{attrs:{href:"https://cividi.ch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("cividi"),r("OutboundLink")],1),e._v(" started using Frictionless Data for data pipelines using (Geo-)Spatial datasets, e.g. raster data and GeoJSONs. You can have a look "),r("a",{attrs:{href:"https://github.com/datahq/dataflows/pull/153",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". They have also been looking more closely at the Creator’s UI library in a "),r("a",{attrs:{href:"https://github.com/gperonato/archive-forger",target:"_blank",rel:"noopener noreferrer"}},[e._v("prototype"),r("OutboundLink")],1),e._v(" with researchers, and releasing a "),r("a",{attrs:{href:"https://blog.datalets.ch/073/",target:"_blank",rel:"noopener noreferrer"}},[e._v("QGIS plugin"),r("OutboundLink")],1),e._v(" for Frictionless Data.")]),e._v(" "),r("p",[e._v("Thorben started working on the official vaccination publication by the German Federal Health Authority, which was replaced daily with a Data Package Pipeline saved as a Data Package by a GitHub Action. If you are interested, have a look "),r("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on 25"),r("sup",[e._v("th")]),e._v(" February. Don’t miss the opportunity to get a code demonstration on "),r("a",{attrs:{href:"http://frictionless.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless.py"),r("OutboundLink")],1),e._v(" by our very own Evgeny Karev (@roll). You can "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Z4-EM2RPKMA",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[120],{652:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-january-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-january-community-call"}},[e._v("#")]),e._v(" A recap from our January community call")]),e._v(" "),r("p",[e._v("On January 28"),r("sup",[e._v("th")]),e._v(" we had our first Frictionless Data Community Call for 2021. It was great to see it was so well attended!")]),e._v(" "),r("p",[e._v("We heard a presentation by Carles Pina i Estany on schema-collaboration, a system that uses Data Package Creator to enable data managers and researchers to create and share dataset schemas, edit them, post messages and export the schemas in different formats (text, Markdown, PDF). Before this tool was developed, researchers communicated with a data manager via email for each datapackage they were publishing, which slowed down considerably the whole process, besides making it more difficult.")]),e._v(" "),r("p",[e._v("To discover more about schema-collaboration, have a look at it on "),r("a",{attrs:{href:"https://github.com/frictionlessdata/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),r("OutboundLink")],1),e._v(" or read "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the blog"),r("OutboundLink")],1),e._v(" Carles wrote about the project. If you would like to dive deeper and watch Carles’ presentation, you can find it here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/_0cs25Fj_yU",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("ul",[r("li",[r("p",[r("a",{attrs:{href:"https://opendataday.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Day"),r("OutboundLink")],1),e._v(" is fast approaching! If you are organising something to celebrate open data on March 6"),r("sup",[e._v("th")]),e._v(", let us know! You still have a few days to apply for mini-grants for your community events.")])]),e._v(" "),r("li",[r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. If you want to give a talk, make sure to submit a proposal by February 28"),r("sup",[e._v("th")]),e._v(". More info "),r("a",{attrs:{href:"https://csvconf.com/submit/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")])])]),e._v(" "),r("h2",{attrs:{id:"news-from-the-community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),r("p",[e._v("Giuseppe Peronato and "),r("a",{attrs:{href:"https://cividi.ch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("cividi"),r("OutboundLink")],1),e._v(" started using Frictionless Data for data pipelines using (Geo-)Spatial datasets, e.g. raster data and GeoJSONs. You can have a look "),r("a",{attrs:{href:"https://github.com/datahq/dataflows/pull/153",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". They have also been looking more closely at the Creator’s UI library in a "),r("a",{attrs:{href:"https://github.com/gperonato/archive-forger",target:"_blank",rel:"noopener noreferrer"}},[e._v("prototype"),r("OutboundLink")],1),e._v(" with researchers, and releasing a "),r("a",{attrs:{href:"https://blog.datalets.ch/073/",target:"_blank",rel:"noopener noreferrer"}},[e._v("QGIS plugin"),r("OutboundLink")],1),e._v(" for Frictionless Data.")]),e._v(" "),r("p",[e._v("Thorben started working on the official vaccination publication by the German Federal Health Authority, which was replaced daily with a Data Package Pipeline saved as a Data Package by a GitHub Action. If you are interested, have a look "),r("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on 25"),r("sup",[e._v("th")]),e._v(" February. Don’t miss the opportunity to get a code demonstration on "),r("a",{attrs:{href:"http://frictionless.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless.py"),r("OutboundLink")],1),e._v(" by our very own Evgeny Karev (@roll). You can "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("sign up here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Z4-EM2RPKMA",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/121.1bb95626.js b/assets/js/121.c7c0fbf6.js similarity index 97% rename from assets/js/121.1bb95626.js rename to assets/js/121.c7c0fbf6.js index b0c398aab..ad770f068 100644 --- a/assets/js/121.1bb95626.js +++ b/assets/js/121.c7c0fbf6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{654:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("HuBMAP ("),a("a",{attrs:{href:"https://portal.hubmapconsortium.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Human BioMolecular Atlas Program"),a("OutboundLink")],1),e._v(") is creating an open, global atlas of the human body at the cellular level. To do this, we’re incorporating data from dozens of different assay types, and as many institutions. Each assay type has its own metadata requirements, and Frictionless Table Schemas are an important part of our validation framework, to ensure that the metadata supplied by the labs is good.")]),e._v(" "),a("p",[e._v("That system has worked well, as far as it goes, but when there are errors, it’s a pain for the labs to read the error message, find the original TSV, scroll to the appropriate row and column, re-enter, re-save, re-upload… and hopefully not repeat! To simplify that process, we’ve made "),a("a",{attrs:{href:"https://pypi.org/project/tableschema-to-template/#description",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-to-template"),a("OutboundLink")],1),e._v(": it takes a Table Schema as input, and returns an Excel template with embedded documentation and some basic validations.")]),e._v(" "),a("p",[a("code",[e._v("pip install tableschema-to-template")])]),e._v(" "),a("p",[a("code",[e._v("ts2xl.py schema.yaml new-template.xlsx")])]),e._v(" "),a("p",[e._v("It can be used either as a command-line tool, or as a python library. Right now the generated Excel files offer pull-downs for enum constraints, and also check that floats, integers, and booleans are the correct format, and that numbers are in bounds. Adding support for regex pattern constraints is a high priority for us… What features are important to you? Issues and PRs are welcome at the "),a("a",{attrs:{href:"https://github.com/hubmapconsortium/tableschema-to-template",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[121],{653:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("HuBMAP ("),a("a",{attrs:{href:"https://portal.hubmapconsortium.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Human BioMolecular Atlas Program"),a("OutboundLink")],1),e._v(") is creating an open, global atlas of the human body at the cellular level. To do this, we’re incorporating data from dozens of different assay types, and as many institutions. Each assay type has its own metadata requirements, and Frictionless Table Schemas are an important part of our validation framework, to ensure that the metadata supplied by the labs is good.")]),e._v(" "),a("p",[e._v("That system has worked well, as far as it goes, but when there are errors, it’s a pain for the labs to read the error message, find the original TSV, scroll to the appropriate row and column, re-enter, re-save, re-upload… and hopefully not repeat! To simplify that process, we’ve made "),a("a",{attrs:{href:"https://pypi.org/project/tableschema-to-template/#description",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-to-template"),a("OutboundLink")],1),e._v(": it takes a Table Schema as input, and returns an Excel template with embedded documentation and some basic validations.")]),e._v(" "),a("p",[a("code",[e._v("pip install tableschema-to-template")])]),e._v(" "),a("p",[a("code",[e._v("ts2xl.py schema.yaml new-template.xlsx")])]),e._v(" "),a("p",[e._v("It can be used either as a command-line tool, or as a python library. Right now the generated Excel files offer pull-downs for enum constraints, and also check that floats, integers, and booleans are the correct format, and that numbers are in bounds. Adding support for regex pattern constraints is a high priority for us… What features are important to you? Issues and PRs are welcome at the "),a("a",{attrs:{href:"https://github.com/hubmapconsortium/tableschema-to-template",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/122.a52b442f.js b/assets/js/122.a79b9d94.js similarity index 98% rename from assets/js/122.a52b442f.js rename to assets/js/122.a79b9d94.js index 9681349eb..92a84dc93 100644 --- a/assets/js/122.a52b442f.js +++ b/assets/js/122.a79b9d94.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{655:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Originally published: "),a("a",{attrs:{href:"https://blog.okfn.org/2021/02/25/how-we-are-improving-the-quality-and-interoperability-of-frictionless-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2021/02/25/how-we-are-improving-the-quality-and-interoperability-of-frictionless-data/"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("As we "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/#so-what-will-be-changing",target:"_blank",rel:"noopener noreferrer"}},[e._v("announced in January"),a("OutboundLink")],1),e._v(", the "),a("a",{attrs:{href:"http://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),a("OutboundLink")],1),e._v(" has been awarded funds from "),a("a",{attrs:{href:"https://theodi.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the Open Data Institute"),a("OutboundLink")],1),e._v(" to improve the quality and interoperability of "),a("a",{attrs:{href:"frictionlessdata.io"}},[e._v("Frictionless Data")]),e._v(". We are halfway through the process of reviewing our documentation and adding new features to Frictionless Data, and wanted to give a status update showing how this work is improving the overall Frictionless experience.")]),e._v(" "),a("p",[e._v("We have already done four feedback sessions and have been delighted to meet 16 users from very diverse backgrounds and different levels of expertise using Frictionless Data, some of whom we knew and some not. In spite of the variety of users, it was very interesting to see a widespread consensus on the way the documentation can be improved. You can have a look at a few of the community PRs "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pull/708",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pull/637",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("We are very grateful to all the Frictionless Data users who took part in our sessions - they helped us see all of our guides with fresh eyes. It was very important for us to do this review together with the Frictionless Data community because they are (together with those to come) the one who will benefit from it, so are the best placed to flag issues and propose changes.")]),e._v(" "),a("p",[e._v("Every comment is being carefully reviewed at the moment and the new documentation will soon be released.")]),e._v(" "),a("h2",{attrs:{id:"what-are-the-next-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-are-the-next-steps"}},[e._v("#")]),e._v(" What are the next steps?")]),e._v(" "),a("ul",[a("li",[e._v("We are going to have 8 to 12 more users giving us feedback in the coming month.")]),e._v(" "),a("li",[e._v("We are also adding a FAQ section based on the questions we got from our users in the past.")])]),e._v(" "),a("p",[e._v("If you have any feedback and/or improvement suggestions, please let us know on our "),a("a",{attrs:{href:"https://discordapp.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord Channel"),a("OutboundLink")],1),e._v(" or on "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"more-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More about Frictionless Data")]),e._v(" "),a("p",[e._v("Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The project is funded by the Sloan Foundation.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[122],{654:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Originally published: "),a("a",{attrs:{href:"https://blog.okfn.org/2021/02/25/how-we-are-improving-the-quality-and-interoperability-of-frictionless-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2021/02/25/how-we-are-improving-the-quality-and-interoperability-of-frictionless-data/"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("As we "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/#so-what-will-be-changing",target:"_blank",rel:"noopener noreferrer"}},[e._v("announced in January"),a("OutboundLink")],1),e._v(", the "),a("a",{attrs:{href:"http://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),a("OutboundLink")],1),e._v(" has been awarded funds from "),a("a",{attrs:{href:"https://theodi.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the Open Data Institute"),a("OutboundLink")],1),e._v(" to improve the quality and interoperability of "),a("a",{attrs:{href:"frictionlessdata.io"}},[e._v("Frictionless Data")]),e._v(". We are halfway through the process of reviewing our documentation and adding new features to Frictionless Data, and wanted to give a status update showing how this work is improving the overall Frictionless experience.")]),e._v(" "),a("p",[e._v("We have already done four feedback sessions and have been delighted to meet 16 users from very diverse backgrounds and different levels of expertise using Frictionless Data, some of whom we knew and some not. In spite of the variety of users, it was very interesting to see a widespread consensus on the way the documentation can be improved. You can have a look at a few of the community PRs "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pull/708",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pull/637",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("We are very grateful to all the Frictionless Data users who took part in our sessions - they helped us see all of our guides with fresh eyes. It was very important for us to do this review together with the Frictionless Data community because they are (together with those to come) the one who will benefit from it, so are the best placed to flag issues and propose changes.")]),e._v(" "),a("p",[e._v("Every comment is being carefully reviewed at the moment and the new documentation will soon be released.")]),e._v(" "),a("h2",{attrs:{id:"what-are-the-next-steps"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-are-the-next-steps"}},[e._v("#")]),e._v(" What are the next steps?")]),e._v(" "),a("ul",[a("li",[e._v("We are going to have 8 to 12 more users giving us feedback in the coming month.")]),e._v(" "),a("li",[e._v("We are also adding a FAQ section based on the questions we got from our users in the past.")])]),e._v(" "),a("p",[e._v("If you have any feedback and/or improvement suggestions, please let us know on our "),a("a",{attrs:{href:"https://discordapp.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord Channel"),a("OutboundLink")],1),e._v(" or on "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"more-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More about Frictionless Data")]),e._v(" "),a("p",[e._v("Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The project is funded by the Sloan Foundation.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/123.3cc6b810.js b/assets/js/123.dfc3095f.js similarity index 98% rename from assets/js/123.3cc6b810.js rename to assets/js/123.dfc3095f.js index 0b0afaff7..806f28cef 100644 --- a/assets/js/123.3cc6b810.js +++ b/assets/js/123.dfc3095f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{656:function(e,r,t){"use strict";t.r(r);var o=t(29),a=Object(o.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h2",{attrs:{id:"a-recap-from-our-february-community-call"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-february-community-call"}},[e._v("#")]),e._v(" A recap from our February community call")]),e._v(" "),t("p",[e._v("On this February Community Call we had a top notch code demonstration of the new "),t("a",{attrs:{href:"http://frictionless.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless.py"),t("OutboundLink")],1),e._v(" framework by our Frictionless Data senior developer Evgeny Karev. We had been looking very much forward to presenting the new framework to you all and we were very pleased that so many of you joined us. If you would like to know more about it, you can explore the new Frictionless Python framework through the "),t("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation portal"),t("OutboundLink")],1),e._v(" or on "),t("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("If you couldn’t make it to the call, or you are just curious and would like to go over the presentation again, here it is:")]),e._v(" "),t("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/WX4NbYmvu9M",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),t("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://opendataday.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Day"),t("OutboundLink")],1),e._v(" is fast approaching with over 200 events organised online on March 6"),t("sup",[e._v("th")]),e._v(". Together with the "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Fellows"),t("OutboundLink")],1),e._v(" we will be celebrating open research data. Join us online from 3pm UTC. "),t("a",{attrs:{href:"https://us02web.zoom.us/meeting/register/tZUvdeuspjMoGtK-rR8wV4IrnfEW_5-KdLkG",target:"_blank",rel:"noopener noreferrer"}},[e._v("RSVP here"),t("OutboundLink")],1),e._v(" for the link to join this virtual event. This event is open to everyone.")]),e._v(" "),t("h2",{attrs:{id:"join-us-next-month"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),t("p",[e._v("Our next meeting will be on 25"),t("sup",[e._v("th")]),e._v(" March. We will hear about Hackathons to facilitate the creation of web tools to create field-specific FAIR archive files from Oleg Lavrovsky and Giuseppe Peronato.")]),e._v(" "),t("p",[e._v("You can sign up "),t("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),t("h2",{attrs:{id:"call-recording"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),t("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),t("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/W0EHL6SSPcE",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),t("p",[e._v("As usual, you can join us on "),t("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),t("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[123],{655:function(e,r,t){"use strict";t.r(r);var o=t(29),a=Object(o.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h2",{attrs:{id:"a-recap-from-our-february-community-call"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-february-community-call"}},[e._v("#")]),e._v(" A recap from our February community call")]),e._v(" "),t("p",[e._v("On this February Community Call we had a top notch code demonstration of the new "),t("a",{attrs:{href:"http://frictionless.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless.py"),t("OutboundLink")],1),e._v(" framework by our Frictionless Data senior developer Evgeny Karev. We had been looking very much forward to presenting the new framework to you all and we were very pleased that so many of you joined us. If you would like to know more about it, you can explore the new Frictionless Python framework through the "),t("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation portal"),t("OutboundLink")],1),e._v(" or on "),t("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("If you couldn’t make it to the call, or you are just curious and would like to go over the presentation again, here it is:")]),e._v(" "),t("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/WX4NbYmvu9M",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),t("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://opendataday.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Day"),t("OutboundLink")],1),e._v(" is fast approaching with over 200 events organised online on March 6"),t("sup",[e._v("th")]),e._v(". Together with the "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Fellows"),t("OutboundLink")],1),e._v(" we will be celebrating open research data. Join us online from 3pm UTC. "),t("a",{attrs:{href:"https://us02web.zoom.us/meeting/register/tZUvdeuspjMoGtK-rR8wV4IrnfEW_5-KdLkG",target:"_blank",rel:"noopener noreferrer"}},[e._v("RSVP here"),t("OutboundLink")],1),e._v(" for the link to join this virtual event. This event is open to everyone.")]),e._v(" "),t("h2",{attrs:{id:"join-us-next-month"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),t("p",[e._v("Our next meeting will be on 25"),t("sup",[e._v("th")]),e._v(" March. We will hear about Hackathons to facilitate the creation of web tools to create field-specific FAIR archive files from Oleg Lavrovsky and Giuseppe Peronato.")]),e._v(" "),t("p",[e._v("You can sign up "),t("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),t("h2",{attrs:{id:"call-recording"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),t("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),t("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/W0EHL6SSPcE",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),t("p",[e._v("As usual, you can join us on "),t("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),t("OutboundLink")],1),e._v(" or "),t("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),t("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);r.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/124.4132dc2c.js b/assets/js/124.6ad45b64.js similarity index 99% rename from assets/js/124.4132dc2c.js rename to assets/js/124.6ad45b64.js index 769dbe4bb..69d5709f2 100644 --- a/assets/js/124.4132dc2c.js +++ b/assets/js/124.6ad45b64.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{657:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("em",[e._v("This blog is part of a series showcasing projects developed during the 2020-2021 Tool Fund. The Tool Fund provided five mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),a("p",[e._v("We are Simon Tyrrell and Xingdong Bian, both research software engineers, in Robert Davey’s Data Infrastructure and Algorithms group at the Earlham Institute. We built the "),a("a",{attrs:{href:"https://grassroots.tools/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Grassroots Infrastructure project"),a("OutboundLink")],1),e._v(" which aims to create an easily-deployable suite of computing middleware tools to help users and developers gain access to scientific data. This is part of the "),a("a",{attrs:{href:"https://designingfuturewheat.org.uk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Designing Future Wheat (DFW)"),a("OutboundLink")],1),e._v(" project. There are two separate parts of this project that we have added Frictionless Data support to and we’ll now describe each of these in turn.")]),e._v(" "),a("h2",{attrs:{id:"why-add-frictionless-to-the-designing-future-wheat-project"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-add-frictionless-to-the-designing-future-wheat-project"}},[e._v("#")]),e._v(" Why add Frictionless to the Designing Future Wheat project?")]),e._v(" "),a("p",[e._v("The first part of the Tool Fund project we added Frictionless Data to is the DFW data portal which delivers large scale wheat datasets that are also tied to semantically marked-up metadata. These datasets are heterogeneous and vary from field trial information, sequencing data, through to phenotyping images, etc. Given the different needs of users of this data, there is an increasing need to be able to manage this data and its associated metadata to allow for as easy dissemination as possible. So the issue that we had was how can we standardize the methods to access this data/metadata and label it using both well-defined ontologies and standards to deliver consistent data packages to users in an interoperable way. This is where Frictionless Data came in, allowing data scientists a consistent, well-defined standard to use when building programs or workflows to access the data stored on the portal.")]),e._v(" "),a("p",[e._v("The portal uses a combination of an "),a("a",{attrs:{href:"https://irods.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("iRODS"),a("OutboundLink")],1),e._v(" repository, to store the data and metadata, and "),a("a",{attrs:{href:"https://httpd.apache.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache"),a("OutboundLink")],1),e._v(" to host the files with our in-house developed Apache module, mod_eirods_dav, linking the two together. It was this module that we added the Frictionless Data support to and further details are available in the "),a("a",{attrs:{href:"https://github.com/billyfish/eirods-dav#frictionless-data-support",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"how-does-the-new-frictionless-implementation-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-does-the-new-frictionless-implementation-work"}},[e._v("#")]),e._v(" How does the new Frictionless implementation work?")]),e._v(" "),a("p",[e._v("So what does it do? Well, it can generate a datapackage.json file automatically for any number of specified directories. These Data Packages can either be generated dynamically on each access or can optionally be written back to the iRODS repository and served like any other static file stored there. Since every iRODS repository can use different metadata keys for storing the information that the Data Packages require, the required key names are completely configurable by specifying the iRODS metadata keys to use in the mod_eirods_dav configuration file and you can do things like combining the values of multiple iRODS metadata keys with generic strings to produce the value that you want to use in the Data Package. Currently the Data Package’s name, title, description, authors, unique identifier and license details are all supported. For each entry within the Data Package’s resources array, the name, path checksum and size attributes are also stored.")]),e._v(" "),a("p",[e._v("As well as standard entries within the Data Package, we also added support for Tabular Data Packages. As with standard entries, all of the keys for the column names can be generated from setting the required directives within the module configuration file.")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128100-b5154a00-7dc6-11eb-8d8a-a915a49e6742.png",alt:"imgblog"}}),a("br"),e._v("\nFigure1: A Data Package generated automatically by mod_eirods_dav")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128509-25bc6680-7dc7-11eb-8c2e-ff966169f9c5.png",alt:"imgblog2"}}),a("br"),e._v("\nFigure2: Tabular Data Package generated automatically by mod_eirods_dav")]),e._v(" "),a("h2",{attrs:{id:"adding-ckan-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#adding-ckan-support"}},[e._v("#")]),e._v(" Adding CKAN support")]),e._v(" "),a("p",[e._v("The second of the tools that we have implemented Frictionless Data support for is the DFW CKAN website. Primarily we use this to store publications from the project output. We currently have over 300 entries in there and since its collection is getting larger and larger, we needed a more manageable way of having better data integration, especially when using other systems through the projects by our collaborators.")]),e._v(" "),a("p",[e._v("So we built a simple Python Django webapp to do this:")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128662-58fef580-7dc7-11eb-88c9-46e8e36b4def.png",alt:"imgblog3"}})]),e._v(" "),a("p",[e._v("By querying the REST API provided by CKAN and getting the datasets’ metadata as JSON output, followed by using the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-ckan-mapper",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless CKAN Mapper"),a("OutboundLink")],1),e._v(", the JSON is converted into datapackage.json, to conform with Frictionless Data standard. If any of the resources under a dataset is CSV, the headings will be extracted as the "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tabular data package schema"),a("OutboundLink")],1),e._v(" and integrated into the datapackage.json file itself. As well as providing the datapackage.json file as a download through the Django web app, it is also possible to push the datapackage.json back to the CKAN as a resource file on the page. This requires the CKAN user key with the relevant permissions.")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128881-94012900-7dc7-11eb-9833-e46f351477be.png",alt:"imgblog4"}})]),e._v(" "),a("h2",{attrs:{id:"how-can-you-try-this-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-try-this-tool"}},[e._v("#")]),e._v(" How can you try this tool?")]),e._v(" "),a("p",[e._v("The tool can be used by accessing its REST interface:")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("/convert?q={ckan-dataset-id}")]),e._v(" - convert CKAN dataset json to datapackage json e.g. /convert?q=0c03fa08-2142-426b-b1ca-fa852f909aa6")]),e._v(" "),a("li",[a("code",[e._v("/convert_resources?q={ckan-dataset-id}")]),e._v(" - convert CKAN dataset json to datapackage json with resources, also if any of the resources files are CSV files, the tabular data package will be converted. e.g. /convert_resources?q=grassroots-frictionless-data-test")]),e._v(" "),a("li",[a("code",[e._v("/convert_push?q={ckan-dataset-id}&key={ckan-user-key}")]),e._v(" - push the generated datapackage.json to the CKAN entry."),a("br"),e._v("\nAn example REST query page:")])]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110129172-efcbb200-7dc7-11eb-9230-a70cbbd6d9cf.png",alt:"imgblog5"}})]),e._v(" "),a("p",[e._v("It is possible to have your own local deployment of the tool too by downloading the web app from its Github repository, installing the requirements, and running the server with")]),e._v(" "),a("p",[a("code",[e._v("$manage.py runserver 8000")])]),e._v(" "),a("p",[e._v("Our collaborators can utilise the datapackage.json and integrate the CKAN entries to their own tools or project with ease as it conforms to the Frictionless Data standard.")]),e._v(" "),a("h2",{attrs:{id:"next-steps-for-frictionlessly-designing-future-wheat"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#next-steps-for-frictionlessly-designing-future-wheat"}},[e._v("#")]),e._v(" Next Steps for Frictionlessly Designing Future Wheat")]),e._v(" "),a("p",[e._v("It has been a hugely positive step to implement support for Frictionless Data Packages and we’ve already used these packages ourselves after two of our servers decided to fall over within three days of each other! Our future plans are to add support for further metadata keys within the datapackage.json files and expose more datasets as Frictionless Data Packages. For the CKAN-side, there are a few improvements that can be made in future: firstly, make the base CKAN url configurable in a config file, so this can be used for any CKAN website. Secondly, create a docker file to include the whole Django app, so it is more portable and easier to be deployed. You can keep track of the project at the following links:")]),e._v(" "),a("ul",[a("li",[e._v("The Designing Future Wheat Data Portal: "),a("a",{attrs:{href:"https://opendata.earlham.ac.uk/wheat/under_license/toronto/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://opendata.earlham.ac.uk/wheat/under_license/toronto/"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("The Designing Future Wheat publications portal: "),a("a",{attrs:{href:"https://ckan.grassroots.tools",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://ckan.grassroots.tools"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("mod_eirods_dav: "),a("a",{attrs:{href:"https://github.com/billyfish/eirods-dav",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/billyfish/eirods-dav"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("CKAN Frictionless Data web application: "),a("a",{attrs:{href:"https://github.com/TGAC/ckan-frictionlessdata",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/TGAC/ckan-frictionlessdata"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[124],{656:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[a("em",[e._v("This blog is part of a series showcasing projects developed during the 2020-2021 Tool Fund. The Tool Fund provided five mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),a("p",[e._v("We are Simon Tyrrell and Xingdong Bian, both research software engineers, in Robert Davey’s Data Infrastructure and Algorithms group at the Earlham Institute. We built the "),a("a",{attrs:{href:"https://grassroots.tools/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Grassroots Infrastructure project"),a("OutboundLink")],1),e._v(" which aims to create an easily-deployable suite of computing middleware tools to help users and developers gain access to scientific data. This is part of the "),a("a",{attrs:{href:"https://designingfuturewheat.org.uk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Designing Future Wheat (DFW)"),a("OutboundLink")],1),e._v(" project. There are two separate parts of this project that we have added Frictionless Data support to and we’ll now describe each of these in turn.")]),e._v(" "),a("h2",{attrs:{id:"why-add-frictionless-to-the-designing-future-wheat-project"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-add-frictionless-to-the-designing-future-wheat-project"}},[e._v("#")]),e._v(" Why add Frictionless to the Designing Future Wheat project?")]),e._v(" "),a("p",[e._v("The first part of the Tool Fund project we added Frictionless Data to is the DFW data portal which delivers large scale wheat datasets that are also tied to semantically marked-up metadata. These datasets are heterogeneous and vary from field trial information, sequencing data, through to phenotyping images, etc. Given the different needs of users of this data, there is an increasing need to be able to manage this data and its associated metadata to allow for as easy dissemination as possible. So the issue that we had was how can we standardize the methods to access this data/metadata and label it using both well-defined ontologies and standards to deliver consistent data packages to users in an interoperable way. This is where Frictionless Data came in, allowing data scientists a consistent, well-defined standard to use when building programs or workflows to access the data stored on the portal.")]),e._v(" "),a("p",[e._v("The portal uses a combination of an "),a("a",{attrs:{href:"https://irods.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("iRODS"),a("OutboundLink")],1),e._v(" repository, to store the data and metadata, and "),a("a",{attrs:{href:"https://httpd.apache.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apache"),a("OutboundLink")],1),e._v(" to host the files with our in-house developed Apache module, mod_eirods_dav, linking the two together. It was this module that we added the Frictionless Data support to and further details are available in the "),a("a",{attrs:{href:"https://github.com/billyfish/eirods-dav#frictionless-data-support",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"how-does-the-new-frictionless-implementation-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-does-the-new-frictionless-implementation-work"}},[e._v("#")]),e._v(" How does the new Frictionless implementation work?")]),e._v(" "),a("p",[e._v("So what does it do? Well, it can generate a datapackage.json file automatically for any number of specified directories. These Data Packages can either be generated dynamically on each access or can optionally be written back to the iRODS repository and served like any other static file stored there. Since every iRODS repository can use different metadata keys for storing the information that the Data Packages require, the required key names are completely configurable by specifying the iRODS metadata keys to use in the mod_eirods_dav configuration file and you can do things like combining the values of multiple iRODS metadata keys with generic strings to produce the value that you want to use in the Data Package. Currently the Data Package’s name, title, description, authors, unique identifier and license details are all supported. For each entry within the Data Package’s resources array, the name, path checksum and size attributes are also stored.")]),e._v(" "),a("p",[e._v("As well as standard entries within the Data Package, we also added support for Tabular Data Packages. As with standard entries, all of the keys for the column names can be generated from setting the required directives within the module configuration file.")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128100-b5154a00-7dc6-11eb-8d8a-a915a49e6742.png",alt:"imgblog"}}),a("br"),e._v("\nFigure1: A Data Package generated automatically by mod_eirods_dav")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128509-25bc6680-7dc7-11eb-8c2e-ff966169f9c5.png",alt:"imgblog2"}}),a("br"),e._v("\nFigure2: Tabular Data Package generated automatically by mod_eirods_dav")]),e._v(" "),a("h2",{attrs:{id:"adding-ckan-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#adding-ckan-support"}},[e._v("#")]),e._v(" Adding CKAN support")]),e._v(" "),a("p",[e._v("The second of the tools that we have implemented Frictionless Data support for is the DFW CKAN website. Primarily we use this to store publications from the project output. We currently have over 300 entries in there and since its collection is getting larger and larger, we needed a more manageable way of having better data integration, especially when using other systems through the projects by our collaborators.")]),e._v(" "),a("p",[e._v("So we built a simple Python Django webapp to do this:")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128662-58fef580-7dc7-11eb-88c9-46e8e36b4def.png",alt:"imgblog3"}})]),e._v(" "),a("p",[e._v("By querying the REST API provided by CKAN and getting the datasets’ metadata as JSON output, followed by using the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-ckan-mapper",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless CKAN Mapper"),a("OutboundLink")],1),e._v(", the JSON is converted into datapackage.json, to conform with Frictionless Data standard. If any of the resources under a dataset is CSV, the headings will be extracted as the "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tabular data package schema"),a("OutboundLink")],1),e._v(" and integrated into the datapackage.json file itself. As well as providing the datapackage.json file as a download through the Django web app, it is also possible to push the datapackage.json back to the CKAN as a resource file on the page. This requires the CKAN user key with the relevant permissions.")]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110128881-94012900-7dc7-11eb-9833-e46f351477be.png",alt:"imgblog4"}})]),e._v(" "),a("h2",{attrs:{id:"how-can-you-try-this-tool"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-try-this-tool"}},[e._v("#")]),e._v(" How can you try this tool?")]),e._v(" "),a("p",[e._v("The tool can be used by accessing its REST interface:")]),e._v(" "),a("ul",[a("li",[a("code",[e._v("/convert?q={ckan-dataset-id}")]),e._v(" - convert CKAN dataset json to datapackage json e.g. /convert?q=0c03fa08-2142-426b-b1ca-fa852f909aa6")]),e._v(" "),a("li",[a("code",[e._v("/convert_resources?q={ckan-dataset-id}")]),e._v(" - convert CKAN dataset json to datapackage json with resources, also if any of the resources files are CSV files, the tabular data package will be converted. e.g. /convert_resources?q=grassroots-frictionless-data-test")]),e._v(" "),a("li",[a("code",[e._v("/convert_push?q={ckan-dataset-id}&key={ckan-user-key}")]),e._v(" - push the generated datapackage.json to the CKAN entry."),a("br"),e._v("\nAn example REST query page:")])]),e._v(" "),a("p",[a("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/110129172-efcbb200-7dc7-11eb-9230-a70cbbd6d9cf.png",alt:"imgblog5"}})]),e._v(" "),a("p",[e._v("It is possible to have your own local deployment of the tool too by downloading the web app from its Github repository, installing the requirements, and running the server with")]),e._v(" "),a("p",[a("code",[e._v("$manage.py runserver 8000")])]),e._v(" "),a("p",[e._v("Our collaborators can utilise the datapackage.json and integrate the CKAN entries to their own tools or project with ease as it conforms to the Frictionless Data standard.")]),e._v(" "),a("h2",{attrs:{id:"next-steps-for-frictionlessly-designing-future-wheat"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#next-steps-for-frictionlessly-designing-future-wheat"}},[e._v("#")]),e._v(" Next Steps for Frictionlessly Designing Future Wheat")]),e._v(" "),a("p",[e._v("It has been a hugely positive step to implement support for Frictionless Data Packages and we’ve already used these packages ourselves after two of our servers decided to fall over within three days of each other! Our future plans are to add support for further metadata keys within the datapackage.json files and expose more datasets as Frictionless Data Packages. For the CKAN-side, there are a few improvements that can be made in future: firstly, make the base CKAN url configurable in a config file, so this can be used for any CKAN website. Secondly, create a docker file to include the whole Django app, so it is more portable and easier to be deployed. You can keep track of the project at the following links:")]),e._v(" "),a("ul",[a("li",[e._v("The Designing Future Wheat Data Portal: "),a("a",{attrs:{href:"https://opendata.earlham.ac.uk/wheat/under_license/toronto/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://opendata.earlham.ac.uk/wheat/under_license/toronto/"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("The Designing Future Wheat publications portal: "),a("a",{attrs:{href:"https://ckan.grassroots.tools",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://ckan.grassroots.tools"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("mod_eirods_dav: "),a("a",{attrs:{href:"https://github.com/billyfish/eirods-dav",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/billyfish/eirods-dav"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("CKAN Frictionless Data web application: "),a("a",{attrs:{href:"https://github.com/TGAC/ckan-frictionlessdata",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/TGAC/ckan-frictionlessdata"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/125.ac9d6293.js b/assets/js/125.f54a71c6.js similarity index 99% rename from assets/js/125.ac9d6293.js rename to assets/js/125.f54a71c6.js index d40ae0278..6e5b24571 100644 --- a/assets/js/125.ac9d6293.js +++ b/assets/js/125.f54a71c6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{658:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("The “reproducibility crisis” is a hot topic in scientific research these days. Can you reproduce published data from another laboratory? Can you follow the published scientific methods and get the same result? Unfortunately, the answer to these questions is often no.")]),e._v(" "),t("p",[e._v("One of the goals of Frictionless Data is to help researchers make their work more reproducible. To achieve this, we focus on making data more understandable (make sure to document your metadata!), of higher quality (via validation checks), and easier to reuse (by standardization and packaging).")]),e._v(" "),t("p",[e._v("As a test of these reproducibility measures, we tasked the Frictionless Fellows with reproducing each others’ data packages! This was a great learning experience for the Fellows and revealed some important lessons about how to make their data more (re)usable. Click on the blog links below to read more about their experiences!")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproduciendo-un-viaje-a-mo-rea-by-sele-yang-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproduciendo-un-viaje-a-mo-rea-by-sele-yang-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sele-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproduciendo un viaje a Mo’rea by Sele Yang"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Mi viaje a través de los datos de Lily, me llevó a Mo’rea, Polinesia Francesa, desde donde ella, a través de diferentes herramientas, recopiló un total de 175 entrevistas entre residentes y también investigadores/as de la región…Para reproducir los datos de Lily, utilicé inicialmente el DataPackage Creator tool para cargar su información en bruto y así empezar a revisar las especificaciones de su data type creados de manera automática por la herramienta.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"packaging-ouso-s-data-by-lily-zhao-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#packaging-ouso-s-data-by-lily-zhao-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lily-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Packaging Ouso’s Data by Lily Zhao"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“This week I had the opportunity to work with my colleague’s data. He created a Datapackage which I replicated. In doing so, I learned a lot about the Datapackage web interface….Using these data Ouso and his co-authors evaluate the ability of high-resolution melting analysis to identify illegally targeted wildlife species.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"data-barter-real-life-data-interactions-by-ouso-daniel-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#data-barter-real-life-data-interactions-by-ouso-daniel-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/ouso-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Barter: Real-life data interactions by Ouso Daniel"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Exchanging data packages and working backwards from them is an important test in the illustration of the overall goal of the Frictionless Data initiative. Remember, FD seeks to facilitate and promote open and reproducible research, consequently promoting collaboration. By trying to reproduce Monica’s work I was able to capture an error, which I highlighted for her attention, thus improved the work. Exactly how science is supposed to work!”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"on-readme-files-sharing-data-and-interoperability-by-anne-lee-steele-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#on-readme-files-sharing-data-and-interoperability-by-anne-lee-steele-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("On README files, sharing data and interoperability by Anne Lee Steele"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“One of the goals of the Frictionless Data Fellowship has been to help us make our research more interoperable, which is another way of saying: something that other researchers can use, even if they have entirely different systems or tools with which they approach the same topic….What if researchers of all types wrote prototypical “data packages” about their research, that gave greater context to their work, or explained its wider relevance? In my fields, many researchers tend to find this in ‘the art of the footnote’, but this type of informal knowledge or context is not operationalized in any real way.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"using-frictionless-tools-to-help-you-understand-open-data-by-dani-alcala-lopez-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-frictionless-tools-to-help-you-understand-open-data-by-dani-alcala-lopez-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/dani-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using Frictionless tools to help you understand open data by Dani Alcalá-López"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“A few weeks ago, the fellows did an interesting exercise: We would try to replicate each others DataPackages in pairs. We had spent some time before creating and validating DataPacakges with our own data. Now it was the time to see how would it be to work with someone else’s. This experience was intended to be a way for us to check how it was to be at the other side.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"validating-someone-else-s-data-by-katerina-drakoulaki-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-someone-else-s-data-by-katerina-drakoulaki-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating someone else’s data! By Katerina Drakoulaki"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“The first thing I did was to go through the README file on my fellow’s repository. Since the repository was in a completely different field, I really had to read through everything very carefully, and think about the terms they used….Validating the data (to the extent that it was possible after all) was easy using the goodtables tools.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproducing-jacqueline-s-datapackage-and-revalidating-her-data-by-sam-wilairat-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproducing-jacqueline-s-datapackage-and-revalidating-her-data-by-sam-wilairat-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sam-reproduce-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducing Jacqueline’s Datapackage and Revalidating her Data! By Sam Wilairat"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Using Jacqueline’s GitHub repository, Frictionless Data Package Creator, and Goodtables, I feel that I can confidently reuse her dataset for my own research purposes. While there was one piece of metadata missing from her dataset, her publicly published datapackage .JSON file on her repository helped me to quickly figure out how to interpret the unlabeled column. I also feel confident that the data is valid because after doing a visual scan of the dataset, I used the Goodtables tool to double check that the data was valid!”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproducing-a-data-package-by-jacqueline-maasch-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproducing-a-data-package-by-jacqueline-maasch-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-pkg-reprod-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducing a data package by Jacqueline Maasch"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Is it easy to reproduce someone else’s data package? Sometimes, but not always. Tools that automate data management can standardize the process, making reproducibility simpler to achieve. However, accurately anticipating a tool’s expected behavior is essential, especially when mixing technologies.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"validating-data-from-daniel-alcala-lopez-by-evelyn-night-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-data-from-daniel-alcala-lopez-by-evelyn-night-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating data from Daniel Alcalá-López by Evelyn Night"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“In a fast paced research world where there’s an approximate increase of 8-9% in scientific publications every year, an overload of information is usually fed to the outside world. Unfortunately for us, most of this information is often wasted due to the reproducibility crisis marred by data or code that’s often locked away. We explored the question, ‘how reproducible is your data?’ by exchanging personal data and validating them according to the instructions that are outlined in the fellows’ recent goodtables blogs.”")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[125],{657:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("The “reproducibility crisis” is a hot topic in scientific research these days. Can you reproduce published data from another laboratory? Can you follow the published scientific methods and get the same result? Unfortunately, the answer to these questions is often no.")]),e._v(" "),t("p",[e._v("One of the goals of Frictionless Data is to help researchers make their work more reproducible. To achieve this, we focus on making data more understandable (make sure to document your metadata!), of higher quality (via validation checks), and easier to reuse (by standardization and packaging).")]),e._v(" "),t("p",[e._v("As a test of these reproducibility measures, we tasked the Frictionless Fellows with reproducing each others’ data packages! This was a great learning experience for the Fellows and revealed some important lessons about how to make their data more (re)usable. Click on the blog links below to read more about their experiences!")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproduciendo-un-viaje-a-mo-rea-by-sele-yang-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproduciendo-un-viaje-a-mo-rea-by-sele-yang-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sele-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproduciendo un viaje a Mo’rea by Sele Yang"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Mi viaje a través de los datos de Lily, me llevó a Mo’rea, Polinesia Francesa, desde donde ella, a través de diferentes herramientas, recopiló un total de 175 entrevistas entre residentes y también investigadores/as de la región…Para reproducir los datos de Lily, utilicé inicialmente el DataPackage Creator tool para cargar su información en bruto y así empezar a revisar las especificaciones de su data type creados de manera automática por la herramienta.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"packaging-ouso-s-data-by-lily-zhao-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#packaging-ouso-s-data-by-lily-zhao-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lily-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Packaging Ouso’s Data by Lily Zhao"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“This week I had the opportunity to work with my colleague’s data. He created a Datapackage which I replicated. In doing so, I learned a lot about the Datapackage web interface….Using these data Ouso and his co-authors evaluate the ability of high-resolution melting analysis to identify illegally targeted wildlife species.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"data-barter-real-life-data-interactions-by-ouso-daniel-cohort-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#data-barter-real-life-data-interactions-by-ouso-daniel-cohort-1"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/ouso-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Barter: Real-life data interactions by Ouso Daniel"),t("OutboundLink")],1),e._v(" (Cohort 1)")]),e._v(" "),t("p",[e._v("“Exchanging data packages and working backwards from them is an important test in the illustration of the overall goal of the Frictionless Data initiative. Remember, FD seeks to facilitate and promote open and reproducible research, consequently promoting collaboration. By trying to reproduce Monica’s work I was able to capture an error, which I highlighted for her attention, thus improved the work. Exactly how science is supposed to work!”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"on-readme-files-sharing-data-and-interoperability-by-anne-lee-steele-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#on-readme-files-sharing-data-and-interoperability-by-anne-lee-steele-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("On README files, sharing data and interoperability by Anne Lee Steele"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“One of the goals of the Frictionless Data Fellowship has been to help us make our research more interoperable, which is another way of saying: something that other researchers can use, even if they have entirely different systems or tools with which they approach the same topic….What if researchers of all types wrote prototypical “data packages” about their research, that gave greater context to their work, or explained its wider relevance? In my fields, many researchers tend to find this in ‘the art of the footnote’, but this type of informal knowledge or context is not operationalized in any real way.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"using-frictionless-tools-to-help-you-understand-open-data-by-dani-alcala-lopez-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#using-frictionless-tools-to-help-you-understand-open-data-by-dani-alcala-lopez-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/dani-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Using Frictionless tools to help you understand open data by Dani Alcalá-López"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“A few weeks ago, the fellows did an interesting exercise: We would try to replicate each others DataPackages in pairs. We had spent some time before creating and validating DataPacakges with our own data. Now it was the time to see how would it be to work with someone else’s. This experience was intended to be a way for us to check how it was to be at the other side.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"validating-someone-else-s-data-by-katerina-drakoulaki-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-someone-else-s-data-by-katerina-drakoulaki-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating someone else’s data! By Katerina Drakoulaki"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“The first thing I did was to go through the README file on my fellow’s repository. Since the repository was in a completely different field, I really had to read through everything very carefully, and think about the terms they used….Validating the data (to the extent that it was possible after all) was easy using the goodtables tools.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproducing-jacqueline-s-datapackage-and-revalidating-her-data-by-sam-wilairat-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproducing-jacqueline-s-datapackage-and-revalidating-her-data-by-sam-wilairat-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/sam-reproduce-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducing Jacqueline’s Datapackage and Revalidating her Data! By Sam Wilairat"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Using Jacqueline’s GitHub repository, Frictionless Data Package Creator, and Goodtables, I feel that I can confidently reuse her dataset for my own research purposes. While there was one piece of metadata missing from her dataset, her publicly published datapackage .JSON file on her repository helped me to quickly figure out how to interpret the unlabeled column. I also feel confident that the data is valid because after doing a visual scan of the dataset, I used the Goodtables tool to double check that the data was valid!”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"reproducing-a-data-package-by-jacqueline-maasch-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reproducing-a-data-package-by-jacqueline-maasch-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-pkg-reprod-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Reproducing a data package by Jacqueline Maasch"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“Is it easy to reproduce someone else’s data package? Sometimes, but not always. Tools that automate data management can standardize the process, making reproducibility simpler to achieve. However, accurately anticipating a tool’s expected behavior is essential, especially when mixing technologies.”")]),e._v(" "),t("hr"),e._v(" "),t("h3",{attrs:{id:"validating-data-from-daniel-alcala-lopez-by-evelyn-night-cohort-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#validating-data-from-daniel-alcala-lopez-by-evelyn-night-cohort-2"}},[e._v("#")]),e._v(" "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-partner-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Validating data from Daniel Alcalá-López by Evelyn Night"),t("OutboundLink")],1),e._v(" (Cohort 2)")]),e._v(" "),t("p",[e._v("“In a fast paced research world where there’s an approximate increase of 8-9% in scientific publications every year, an overload of information is usually fed to the outside world. Unfortunately for us, most of this information is often wasted due to the reproducibility crisis marred by data or code that’s often locked away. We explored the question, ‘how reproducible is your data?’ by exchanging personal data and validating them according to the instructions that are outlined in the fellows’ recent goodtables blogs.”")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/126.88c9378d.js b/assets/js/126.738d1e1b.js similarity index 98% rename from assets/js/126.88c9378d.js rename to assets/js/126.738d1e1b.js index cedf6bd64..ca6120988 100644 --- a/assets/js/126.88c9378d.js +++ b/assets/js/126.738d1e1b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{659:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-march-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-march-community-call"}},[e._v("#")]),e._v(" A recap from our March community call")]),e._v(" "),r("p",[e._v("On our last Frictionless Data community call on March 25"),r("sup",[e._v("th")]),e._v(", we dealt with a very current topic thanks to Thorben Westerhuys, who presented his project on Frictionless Vaccination data.")]),e._v(" "),r("p",[e._v("To compensate for the lack of time perspective in the government data, Thorben has developed a spatiotemporal tracker for state level covid vaccination data, which takes the data provided by the government, reformats it and makes it available to everyone in a structured, more machine readable form.")]),e._v(" "),r("p",[e._v("To discover more about this great project, have a look at it on "),r("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all the project’s applications, you can watch Thorben’s presentation here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/TR0kNEC3bBM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. Registrations are open. Don’t forget to book your place!")]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on April 29"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from the Frictionless Fellows. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/5cghp8KieLE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v(" ")]),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[126],{660:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"a-recap-from-our-march-community-call"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#a-recap-from-our-march-community-call"}},[e._v("#")]),e._v(" A recap from our March community call")]),e._v(" "),r("p",[e._v("On our last Frictionless Data community call on March 25"),r("sup",[e._v("th")]),e._v(", we dealt with a very current topic thanks to Thorben Westerhuys, who presented his project on Frictionless Vaccination data.")]),e._v(" "),r("p",[e._v("To compensate for the lack of time perspective in the government data, Thorben has developed a spatiotemporal tracker for state level covid vaccination data, which takes the data provided by the government, reformats it and makes it available to everyone in a structured, more machine readable form.")]),e._v(" "),r("p",[e._v("To discover more about this great project, have a look at it on "),r("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all the project’s applications, you can watch Thorben’s presentation here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/TR0kNEC3bBM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. Registrations are open. Don’t forget to book your place!")]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on April 29"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from the Frictionless Fellows. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/5cghp8KieLE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v(" ")]),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/127.5ff67dd0.js b/assets/js/127.6284eea7.js similarity index 98% rename from assets/js/127.5ff67dd0.js rename to assets/js/127.6284eea7.js index 17a2cfcee..04eb6d6c9 100644 --- a/assets/js/127.5ff67dd0.js +++ b/assets/js/127.6284eea7.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{660:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("This blog is part of a series showcasing projects developed during the 2020-2021 Tool Fund. The Tool Fund provided five mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),o("p",[e._v("My name is Nikhil and I am a pre-final year student pursuing "),o("a",{attrs:{href:"http://M.Sc",target:"_blank",rel:"noopener noreferrer"}},[e._v("M.Sc"),o("OutboundLink")],1),e._v(". Economics and B.E. Computer Science from BITS Pilani, India. For my Frictionless Data Tool Fund, I worked with "),o("a",{attrs:{href:"http://intermine.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("InterMine"),o("OutboundLink")],1),e._v(" which is an open-source biological data warehouse and offers a webapp to query and download that data in multiple formats like CSV, TSV, JSON, XML, etc. However, it is sometimes difficult for new users to understand the InterMine data since it is complex and structured. Also, for developers to contribute to InterMine in a more effective way, they need to understand the data and its structure at the core of InterMine, and this can be difficult for new developers.")]),e._v(" "),o("p",[e._v("To help resolve these user needs, my solution was to design a data package for InterMine and give users the option to download the data package along with the results of any query. This would help them understand the structure of the results like class and attributes by describing all the attributes and summarizing other important information such as data sources, primary key(s), etc. Also, other fields like the version of app, link to query and timestamp can help them trace any potential errors. The new feature to export data packages is available in both the old version of InterMine webapps and the new version (BlueGenes). Users can use any of the apps to build a query and then go to the results page, where they can click on the export button, which provides the option to export Frictionless Data Package (see the images below for detailed steps).")]),e._v(" "),o("p",[e._v("Within InterMine, there are over 30 mines that provide biological data for organisms like flies, humans, rats, etc. For this Frictionless Tool Fund, the target audience is the InterMine community, whether it’s researchers in institutes around the world or Google Summer of Code and Outreachy applicants who can understand the process of querying and the structure of data to kickstart their contribution.")]),e._v(" "),o("p",[e._v("While this Tool Fund is over, a future idea to improve this work is adding class and attribute descriptions in the data package using the configuration files in the InterMine codebase. The class description file already exists but we need to add the attribute descriptions. Another possible future expansion would be integrating this feature with one of the frictionless tools, like Goodtables. For more details, see the images below and read the documentation for the tool "),o("a",{attrs:{href:"https://github.com/intermine/im-docs/blob/master/versioned_docs/version-5.0.0/webapp/frictionless/index.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Screenshot 1 : Step 1 to export data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539496-d6364980-9c54-11eb-8d17-b4eb35f483b4.png",alt:"screenshot1"}})]),e._v(" "),o("p",[e._v("Screenshot 2 : Step 2 to export data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539567-e9e1b000-9c54-11eb-933d-4545f79a3b65.png",alt:"screenshot2"}})]),e._v(" "),o("p",[e._v("Screenshot 3 : A sample data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539626-f49c4500-9c54-11eb-8452-fdf6bf810686.png",alt:"screenshot3"}})])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[127],{658:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("This blog is part of a series showcasing projects developed during the 2020-2021 Tool Fund. The Tool Fund provided five mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),o("p",[e._v("My name is Nikhil and I am a pre-final year student pursuing "),o("a",{attrs:{href:"http://M.Sc",target:"_blank",rel:"noopener noreferrer"}},[e._v("M.Sc"),o("OutboundLink")],1),e._v(". Economics and B.E. Computer Science from BITS Pilani, India. For my Frictionless Data Tool Fund, I worked with "),o("a",{attrs:{href:"http://intermine.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("InterMine"),o("OutboundLink")],1),e._v(" which is an open-source biological data warehouse and offers a webapp to query and download that data in multiple formats like CSV, TSV, JSON, XML, etc. However, it is sometimes difficult for new users to understand the InterMine data since it is complex and structured. Also, for developers to contribute to InterMine in a more effective way, they need to understand the data and its structure at the core of InterMine, and this can be difficult for new developers.")]),e._v(" "),o("p",[e._v("To help resolve these user needs, my solution was to design a data package for InterMine and give users the option to download the data package along with the results of any query. This would help them understand the structure of the results like class and attributes by describing all the attributes and summarizing other important information such as data sources, primary key(s), etc. Also, other fields like the version of app, link to query and timestamp can help them trace any potential errors. The new feature to export data packages is available in both the old version of InterMine webapps and the new version (BlueGenes). Users can use any of the apps to build a query and then go to the results page, where they can click on the export button, which provides the option to export Frictionless Data Package (see the images below for detailed steps).")]),e._v(" "),o("p",[e._v("Within InterMine, there are over 30 mines that provide biological data for organisms like flies, humans, rats, etc. For this Frictionless Tool Fund, the target audience is the InterMine community, whether it’s researchers in institutes around the world or Google Summer of Code and Outreachy applicants who can understand the process of querying and the structure of data to kickstart their contribution.")]),e._v(" "),o("p",[e._v("While this Tool Fund is over, a future idea to improve this work is adding class and attribute descriptions in the data package using the configuration files in the InterMine codebase. The class description file already exists but we need to add the attribute descriptions. Another possible future expansion would be integrating this feature with one of the frictionless tools, like Goodtables. For more details, see the images below and read the documentation for the tool "),o("a",{attrs:{href:"https://github.com/intermine/im-docs/blob/master/versioned_docs/version-5.0.0/webapp/frictionless/index.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Screenshot 1 : Step 1 to export data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539496-d6364980-9c54-11eb-8d17-b4eb35f483b4.png",alt:"screenshot1"}})]),e._v(" "),o("p",[e._v("Screenshot 2 : Step 2 to export data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539567-e9e1b000-9c54-11eb-933d-4545f79a3b65.png",alt:"screenshot2"}})]),e._v(" "),o("p",[e._v("Screenshot 3 : A sample data package"),o("br"),e._v(" "),o("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/114539626-f49c4500-9c54-11eb-8452-fdf6bf810686.png",alt:"screenshot3"}})])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/128.8e0ed751.js b/assets/js/128.8b277324.js similarity index 99% rename from assets/js/128.8e0ed751.js rename to assets/js/128.8b277324.js index a45ae0b24..661ba1edc 100644 --- a/assets/js/128.8e0ed751.js +++ b/assets/js/128.8b277324.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{731:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Originally published: "),o("a",{attrs:{href:"https://blog.okfn.org/2021/04/14/unveiling-the-new-frictionless-data-documentation-portal/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2021/04/14/unveiling-the-new-frictionless-data-documentation-portal/"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Have you used Frictionless Data documentation in the past and been confused or wanted more examples? Are you a brand new Frictionless Data user looking to get started learning?")]),e._v(" "),o("p",[e._v("We invite you all to read our new and improved "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation portal"),o("OutboundLink")],1),e._v("! Thanks to a "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/",target:"_blank",rel:"noopener noreferrer"}},[e._v("fund that the Open Knowledge Foundation was awarded"),o("OutboundLink")],1),e._v(" from the "),o("a",{attrs:{href:"https://theodi.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Institute"),o("OutboundLink")],1),e._v(", we have completely reworked the guides of our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Framework website"),o("OutboundLink")],1),e._v(" according to the suggestions from a cohort of users gathered in several feedback sessions throughout the months of February and March.")]),e._v(" "),o("p",[e._v("We cannot stress enough how precious those feedback sessions have been to us. They were an excellent opportunity to connect with our users and reflect together with them on how to make all our guides more useful for current and future users. The enthusiasm and engagement that the community showed for the process was great to see and reminded us that the link with the community should be at the core of open source projects.")]),e._v(" "),o("p",[e._v("We were amazed by the amount of extremely useful inputs that we got. While we are still digesting some of the suggestions and working out how to best implement them, we have made many changes to make the documentation a smoother, Frictionless experience.")]),e._v(" "),o("h2",{attrs:{id:"so-what-s-new"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#so-what-s-new"}},[e._v("#")]),e._v(" So what’s new?")]),e._v(" "),o("p",[e._v("A common theme from the feedback sessions was that it was sometimes difficult for novice users to understand the whole potential of the Frictionless specifications. To help make this clearer, we added a more detailed explanation, user examples and user stories to our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/introduction",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction"),o("OutboundLink")],1),e._v(". We also added some extra installation tips and a troubleshooting section to our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/quick-start",target:"_blank",rel:"noopener noreferrer"}},[e._v("Quick Start guide"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The users also suggested several code changes, like more realistic code examples, better explanations of functions, and the ability to run code examples in both the Command Line and Python. This last suggestion was prompted because most of the guides use a mix of Command Line and Python syntax, which was confusing to our users. We have clarified that by adding a switch in the code snippets that allows user to work with a pure Python Syntax or pure Command Line (when possible), as you can see "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/basic-examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". We also put together an "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/faq/",target:"_blank",rel:"noopener noreferrer"}},[e._v("FAQ section"),o("OutboundLink")],1),e._v(" based on questions that were often asked on our "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord chat"),o("OutboundLink")],1),e._v(". If you have suggestions for other common questions to add, let us know!")]),e._v(" "),o("p",[e._v("The documentation revamping process also included the publication of new tutorials. We worked on two new Frictionless tutorials, which are published under the Notebooks link in the navigation menu. While working on those, we got inspired by the feedback sessions and realised that it made sense to give our community the possibility to contribute to the project with some real life examples of Frictionless Data use. The user selection process has started and we hope to get the new tutorials online by the end of the month, so stay tuned!")]),e._v(" "),o("h2",{attrs:{id:"what-s-next"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-s-next"}},[e._v("#")]),e._v(" What’s next?")]),e._v(" "),o("p",[e._v("Our commitment to continually improving our documentation is not over with this project coming to an end! Do you have suggestions for changes you would like to see in our documentation? Please reach out to us or open a "),o("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pulls",target:"_blank",rel:"noopener noreferrer"}},[e._v("pull request"),o("OutboundLink")],1),e._v(" to contribute. Everyone is welcome to contribute! Learn how to do it "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/development/contributing",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h2",{attrs:{id:"thanks-thanks-thanks"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#thanks-thanks-thanks"}},[e._v("#")]),e._v(" Thanks, thanks, thanks!")]),e._v(" "),o("p",[e._v("Once again, we are very grateful to the Open Data Institute for giving us the chance to focus on this documentation in order to improve it. We cannot thank enough all our users who took part in the feedback sessions, your contributions were precious.")]),e._v(" "),o("h2",{attrs:{id:"more-about-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More about Frictionless Data")]),e._v(" "),o("p",[e._v("Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The project is funded by the Sloan Foundation.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[128],{662:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Originally published: "),o("a",{attrs:{href:"https://blog.okfn.org/2021/04/14/unveiling-the-new-frictionless-data-documentation-portal/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2021/04/14/unveiling-the-new-frictionless-data-documentation-portal/"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Have you used Frictionless Data documentation in the past and been confused or wanted more examples? Are you a brand new Frictionless Data user looking to get started learning?")]),e._v(" "),o("p",[e._v("We invite you all to read our new and improved "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation portal"),o("OutboundLink")],1),e._v("! Thanks to a "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/",target:"_blank",rel:"noopener noreferrer"}},[e._v("fund that the Open Knowledge Foundation was awarded"),o("OutboundLink")],1),e._v(" from the "),o("a",{attrs:{href:"https://theodi.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Institute"),o("OutboundLink")],1),e._v(", we have completely reworked the guides of our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Framework website"),o("OutboundLink")],1),e._v(" according to the suggestions from a cohort of users gathered in several feedback sessions throughout the months of February and March.")]),e._v(" "),o("p",[e._v("We cannot stress enough how precious those feedback sessions have been to us. They were an excellent opportunity to connect with our users and reflect together with them on how to make all our guides more useful for current and future users. The enthusiasm and engagement that the community showed for the process was great to see and reminded us that the link with the community should be at the core of open source projects.")]),e._v(" "),o("p",[e._v("We were amazed by the amount of extremely useful inputs that we got. While we are still digesting some of the suggestions and working out how to best implement them, we have made many changes to make the documentation a smoother, Frictionless experience.")]),e._v(" "),o("h2",{attrs:{id:"so-what-s-new"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#so-what-s-new"}},[e._v("#")]),e._v(" So what’s new?")]),e._v(" "),o("p",[e._v("A common theme from the feedback sessions was that it was sometimes difficult for novice users to understand the whole potential of the Frictionless specifications. To help make this clearer, we added a more detailed explanation, user examples and user stories to our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/introduction",target:"_blank",rel:"noopener noreferrer"}},[e._v("Introduction"),o("OutboundLink")],1),e._v(". We also added some extra installation tips and a troubleshooting section to our "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/quick-start",target:"_blank",rel:"noopener noreferrer"}},[e._v("Quick Start guide"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The users also suggested several code changes, like more realistic code examples, better explanations of functions, and the ability to run code examples in both the Command Line and Python. This last suggestion was prompted because most of the guides use a mix of Command Line and Python syntax, which was confusing to our users. We have clarified that by adding a switch in the code snippets that allows user to work with a pure Python Syntax or pure Command Line (when possible), as you can see "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/basic-examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". We also put together an "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/faq/",target:"_blank",rel:"noopener noreferrer"}},[e._v("FAQ section"),o("OutboundLink")],1),e._v(" based on questions that were often asked on our "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord chat"),o("OutboundLink")],1),e._v(". If you have suggestions for other common questions to add, let us know!")]),e._v(" "),o("p",[e._v("The documentation revamping process also included the publication of new tutorials. We worked on two new Frictionless tutorials, which are published under the Notebooks link in the navigation menu. While working on those, we got inspired by the feedback sessions and realised that it made sense to give our community the possibility to contribute to the project with some real life examples of Frictionless Data use. The user selection process has started and we hope to get the new tutorials online by the end of the month, so stay tuned!")]),e._v(" "),o("h2",{attrs:{id:"what-s-next"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-s-next"}},[e._v("#")]),e._v(" What’s next?")]),e._v(" "),o("p",[e._v("Our commitment to continually improving our documentation is not over with this project coming to an end! Do you have suggestions for changes you would like to see in our documentation? Please reach out to us or open a "),o("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/pulls",target:"_blank",rel:"noopener noreferrer"}},[e._v("pull request"),o("OutboundLink")],1),e._v(" to contribute. Everyone is welcome to contribute! Learn how to do it "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/development/contributing",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h2",{attrs:{id:"thanks-thanks-thanks"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#thanks-thanks-thanks"}},[e._v("#")]),e._v(" Thanks, thanks, thanks!")]),e._v(" "),o("p",[e._v("Once again, we are very grateful to the Open Data Institute for giving us the chance to focus on this documentation in order to improve it. We cannot thank enough all our users who took part in the feedback sessions, your contributions were precious.")]),e._v(" "),o("h2",{attrs:{id:"more-about-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More about Frictionless Data")]),e._v(" "),o("p",[e._v("Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The project is funded by the Sloan Foundation.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/129.485b450a.js b/assets/js/129.3bfe212d.js similarity index 99% rename from assets/js/129.485b450a.js rename to assets/js/129.3bfe212d.js index 298d070f8..d2bcac5b2 100644 --- a/assets/js/129.485b450a.js +++ b/assets/js/129.3bfe212d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{730:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on April 29"),r("sup",[e._v("th")]),e._v(" we had an interactive session with our great Frictionless Data Fellows: Daniel Alcalá López, Kate Bowie, Katerina Drakoulaki, Anne Lee, Jacqueline Maasch, Evelyn Night and Samantha Wilairat.")]),e._v(" "),r("p",[e._v("The Fellows are early career researchers recruited to become champions of the Frictionless Data tools and approaches in their field. During the nine months of their fellowship, which started in August 2020, the Fellows learned how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. It was a real pleasure to work with this amazing cohort. Sadly the fellowship is coming to an end, but we are sure we will hear a lot from them in the future.")]),e._v(" "),r("p",[e._v("You can learn more about them "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(", and read all the great blogs they wrote "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("If you would like to hear directly from the Fellows about their experience with Frictionless Data and what the fellowship meant for them, you can have a look at the presentation they made during the community call here below:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/uw7wqdiCP_g",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. It is free and virtual - register "),r("a",{attrs:{href:"https://www.eventbrite.com/e/csvconfv6-tickets-144250211265",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". There are two Frictionless sessions:")]),e._v(" "),r("ul",[r("li",[e._v("May 4"),r("sup",[e._v("th")]),e._v(": Frictionless Data workshop led by the Reproducible Research fellows, don’t miss the opportunity to meet the Fellows again!")]),e._v(" "),r("li",[e._v("May 5"),r("sup",[e._v("th")]),e._v(": Frictionless Data for Wheat by Simon Tyrrell")])]),e._v(" "),r("p",[e._v("Full programme here: "),r("a",{attrs:{href:"https://csvconf.com/speakers",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://csvconf.com/speakers"),r("OutboundLink")],1)]),e._v(" "),r("h2",{attrs:{id:"news-from-the-community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the Community")]),e._v(" "),r("p",[e._v("Oleg Lavrovsky presented instant APIs for small Frictionless Data-powered apps. "),r("a",{attrs:{href:"https://scene.rip/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Here"),r("OutboundLink")],1),e._v(" is an example app developed during the latest Swiss OpenGLAM hackathon. To know more about it, you can also check:")]),e._v(" "),r("ul",[r("li",[e._v("The "),r("a",{attrs:{href:"https://github.com/we-art-o-nauts/the-scene-lives",target:"_blank",rel:"noopener noreferrer"}},[e._v("source code"),r("OutboundLink")],1),e._v(" which uses "),r("a",{attrs:{href:"https://github.com/datahq/dataflows",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataFlows"),r("OutboundLink")],1),e._v(" for the aggregation, and the "),r("a",{attrs:{href:"https://github.com/rgieseke/pandas-datapackage-reader",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pandas Data Package reader"),r("OutboundLink")],1),e._v(" as the basis for filtering.")]),e._v(" "),r("li",[e._v("The "),r("a",{attrs:{href:"https://hack.glam.opendata.ch/project/114",target:"_blank",rel:"noopener noreferrer"}},[e._v("project page"),r("OutboundLink")],1),e._v(" and slides which outline the motivation to collect and homogenize electronic art archives.")]),e._v(" "),r("li",[e._v("An "),r("a",{attrs:{href:"https://github.com/loleg/baumkataster-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("earlier attempt"),r("OutboundLink")],1),e._v(" which involves a city tree catalogue. The team is also building on this approach in several projects at "),r("a",{attrs:{href:"http://github.com/cividi",target:"_blank",rel:"noopener noreferrer"}},[e._v("cividi"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on May 27"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from Simon Tyrrell on his Tool Fund project - Frictionless Data for Wheat. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/sRJZnm7bUQc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[129],{704:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on April 29"),r("sup",[e._v("th")]),e._v(" we had an interactive session with our great Frictionless Data Fellows: Daniel Alcalá López, Kate Bowie, Katerina Drakoulaki, Anne Lee, Jacqueline Maasch, Evelyn Night and Samantha Wilairat.")]),e._v(" "),r("p",[e._v("The Fellows are early career researchers recruited to become champions of the Frictionless Data tools and approaches in their field. During the nine months of their fellowship, which started in August 2020, the Fellows learned how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. It was a real pleasure to work with this amazing cohort. Sadly the fellowship is coming to an end, but we are sure we will hear a lot from them in the future.")]),e._v(" "),r("p",[e._v("You can learn more about them "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(", and read all the great blogs they wrote "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("If you would like to hear directly from the Fellows about their experience with Frictionless Data and what the fellowship meant for them, you can have a look at the presentation they made during the community call here below:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/uw7wqdiCP_g",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v6"),r("OutboundLink")],1),e._v(" is happening on May 4-5. It is free and virtual - register "),r("a",{attrs:{href:"https://www.eventbrite.com/e/csvconfv6-tickets-144250211265",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". There are two Frictionless sessions:")]),e._v(" "),r("ul",[r("li",[e._v("May 4"),r("sup",[e._v("th")]),e._v(": Frictionless Data workshop led by the Reproducible Research fellows, don’t miss the opportunity to meet the Fellows again!")]),e._v(" "),r("li",[e._v("May 5"),r("sup",[e._v("th")]),e._v(": Frictionless Data for Wheat by Simon Tyrrell")])]),e._v(" "),r("p",[e._v("Full programme here: "),r("a",{attrs:{href:"https://csvconf.com/speakers",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://csvconf.com/speakers"),r("OutboundLink")],1)]),e._v(" "),r("h2",{attrs:{id:"news-from-the-community"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the Community")]),e._v(" "),r("p",[e._v("Oleg Lavrovsky presented instant APIs for small Frictionless Data-powered apps. "),r("a",{attrs:{href:"https://scene.rip/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Here"),r("OutboundLink")],1),e._v(" is an example app developed during the latest Swiss OpenGLAM hackathon. To know more about it, you can also check:")]),e._v(" "),r("ul",[r("li",[e._v("The "),r("a",{attrs:{href:"https://github.com/we-art-o-nauts/the-scene-lives",target:"_blank",rel:"noopener noreferrer"}},[e._v("source code"),r("OutboundLink")],1),e._v(" which uses "),r("a",{attrs:{href:"https://github.com/datahq/dataflows",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataFlows"),r("OutboundLink")],1),e._v(" for the aggregation, and the "),r("a",{attrs:{href:"https://github.com/rgieseke/pandas-datapackage-reader",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pandas Data Package reader"),r("OutboundLink")],1),e._v(" as the basis for filtering.")]),e._v(" "),r("li",[e._v("The "),r("a",{attrs:{href:"https://hack.glam.opendata.ch/project/114",target:"_blank",rel:"noopener noreferrer"}},[e._v("project page"),r("OutboundLink")],1),e._v(" and slides which outline the motivation to collect and homogenize electronic art archives.")]),e._v(" "),r("li",[e._v("An "),r("a",{attrs:{href:"https://github.com/loleg/baumkataster-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("earlier attempt"),r("OutboundLink")],1),e._v(" which involves a city tree catalogue. The team is also building on this approach in several projects at "),r("a",{attrs:{href:"http://github.com/cividi",target:"_blank",rel:"noopener noreferrer"}},[e._v("cividi"),r("OutboundLink")],1),e._v(".")])]),e._v(" "),r("h2",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on May 27"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from Simon Tyrrell on his Tool Fund project - Frictionless Data for Wheat. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h2",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/sRJZnm7bUQc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/13.d6483d82.js b/assets/js/13.ab9d3f3d.js similarity index 99% rename from assets/js/13.d6483d82.js rename to assets/js/13.ab9d3f3d.js index cc001bded..905ddfa2c 100644 --- a/assets/js/13.d6483d82.js +++ b/assets/js/13.ab9d3f3d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{468:function(t,e,a){t.exports=a.p+"assets/img/figure-1.ab449321.png"},469:function(t,e,a){t.exports=a.p+"assets/img/figure-2.b334817a.png"},470:function(t,e,a){t.exports=a.p+"assets/img/figure-3.7144591c.png"},471:function(t,e,a){t.exports=a.p+"assets/img/figure-4.478e4974.gif"},472:function(t,e,a){t.exports=a.p+"assets/img/figure-5.e20a138b.gif"},605:function(t,e,a){"use strict";a.r(e);var o=a(29),r=Object(o.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("Errors in data are not uncommon. They also often get in the way of quick and timely data analysis for many data users. What if there was a way to quickly identify errors in your data to accelerate the process by which you fix them before sharing your data or using it for analysis?")]),t._v(" "),o("p",[t._v("In this section, we will learn how to carry out one-time data validation using")]),t._v(" "),o("ul",[o("li",[t._v("a free web tool called "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(",")]),t._v(" "),o("li",[t._v("the goodtables command line tool which you use in your local machine.")])]),t._v(" "),o("p",[t._v("Our working assumption is that you already know what a data schema and a data package are, and how to create them. If not, "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[t._v("start here")]),t._v(".")],1),t._v(" "),o("h2",{attrs:{id:"one-time-data-validation-with-try-goodtables-io"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#one-time-data-validation-with-try-goodtables-io"}},[t._v("#")]),t._v(" One-time data validation with "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("Now that you have your data package you may want to check it for errors. We refer to this process as data validation. Raw data is often ‘messy’ or ‘dirty’, which means it contains errors and irrelevant bits that make it inaccurate and difficult to quickly analyse and draw insight from existing datasets. "),o("strong",[t._v("Goodtables")]),t._v(" exists to identify structural and content errors in your tabular data so they can be fixed quickly. As with other tools mentioned in this field guide, goodtables aims to help data publishers improve the quality of their data before the data is shared elsewhere and used for analysis, or archived.")]),t._v(" "),o("p",[o("strong",[t._v("Types of errors identified in the validation process")])]),t._v(" "),o("p",[t._v("Here are some of the errors that "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" highlights. A more exhaustive list is available "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py#validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[o("strong",[t._v("Structural Errors")])]),t._v(" "),o("th")])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("blank-header")]),t._v(" "),o("td",[t._v("There is a blank header name. All cells in the header row must have a value.")])]),t._v(" "),o("tr",[o("td",[t._v("duplicate-header")]),t._v(" "),o("td",[t._v("There are multiple columns with the same name. All column names must be unique.")])]),t._v(" "),o("tr",[o("td",[t._v("blank-row")]),t._v(" "),o("td",[t._v("Rows must have at least one non-blank cell.")])]),t._v(" "),o("tr",[o("td",[t._v("duplicate-row")]),t._v(" "),o("td",[t._v("Rows can’t be duplicated.")])]),t._v(" "),o("tr",[o("td",[t._v("extra-value")]),t._v(" "),o("td",[t._v("A row has more columns than the header.")])]),t._v(" "),o("tr",[o("td",[t._v("missing-value")]),t._v(" "),o("td",[t._v("A row has less columns than the header.")])]),t._v(" "),o("tr",[o("td",[o("strong",[t._v("Content Errors")])]),t._v(" "),o("td")]),t._v(" "),o("tr",[o("td",[t._v("schema-error")]),t._v(" "),o("td",[t._v("Schema is not valid.")])]),t._v(" "),o("tr",[o("td",[t._v("non-matching-header")]),t._v(" "),o("td",[t._v("The header’s name in the schema is different from what’s in the data.")])]),t._v(" "),o("tr",[o("td",[t._v("extra-header")]),t._v(" "),o("td",[t._v("The data contains a header not defined in the schema.")])]),t._v(" "),o("tr",[o("td",[t._v("missing-header")]),t._v(" "),o("td",[t._v("The data doesn’t contain a header defined in the schema.")])]),t._v(" "),o("tr",[o("td",[t._v("type-or-format-error")]),t._v(" "),o("td",[t._v("The value can’t be cast based on the schema type and format for this field.")])])])]),t._v(" "),o("p",[o("strong",[t._v("Load tabular data for one-time validation")])]),t._v(" "),o("p",[t._v("You can add a dataset for one-time validation on "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" in two ways:")]),t._v(" "),o("ul",[o("li",[t._v("If your tabular data is publicly available online, obtain a link to the tabular data you would like to validate and paste it in the "),o("strong",[t._v("{Source}")]),t._v(" section.")]),t._v(" "),o("li",[t._v("Alternatively, Click on the Upload file prompt in the "),o("strong",[t._v("{Source}")]),t._v(" section to load a tabular dataset from your local machine")])]),t._v(" "),o("p",[o("strong",[t._v("Validating data without a schema")])]),t._v(" "),o("p",[t._v("In this section we will illustrate how to check tabular data for structural errors on "),o("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" where a data schema is not available. For this tutorial we will use a "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/goodtables-py/bc6470a970aacf65f20a3ddb7f71eb05a2a31c70/data/invalid-on-structure.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("sample CSV file with errors"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[t._v("Copy and paste the file’s URL to the "),o("strong",[t._v("{Source}")]),t._v(" input. When you click on the "),o("strong",[t._v("{Validate}")]),t._v(" button, "),o("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" presents an exhaustive list of structural errors in your dataset.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(468),alt:"Add dataset link in the Source field, or select the Upload file option"}}),o("br"),t._v(" "),o("em",[t._v("Figure 1: Add dataset link in the Source field, or select the Upload file option.")])]),t._v(" "),o("p",[t._v("If needed, you can disable two types of validation checks:")]),t._v(" "),o("ul",[o("li",[o("p",[t._v("Ignore blank rows"),o("br"),t._v("\nUse this checkbox to indicate whether blank rows should be considered as errors, or simply ignored. Check this option if missing data is a known issue that cannot be fixed immediately i.e. if you are not the owner/publisher of the data.")])]),t._v(" "),o("li",[o("p",[t._v("Ignore duplicate rows"),o("br"),t._v("\nUse this checkbox to indicate whether duplicate rows should be considered as errors, or simply ignored.")])])]),t._v(" "),o("p",[t._v("We will leave all boxes unchecked for our example. On validate, we receive a list of 12 errors as we can see in figure 7 below.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(469),alt:"dataset errors outlined on try.goodtables.io"}}),o("br"),t._v(" "),o("em",[t._v("Figure 2: dataset errors outlined on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" points us to specific cells containing errors so they can be fixed easily. We can use this list as a guide to fix all errors in our data manually, and run a second validation test to confirm that all issues are resolved. If there no validations could be found, the ensuing message will be as in figure 8 below:")]),t._v(" "),o("p",[o("img",{attrs:{src:a(470),alt:"valid data message on goodtables.io"}}),o("br"),t._v(" "),o("em",[t._v("Figure 3: valid data message on "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[t._v("Improving data quality is an iterative process that should involve data publishers and maintainers. Tools such as "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" allow you to focus on complex errors like if the presented data is correct, instead of wasting time with simple (but very common) errors like incorrect date formats.")]),t._v(" "),o("p",[o("strong",[t._v("Validating tabular data with a schema")])]),t._v(" "),o("p",[t._v("A data schema contains information on the structure of your tabular data. Providing a data schema as part of the validation process on "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" makes it possible to check your dataset for content errors. For example, a schema contains information on fields and their assigned data types, making it possible to highlight misplaced data i.e. text in an amounts column where numeric data is expected. If you haven’t yet, learn how to create a data schema for your data collection before continuing with this section.")]),t._v(" "),o("p",[t._v("To test how this works, you can use:")]),t._v(" "),o("ul",[o("li",[t._v("any of the data packages from "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[t._v("this Data Package collection on GitHub"),o("OutboundLink")],1),t._v(", which comprises of example data packages curated by the Frictionless Data team or")]),t._v(" "),o("li",[o("a",{attrs:{href:"http://datahub.io/core/",target:"_blank",rel:"noopener noreferrer"}},[t._v("any of the Core Data Packages on DataHub"),o("OutboundLink")],1),t._v(". The Core Data project provides essential data for data wranglers and data science community. Read more about it "),o("a",{attrs:{href:"https://datahub.io/docs/core-data",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[t._v("In any given Data Package, the "),o("em",[t._v("datapackage.json")]),t._v(" file contains the schema and the data folder contains tabular data to be validated against the schema.")]),t._v(" "),o("p",[t._v("Often, you will find that you may be working in workflows that involve many datasets, which are updated regularly. In cases such as this, one-time validation on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" is probably not the answer. But fear not! Goodtables has the ability to automate the validation process so that errors are checked for continually. Find out more in our continuous and "),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[t._v("automated data validation section")]),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"one-time-data-validation-with-goodtables-command-line-tool"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#one-time-data-validation-with-goodtables-command-line-tool"}},[t._v("#")]),t._v(" One-time data validation with goodtables command line tool")]),t._v(" "),o("p",[t._v("The same validations that we’ve done on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(", can also be done in your local machine using goodtables. This is especially useful for big datasets, or if your data is not publicly accessible online. However, this is a slightly technical task, which requires basic knowledge of the command line (CLI). If you don’t know how to use the CLI, or are a bit rusty, we recommend you to read the "),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/intro_to_command_line/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Introduction to the command-line tutorial"),o("OutboundLink")],1),t._v(" before proceeding.")]),t._v(" "),o("p",[t._v("For this section, you will need:")]),t._v(" "),o("ul",[o("li",[t._v("Python, a programming language which the goodtables command-line tool is written in - ["),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/python_installation/",target:"_blank",rel:"noopener noreferrer"}},[t._v("installation instructions"),o("OutboundLink")],1),t._v("]")]),t._v(" "),o("li",[t._v("PIP, a tool that allows you to install packages written in Python. Installing Python automatically installs PIP, but in case not - [installation instructions]")]),t._v(" "),o("li",[t._v("Basic knowledge on how to use the command-line (see the "),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/intro_to_command_line/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Introduction to the command-line"),o("OutboundLink")],1),t._v(" if you want to brush up your skills)")])]),t._v(" "),o("p",[t._v("Once Python is set up, open your "),o("strong",[t._v("Terminal")]),t._v(" and install goodtables using the package manager, PIP. The command "),o("code",[t._v("pip install goodtables")]),t._v(".")]),t._v(" "),o("p",[o("img",{attrs:{src:a(471),alt:"installing goodtables command-line tool with pip in Terminal"}}),o("br"),t._v(" "),o("em",[t._v("Figure 4: installing goodtables command-line tool with pip in Terminal.")])]),t._v(" "),o("p",[t._v("To validate a data file, type goodtables followed by the path to your file i.e. "),o("code",[t._v("goodtables path/to/file.csv")]),t._v(". You can pass multiple file paths one after the other, or even the path to a "),o("em",[t._v("datapackage.json")]),t._v(" file.")]),t._v(" "),o("p",[t._v("For our first example, we will download and check "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py/blob/master/data/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("this simple location CSV data file"),o("OutboundLink")],1),t._v(" for errors. In the second instance, we will validate this "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/goodtables-py/bc6470a970aacf65f20a3ddb7f71eb05a2a31c70/data/invalid-on-structure.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("Department of Data Expenses dataset, that contains errors"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[o("img",{attrs:{src:a(472),alt:"Validating data files using goodtables in Terminal"}}),o("br"),t._v(" "),o("em",[t._v("Figure 5: Validating data files using goodtables in Terminal.")])]),t._v(" "),o("p",[t._v("You can see the list of options by running "),o("code",[t._v("goodtables --help")]),t._v(". The full documentation, including the list of validation checks that can be run, is available "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("on the goodtables-py repository on GitHub"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[t._v("Congratulations, you now know how to validate your tabular data using the command-line!")]),t._v(" "),o("p",[t._v("If you regularly update your data or maintain many different datasets, running the validations manually can be time-consuming. The solution is to automate this process, so the data is validated every time it changes, ensuring the errors are caught as soon as possible. Find out how to do it in the “"),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[t._v("Automating the validation checks")]),t._v("” section.")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{468:function(t,e,a){t.exports=a.p+"assets/img/figure-1.ab449321.png"},469:function(t,e,a){t.exports=a.p+"assets/img/figure-2.b334817a.png"},470:function(t,e,a){t.exports=a.p+"assets/img/figure-3.7144591c.png"},471:function(t,e,a){t.exports=a.p+"assets/img/figure-4.478e4974.gif"},472:function(t,e,a){t.exports=a.p+"assets/img/figure-5.e20a138b.gif"},604:function(t,e,a){"use strict";a.r(e);var o=a(29),r=Object(o.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("Errors in data are not uncommon. They also often get in the way of quick and timely data analysis for many data users. What if there was a way to quickly identify errors in your data to accelerate the process by which you fix them before sharing your data or using it for analysis?")]),t._v(" "),o("p",[t._v("In this section, we will learn how to carry out one-time data validation using")]),t._v(" "),o("ul",[o("li",[t._v("a free web tool called "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(",")]),t._v(" "),o("li",[t._v("the goodtables command line tool which you use in your local machine.")])]),t._v(" "),o("p",[t._v("Our working assumption is that you already know what a data schema and a data package are, and how to create them. If not, "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[t._v("start here")]),t._v(".")],1),t._v(" "),o("h2",{attrs:{id:"one-time-data-validation-with-try-goodtables-io"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#one-time-data-validation-with-try-goodtables-io"}},[t._v("#")]),t._v(" One-time data validation with "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("Now that you have your data package you may want to check it for errors. We refer to this process as data validation. Raw data is often ‘messy’ or ‘dirty’, which means it contains errors and irrelevant bits that make it inaccurate and difficult to quickly analyse and draw insight from existing datasets. "),o("strong",[t._v("Goodtables")]),t._v(" exists to identify structural and content errors in your tabular data so they can be fixed quickly. As with other tools mentioned in this field guide, goodtables aims to help data publishers improve the quality of their data before the data is shared elsewhere and used for analysis, or archived.")]),t._v(" "),o("p",[o("strong",[t._v("Types of errors identified in the validation process")])]),t._v(" "),o("p",[t._v("Here are some of the errors that "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" highlights. A more exhaustive list is available "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py#validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("table",[o("thead",[o("tr",[o("th",[o("strong",[t._v("Structural Errors")])]),t._v(" "),o("th")])]),t._v(" "),o("tbody",[o("tr",[o("td",[t._v("blank-header")]),t._v(" "),o("td",[t._v("There is a blank header name. All cells in the header row must have a value.")])]),t._v(" "),o("tr",[o("td",[t._v("duplicate-header")]),t._v(" "),o("td",[t._v("There are multiple columns with the same name. All column names must be unique.")])]),t._v(" "),o("tr",[o("td",[t._v("blank-row")]),t._v(" "),o("td",[t._v("Rows must have at least one non-blank cell.")])]),t._v(" "),o("tr",[o("td",[t._v("duplicate-row")]),t._v(" "),o("td",[t._v("Rows can’t be duplicated.")])]),t._v(" "),o("tr",[o("td",[t._v("extra-value")]),t._v(" "),o("td",[t._v("A row has more columns than the header.")])]),t._v(" "),o("tr",[o("td",[t._v("missing-value")]),t._v(" "),o("td",[t._v("A row has less columns than the header.")])]),t._v(" "),o("tr",[o("td",[o("strong",[t._v("Content Errors")])]),t._v(" "),o("td")]),t._v(" "),o("tr",[o("td",[t._v("schema-error")]),t._v(" "),o("td",[t._v("Schema is not valid.")])]),t._v(" "),o("tr",[o("td",[t._v("non-matching-header")]),t._v(" "),o("td",[t._v("The header’s name in the schema is different from what’s in the data.")])]),t._v(" "),o("tr",[o("td",[t._v("extra-header")]),t._v(" "),o("td",[t._v("The data contains a header not defined in the schema.")])]),t._v(" "),o("tr",[o("td",[t._v("missing-header")]),t._v(" "),o("td",[t._v("The data doesn’t contain a header defined in the schema.")])]),t._v(" "),o("tr",[o("td",[t._v("type-or-format-error")]),t._v(" "),o("td",[t._v("The value can’t be cast based on the schema type and format for this field.")])])])]),t._v(" "),o("p",[o("strong",[t._v("Load tabular data for one-time validation")])]),t._v(" "),o("p",[t._v("You can add a dataset for one-time validation on "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" in two ways:")]),t._v(" "),o("ul",[o("li",[t._v("If your tabular data is publicly available online, obtain a link to the tabular data you would like to validate and paste it in the "),o("strong",[t._v("{Source}")]),t._v(" section.")]),t._v(" "),o("li",[t._v("Alternatively, Click on the Upload file prompt in the "),o("strong",[t._v("{Source}")]),t._v(" section to load a tabular dataset from your local machine")])]),t._v(" "),o("p",[o("strong",[t._v("Validating data without a schema")])]),t._v(" "),o("p",[t._v("In this section we will illustrate how to check tabular data for structural errors on "),o("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" where a data schema is not available. For this tutorial we will use a "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/goodtables-py/bc6470a970aacf65f20a3ddb7f71eb05a2a31c70/data/invalid-on-structure.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("sample CSV file with errors"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[t._v("Copy and paste the file’s URL to the "),o("strong",[t._v("{Source}")]),t._v(" input. When you click on the "),o("strong",[t._v("{Validate}")]),t._v(" button, "),o("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" presents an exhaustive list of structural errors in your dataset.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(468),alt:"Add dataset link in the Source field, or select the Upload file option"}}),o("br"),t._v(" "),o("em",[t._v("Figure 1: Add dataset link in the Source field, or select the Upload file option.")])]),t._v(" "),o("p",[t._v("If needed, you can disable two types of validation checks:")]),t._v(" "),o("ul",[o("li",[o("p",[t._v("Ignore blank rows"),o("br"),t._v("\nUse this checkbox to indicate whether blank rows should be considered as errors, or simply ignored. Check this option if missing data is a known issue that cannot be fixed immediately i.e. if you are not the owner/publisher of the data.")])]),t._v(" "),o("li",[o("p",[t._v("Ignore duplicate rows"),o("br"),t._v("\nUse this checkbox to indicate whether duplicate rows should be considered as errors, or simply ignored.")])])]),t._v(" "),o("p",[t._v("We will leave all boxes unchecked for our example. On validate, we receive a list of 12 errors as we can see in figure 7 below.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(469),alt:"dataset errors outlined on try.goodtables.io"}}),o("br"),t._v(" "),o("em",[t._v("Figure 2: dataset errors outlined on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" points us to specific cells containing errors so they can be fixed easily. We can use this list as a guide to fix all errors in our data manually, and run a second validation test to confirm that all issues are resolved. If there no validations could be found, the ensuing message will be as in figure 8 below:")]),t._v(" "),o("p",[o("img",{attrs:{src:a(470),alt:"valid data message on goodtables.io"}}),o("br"),t._v(" "),o("em",[t._v("Figure 3: valid data message on "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[t._v("Improving data quality is an iterative process that should involve data publishers and maintainers. Tools such as "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" allow you to focus on complex errors like if the presented data is correct, instead of wasting time with simple (but very common) errors like incorrect date formats.")]),t._v(" "),o("p",[o("strong",[t._v("Validating tabular data with a schema")])]),t._v(" "),o("p",[t._v("A data schema contains information on the structure of your tabular data. Providing a data schema as part of the validation process on "),o("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" makes it possible to check your dataset for content errors. For example, a schema contains information on fields and their assigned data types, making it possible to highlight misplaced data i.e. text in an amounts column where numeric data is expected. If you haven’t yet, learn how to create a data schema for your data collection before continuing with this section.")]),t._v(" "),o("p",[t._v("To test how this works, you can use:")]),t._v(" "),o("ul",[o("li",[t._v("any of the data packages from "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[t._v("this Data Package collection on GitHub"),o("OutboundLink")],1),t._v(", which comprises of example data packages curated by the Frictionless Data team or")]),t._v(" "),o("li",[o("a",{attrs:{href:"http://datahub.io/core/",target:"_blank",rel:"noopener noreferrer"}},[t._v("any of the Core Data Packages on DataHub"),o("OutboundLink")],1),t._v(". The Core Data project provides essential data for data wranglers and data science community. Read more about it "),o("a",{attrs:{href:"https://datahub.io/docs/core-data",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")])]),t._v(" "),o("p",[t._v("In any given Data Package, the "),o("em",[t._v("datapackage.json")]),t._v(" file contains the schema and the data folder contains tabular data to be validated against the schema.")]),t._v(" "),o("p",[t._v("Often, you will find that you may be working in workflows that involve many datasets, which are updated regularly. In cases such as this, one-time validation on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(" is probably not the answer. But fear not! Goodtables has the ability to automate the validation process so that errors are checked for continually. Find out more in our continuous and "),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[t._v("automated data validation section")]),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"one-time-data-validation-with-goodtables-command-line-tool"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#one-time-data-validation-with-goodtables-command-line-tool"}},[t._v("#")]),t._v(" One-time data validation with goodtables command line tool")]),t._v(" "),o("p",[t._v("The same validations that we’ve done on "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),o("OutboundLink")],1),t._v(", can also be done in your local machine using goodtables. This is especially useful for big datasets, or if your data is not publicly accessible online. However, this is a slightly technical task, which requires basic knowledge of the command line (CLI). If you don’t know how to use the CLI, or are a bit rusty, we recommend you to read the "),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/intro_to_command_line/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Introduction to the command-line tutorial"),o("OutboundLink")],1),t._v(" before proceeding.")]),t._v(" "),o("p",[t._v("For this section, you will need:")]),t._v(" "),o("ul",[o("li",[t._v("Python, a programming language which the goodtables command-line tool is written in - ["),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/python_installation/",target:"_blank",rel:"noopener noreferrer"}},[t._v("installation instructions"),o("OutboundLink")],1),t._v("]")]),t._v(" "),o("li",[t._v("PIP, a tool that allows you to install packages written in Python. Installing Python automatically installs PIP, but in case not - [installation instructions]")]),t._v(" "),o("li",[t._v("Basic knowledge on how to use the command-line (see the "),o("a",{attrs:{href:"https://tutorial.djangogirls.org/en/intro_to_command_line/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Introduction to the command-line"),o("OutboundLink")],1),t._v(" if you want to brush up your skills)")])]),t._v(" "),o("p",[t._v("Once Python is set up, open your "),o("strong",[t._v("Terminal")]),t._v(" and install goodtables using the package manager, PIP. The command "),o("code",[t._v("pip install goodtables")]),t._v(".")]),t._v(" "),o("p",[o("img",{attrs:{src:a(471),alt:"installing goodtables command-line tool with pip in Terminal"}}),o("br"),t._v(" "),o("em",[t._v("Figure 4: installing goodtables command-line tool with pip in Terminal.")])]),t._v(" "),o("p",[t._v("To validate a data file, type goodtables followed by the path to your file i.e. "),o("code",[t._v("goodtables path/to/file.csv")]),t._v(". You can pass multiple file paths one after the other, or even the path to a "),o("em",[t._v("datapackage.json")]),t._v(" file.")]),t._v(" "),o("p",[t._v("For our first example, we will download and check "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py/blob/master/data/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("this simple location CSV data file"),o("OutboundLink")],1),t._v(" for errors. In the second instance, we will validate this "),o("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/goodtables-py/bc6470a970aacf65f20a3ddb7f71eb05a2a31c70/data/invalid-on-structure.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("Department of Data Expenses dataset, that contains errors"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[o("img",{attrs:{src:a(472),alt:"Validating data files using goodtables in Terminal"}}),o("br"),t._v(" "),o("em",[t._v("Figure 5: Validating data files using goodtables in Terminal.")])]),t._v(" "),o("p",[t._v("You can see the list of options by running "),o("code",[t._v("goodtables --help")]),t._v(". The full documentation, including the list of validation checks that can be run, is available "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("on the goodtables-py repository on GitHub"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("p",[t._v("Congratulations, you now know how to validate your tabular data using the command-line!")]),t._v(" "),o("p",[t._v("If you regularly update your data or maintain many different datasets, running the validations manually can be time-consuming. The solution is to automate this process, so the data is validated every time it changes, ensuring the errors are caught as soon as possible. Find out how to do it in the “"),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[t._v("Automating the validation checks")]),t._v("” section.")])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/130.ed7d5db9.js b/assets/js/130.82d860fb.js similarity index 98% rename from assets/js/130.ed7d5db9.js rename to assets/js/130.82d860fb.js index 8ec60fed0..75164ae6e 100644 --- a/assets/js/130.ed7d5db9.js +++ b/assets/js/130.82d860fb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{729:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on May 29"),r("sup",[e._v("th")]),e._v(" we had Simon Tyrrell and Xingdong Bian from the Earlham Institute giving a presentation on Frictionless Data for Wheat. The project was developed during the Frictionless Toolfund 2020-2021.")]),e._v(" "),r("p",[e._v("Simon and Xingdong are part of the Designing Future Wheat, a research group studying how to increment the amount of wheat that is produced in a field in order to meet the global demand by 2050. To run the project, they collect a great amount of data and large scale datasets, which are shared with a great number of different users. Frictionless Data is used to make that data available, usable and interoperable for everyone.")]),e._v(" "),r("p",[e._v("You can learn more about the Designing Future Wheat project "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/05/frictionless-data-for-wheat/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about the Frictionless implementation, you can watch Simon’s and Xingdong’s presentation here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/E4Mw8cYlM88",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h1",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[e._v("We are super happy to share with you "),r("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Repository - a Github Action for the continuous data validation of your repo"),r("OutboundLink")],1),e._v("."),r("br"),e._v("\nWe are actively looking for feedback, so please let us know what you think.")]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on June 24"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from"),r("br"),e._v("\nNikhil Vats on Frictionless Data Package for InterMine. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/uC-whhwGiqk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v(" ")]),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{667:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on May 29"),r("sup",[e._v("th")]),e._v(" we had Simon Tyrrell and Xingdong Bian from the Earlham Institute giving a presentation on Frictionless Data for Wheat. The project was developed during the Frictionless Toolfund 2020-2021.")]),e._v(" "),r("p",[e._v("Simon and Xingdong are part of the Designing Future Wheat, a research group studying how to increment the amount of wheat that is produced in a field in order to meet the global demand by 2050. To run the project, they collect a great amount of data and large scale datasets, which are shared with a great number of different users. Frictionless Data is used to make that data available, usable and interoperable for everyone.")]),e._v(" "),r("p",[e._v("You can learn more about the Designing Future Wheat project "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/05/frictionless-data-for-wheat/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about the Frictionless implementation, you can watch Simon’s and Xingdong’s presentation here:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/E4Mw8cYlM88",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h1",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("p",[e._v("We are super happy to share with you "),r("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Repository - a Github Action for the continuous data validation of your repo"),r("OutboundLink")],1),e._v("."),r("br"),e._v("\nWe are actively looking for feedback, so please let us know what you think.")]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Our next meeting will be on June 24"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from"),r("br"),e._v("\nNikhil Vats on Frictionless Data Package for InterMine. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/uC-whhwGiqk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v(" ")]),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/131.46e9f4e2.js b/assets/js/131.231a1cb4.js similarity index 98% rename from assets/js/131.46e9f4e2.js rename to assets/js/131.231a1cb4.js index 64cbd2e9d..d1c92a0b8 100644 --- a/assets/js/131.46e9f4e2.js +++ b/assets/js/131.231a1cb4.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{661:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Have you noticed some changes to our website? Building upon last year’s "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/05/01/announcing-new-website/",target:"_blank",rel:"noopener noreferrer"}},[e._v("website redesign"),a("OutboundLink")],1),e._v(", we have finished making some new changes that we are very excited to tell you about! When we started reviewing our documentation for the "),a("a",{attrs:{href:"http://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Python Framework"),a("OutboundLink")],1),e._v(" with the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/#so-what-will-be-changing",target:"_blank",rel:"noopener noreferrer"}},[e._v("support of the ODI"),a("OutboundLink")],1),e._v(" back in January, we quickly realised that our main website could benefit from some revamping as well, in order to make it more user-friendly and easier to navigate.")]),e._v(" "),a("p",[e._v("We needed to clarify the relationship between our main project website and the website of all our Frictionless standards, software, and specifications, which all had different layouts and visual styles. The harmonisation process is still ongoing, but we are already very happy with the fact that the new website offers a comprehensive view of all our tools.")]),e._v(" "),a("p",[e._v("It was important for us that people visiting our website for the very first time could quickly understand what Frictionless Data is and how it can be useful to them. We did that through a reorganisation of the homepage and the navigation, which was a bit confusing for some users. We also updated most of the text to better reflect the current status of the project, but also to clearly state what Frictionless Data is. Users should now be able to understand in a glance that Frictionless is composed of two main parts, "),a("a",{attrs:{href:"https://frictionlessdata.io/software/",target:"_blank",rel:"noopener noreferrer"}},[e._v("software"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://frictionlessdata.io/standards/",target:"_blank",rel:"noopener noreferrer"}},[e._v("standards"),a("OutboundLink")],1),e._v(", which make it more accessible for a broad range of people working with data.")]),e._v(" "),a("img",{attrs:{width:"1337",alt:"Schermata 2021-06-16 alle 15 03 47",src:"https://user-images.githubusercontent.com/74717970/122254960-f2ad6700-cecd-11eb-88dd-a5cd119eec45.png"}}),e._v(" "),a("p",[e._v("Users will also easily find examples of "),a("a",{attrs:{href:"https://staging.frictionlessdata.io/adoption/",target:"_blank",rel:"noopener noreferrer"}},[e._v("projects and collaborations that adopted Frictionless"),a("OutboundLink")],1),e._v(", which can be very useful to better understand the full potential of the Frictionless toolkit.")]),e._v(" "),a("p",[e._v("Our goal with this new website is to give visitors an easier way to learn about Frictionless Data, encourage them to try it out and join our great community. The new architecture should reflect that, and should make it easier for people to understand that Frictionless Data is a progressive open-source framework for building data infrastructure, aiming at making it easier to work with data. Being an open-source project, we welcome and cherish everybody’s contribution. Talking about that, we would love to hear your feedback! Let us know what you think about the new website, if you have any comments or if you see any further improvement we could make. We have created a "),a("a",{attrs:{href:"https://github.com/frictionlessdata/website/issues/198",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub issue"),a("OutboundLink")],1),e._v(" you can use to give us your thoughts.")]),e._v(" "),a("p",[e._v("Thank you!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[131],{659:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Have you noticed some changes to our website? Building upon last year’s "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/05/01/announcing-new-website/",target:"_blank",rel:"noopener noreferrer"}},[e._v("website redesign"),a("OutboundLink")],1),e._v(", we have finished making some new changes that we are very excited to tell you about! When we started reviewing our documentation for the "),a("a",{attrs:{href:"http://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Python Framework"),a("OutboundLink")],1),e._v(" with the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/13/partnering-with-odi/#so-what-will-be-changing",target:"_blank",rel:"noopener noreferrer"}},[e._v("support of the ODI"),a("OutboundLink")],1),e._v(" back in January, we quickly realised that our main website could benefit from some revamping as well, in order to make it more user-friendly and easier to navigate.")]),e._v(" "),a("p",[e._v("We needed to clarify the relationship between our main project website and the website of all our Frictionless standards, software, and specifications, which all had different layouts and visual styles. The harmonisation process is still ongoing, but we are already very happy with the fact that the new website offers a comprehensive view of all our tools.")]),e._v(" "),a("p",[e._v("It was important for us that people visiting our website for the very first time could quickly understand what Frictionless Data is and how it can be useful to them. We did that through a reorganisation of the homepage and the navigation, which was a bit confusing for some users. We also updated most of the text to better reflect the current status of the project, but also to clearly state what Frictionless Data is. Users should now be able to understand in a glance that Frictionless is composed of two main parts, "),a("a",{attrs:{href:"https://frictionlessdata.io/software/",target:"_blank",rel:"noopener noreferrer"}},[e._v("software"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://frictionlessdata.io/standards/",target:"_blank",rel:"noopener noreferrer"}},[e._v("standards"),a("OutboundLink")],1),e._v(", which make it more accessible for a broad range of people working with data.")]),e._v(" "),a("img",{attrs:{width:"1337",alt:"Schermata 2021-06-16 alle 15 03 47",src:"https://user-images.githubusercontent.com/74717970/122254960-f2ad6700-cecd-11eb-88dd-a5cd119eec45.png"}}),e._v(" "),a("p",[e._v("Users will also easily find examples of "),a("a",{attrs:{href:"https://staging.frictionlessdata.io/adoption/",target:"_blank",rel:"noopener noreferrer"}},[e._v("projects and collaborations that adopted Frictionless"),a("OutboundLink")],1),e._v(", which can be very useful to better understand the full potential of the Frictionless toolkit.")]),e._v(" "),a("p",[e._v("Our goal with this new website is to give visitors an easier way to learn about Frictionless Data, encourage them to try it out and join our great community. The new architecture should reflect that, and should make it easier for people to understand that Frictionless Data is a progressive open-source framework for building data infrastructure, aiming at making it easier to work with data. Being an open-source project, we welcome and cherish everybody’s contribution. Talking about that, we would love to hear your feedback! Let us know what you think about the new website, if you have any comments or if you see any further improvement we could make. We have created a "),a("a",{attrs:{href:"https://github.com/frictionlessdata/website/issues/198",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub issue"),a("OutboundLink")],1),e._v(" you can use to give us your thoughts.")]),e._v(" "),a("p",[e._v("Thank you!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/132.09f13c2b.js b/assets/js/132.8d459fdd.js similarity index 97% rename from assets/js/132.09f13c2b.js rename to assets/js/132.8d459fdd.js index 0d53af1f9..1e35c7808 100644 --- a/assets/js/132.09f13c2b.js +++ b/assets/js/132.8d459fdd.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{662:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that a new tool has been added to the Frictionless Data toolkit: Livemark. What is that? Livemark is a great tool that allows you to publish data articles very easily, giving you the possibility to see your data live on a working website in a blink of an eye.")]),e._v(" "),a("h2",{attrs:{id:"how-does-it-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),a("p",[e._v("Livemark is a Python library generating a static page that extends Markdown with interactive charts, tables, scripts, and much much more. You can use the Frictionless framework as a "),a("code",[e._v("frictionless")]),e._v(" variable to work with your tabular data in Livemark.")]),e._v(" "),a("p",[e._v("Livemark offers a series of useful features, like automatically generating a table of contents and providing a scroll-to-top button when you scroll down your document. You can also customise the layout of your newly created webpage.")]),e._v(" "),a("h2",{attrs:{id:"how-can-you-get-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-get-started"}},[e._v("#")]),e._v(" How can you get started?")]),e._v(" "),a("p",[e._v("Livemark is very easy to use. We invite you watch this great demo by developer Evgeny Karev:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/NMg-eCbO6L0",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v(" ")]),e._v(" "),a("p",[e._v("You can also have a look at the "),a("a",{attrs:{href:"https://frictionlessdata.github.io/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation on GitHub"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"what-do-you-think"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-do-you-think"}},[e._v("#")]),e._v(" What do you think?")]),e._v(" "),a("p",[e._v("If you create a site using Livemark, please let us know! Frictionless Data is an open source project, therefore we encourage you to give us feedback. Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),a("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or by opening an issue in the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/livemark",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[132],{661:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that a new tool has been added to the Frictionless Data toolkit: Livemark. What is that? Livemark is a great tool that allows you to publish data articles very easily, giving you the possibility to see your data live on a working website in a blink of an eye.")]),e._v(" "),a("h2",{attrs:{id:"how-does-it-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),a("p",[e._v("Livemark is a Python library generating a static page that extends Markdown with interactive charts, tables, scripts, and much much more. You can use the Frictionless framework as a "),a("code",[e._v("frictionless")]),e._v(" variable to work with your tabular data in Livemark.")]),e._v(" "),a("p",[e._v("Livemark offers a series of useful features, like automatically generating a table of contents and providing a scroll-to-top button when you scroll down your document. You can also customise the layout of your newly created webpage.")]),e._v(" "),a("h2",{attrs:{id:"how-can-you-get-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-you-get-started"}},[e._v("#")]),e._v(" How can you get started?")]),e._v(" "),a("p",[e._v("Livemark is very easy to use. We invite you watch this great demo by developer Evgeny Karev:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/NMg-eCbO6L0",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v(" ")]),e._v(" "),a("p",[e._v("You can also have a look at the "),a("a",{attrs:{href:"https://frictionlessdata.github.io/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation on GitHub"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"what-do-you-think"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-do-you-think"}},[e._v("#")]),e._v(" What do you think?")]),e._v(" "),a("p",[e._v("If you create a site using Livemark, please let us know! Frictionless Data is an open source project, therefore we encourage you to give us feedback. Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),a("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or by opening an issue in the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/livemark",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/133.ac61a8e6.js b/assets/js/133.c345b419.js similarity index 99% rename from assets/js/133.ac61a8e6.js rename to assets/js/133.c345b419.js index 24de431af..61942291e 100644 --- a/assets/js/133.ac61a8e6.js +++ b/assets/js/133.c345b419.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{663:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Do you remember "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/user/73932",target:"_blank",rel:"noopener noreferrer"}},[e._v("Costas Simatos"),o("OutboundLink")],1),e._v("? He introduced the Frictionless Data community to the "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("Interoperability Test Bed"),o("OutboundLink")],1),e._v(" (ITB), an online platform that can be used to test systems against technical specifications — curious minds will find a recording of his presentation on the subject "),o("a",{attrs:{href:"https://www.youtube.com/watch?v=pJFsJW96fuA",target:"_blank",rel:"noopener noreferrer"}},[e._v("available on YouTube"),o("OutboundLink")],1),e._v(". Amongst the tools it offers, there is a "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/csvvalidator",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV validator"),o("OutboundLink")],1),e._v(" which relies on the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema specifications"),o("OutboundLink")],1),e._v(". Those specifications filled a gap that the "),o("a",{attrs:{href:"https://datatracker.ietf.org/doc/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC 4180"),o("OutboundLink")],1),e._v(" didn’t address by having a structured way of defining the content of individual fields in terms of data types, formats and constraints, which is a clear benefit of the Frictionless specifications as reported back in 2020 "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/table-schema-validator",target:"_blank",rel:"noopener noreferrer"}},[e._v("when a beta version of the CSV validator was launched"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("p",[e._v("Frictionless specifications are flexible while allowing users to define unambiguously the expected content of a given field, therefore they were officially adopted to "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/test-bed-support-kohesio-pilot",target:"_blank",rel:"noopener noreferrer"}},[e._v("realise the validator for the Kohesio pilot phase of 2014-2020"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://kohesio.eu/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kohesio"),o("OutboundLink")],1),e._v(" being the "),o("em",[e._v("“Project Information Portal for Cohesion Policy”")]),e._v(". The Table Schema specifications made it easy and convenient for the Interoperability Test Bed to establish constraints and describe the data to be validated in a concise way based on an initial set of "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/solution/kohesio-validator/specification",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV syntax rules"),o("OutboundLink")],1),e._v(", converting written and mostly non-technical definitions to their Frictionless equivalent. Using simple JSON objects, Frictionless specifications allowed the ITB to enforce data validation in multiple ways as can be observed from the "),o("a",{attrs:{href:"https://github.com/ISAITB/validator-resources-kohesio/blob/master/resources/schemas/schema.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema used for the CSV validator"),o("OutboundLink")],1),e._v(". The following list of items calls attention to the core aspects of the Table Schema standard that were taken advantage of:")]),e._v(" "),o("ul",[o("li",[e._v("Dates can be defined with string formatting (e.g. "),o("code",[e._v("%d/%m/%Y")]),e._v(" stands for "),o("code",[e._v("day/month/year")]),e._v(");")]),e._v(" "),o("li",[e._v("Constraints can indicate whether a column can contain empty values or not;")]),e._v(" "),o("li",[e._v("Constraints can also specify a valid range of values (e.g. "),o("code",[e._v('"minimum": 0.0')]),e._v(" and "),o("code",[e._v('"maximum": 100.0')]),e._v(");")]),e._v(" "),o("li",[e._v("Constraints can specify an enumeration of valid values to choose from (e.g. "),o("code",[e._v('"enum" : ["2014-2020", "2021-2027"]')]),e._v(").")]),e._v(" "),o("li",[e._v("Constraints can be specified in custom ways, such as with "),o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Regular_expression",target:"_blank",rel:"noopener noreferrer"}},[e._v("regular expressions"),o("OutboundLink")],1),e._v(" for powerful string matching capabilities;")]),e._v(" "),o("li",[e._v("Data types can be enforced for any column;")]),e._v(" "),o("li",[e._v("Columns can be forced to adapt a specific name and a description can be provided for each one of them.")])]),e._v(" "),o("p",[e._v("Because these specifications can be expressed as portable text files, they became part of a multitude of tools to provide greater convenience to users and the validation process has been "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingCSV/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("documented extensively"),o("OutboundLink")],1),e._v(". JSON code snippets from the documentation highlight the fact that this format conveys all the necessary information in a readable manner and lets users extend the original specifications as needed. In this particular instance, the CSV validator can be used as a "),o("a",{attrs:{href:"https://hub.docker.com/repository/docker/isaitb/validator-kohesio",target:"_blank",rel:"noopener noreferrer"}},[e._v("Docker image"),o("OutboundLink")],1),e._v(", as part of a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv-offline/kohesio/validator.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("command-line application"),o("OutboundLink")],1),e._v(", inside a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/kohesio/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("web application"),o("OutboundLink")],1),e._v(" and even as a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/soap/kohesio/validation?wsdl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SOAP API"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Frictionless specifications were the missing piece of the puzzle that enabled the ITB to rely on a well-documented set of standards for their data validation needs. But there is more on the table (no pun intended): whether you need to manage files, tables or entire datasets, there are "),o("RouterLink",{attrs:{to:"/standards/"}},[e._v("Frictionless standards")]),e._v(" to cover you. As the growing "),o("RouterLink",{attrs:{to:"/adoption/"}},[e._v("list of adopters and collaborations")]),e._v(" demonstrates, there are many use cases to make a data project shine with Frictionless.")],1),e._v(" "),o("p",[e._v("Are you working on a great project that should become the next glowing star in the world of Frictionless Data? Feel free to "),o("RouterLink",{attrs:{to:"/work-with-us/get-help/"}},[e._v("reach out")]),e._v(" to spread the good news!")],1)])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{665:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Do you remember "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/user/73932",target:"_blank",rel:"noopener noreferrer"}},[e._v("Costas Simatos"),o("OutboundLink")],1),e._v("? He introduced the Frictionless Data community to the "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("Interoperability Test Bed"),o("OutboundLink")],1),e._v(" (ITB), an online platform that can be used to test systems against technical specifications — curious minds will find a recording of his presentation on the subject "),o("a",{attrs:{href:"https://www.youtube.com/watch?v=pJFsJW96fuA",target:"_blank",rel:"noopener noreferrer"}},[e._v("available on YouTube"),o("OutboundLink")],1),e._v(". Amongst the tools it offers, there is a "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/csvvalidator",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV validator"),o("OutboundLink")],1),e._v(" which relies on the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema specifications"),o("OutboundLink")],1),e._v(". Those specifications filled a gap that the "),o("a",{attrs:{href:"https://datatracker.ietf.org/doc/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC 4180"),o("OutboundLink")],1),e._v(" didn’t address by having a structured way of defining the content of individual fields in terms of data types, formats and constraints, which is a clear benefit of the Frictionless specifications as reported back in 2020 "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/table-schema-validator",target:"_blank",rel:"noopener noreferrer"}},[e._v("when a beta version of the CSV validator was launched"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("p",[e._v("Frictionless specifications are flexible while allowing users to define unambiguously the expected content of a given field, therefore they were officially adopted to "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/interoperability-test-bed-repository/solution/interoperability-test-bed/news/test-bed-support-kohesio-pilot",target:"_blank",rel:"noopener noreferrer"}},[e._v("realise the validator for the Kohesio pilot phase of 2014-2020"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://kohesio.eu/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Kohesio"),o("OutboundLink")],1),e._v(" being the "),o("em",[e._v("“Project Information Portal for Cohesion Policy”")]),e._v(". The Table Schema specifications made it easy and convenient for the Interoperability Test Bed to establish constraints and describe the data to be validated in a concise way based on an initial set of "),o("a",{attrs:{href:"https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/solution/kohesio-validator/specification",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV syntax rules"),o("OutboundLink")],1),e._v(", converting written and mostly non-technical definitions to their Frictionless equivalent. Using simple JSON objects, Frictionless specifications allowed the ITB to enforce data validation in multiple ways as can be observed from the "),o("a",{attrs:{href:"https://github.com/ISAITB/validator-resources-kohesio/blob/master/resources/schemas/schema.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema used for the CSV validator"),o("OutboundLink")],1),e._v(". The following list of items calls attention to the core aspects of the Table Schema standard that were taken advantage of:")]),e._v(" "),o("ul",[o("li",[e._v("Dates can be defined with string formatting (e.g. "),o("code",[e._v("%d/%m/%Y")]),e._v(" stands for "),o("code",[e._v("day/month/year")]),e._v(");")]),e._v(" "),o("li",[e._v("Constraints can indicate whether a column can contain empty values or not;")]),e._v(" "),o("li",[e._v("Constraints can also specify a valid range of values (e.g. "),o("code",[e._v('"minimum": 0.0')]),e._v(" and "),o("code",[e._v('"maximum": 100.0')]),e._v(");")]),e._v(" "),o("li",[e._v("Constraints can specify an enumeration of valid values to choose from (e.g. "),o("code",[e._v('"enum" : ["2014-2020", "2021-2027"]')]),e._v(").")]),e._v(" "),o("li",[e._v("Constraints can be specified in custom ways, such as with "),o("a",{attrs:{href:"https://en.wikipedia.org/wiki/Regular_expression",target:"_blank",rel:"noopener noreferrer"}},[e._v("regular expressions"),o("OutboundLink")],1),e._v(" for powerful string matching capabilities;")]),e._v(" "),o("li",[e._v("Data types can be enforced for any column;")]),e._v(" "),o("li",[e._v("Columns can be forced to adapt a specific name and a description can be provided for each one of them.")])]),e._v(" "),o("p",[e._v("Because these specifications can be expressed as portable text files, they became part of a multitude of tools to provide greater convenience to users and the validation process has been "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/docs/guides/latest/validatingCSV/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("documented extensively"),o("OutboundLink")],1),e._v(". JSON code snippets from the documentation highlight the fact that this format conveys all the necessary information in a readable manner and lets users extend the original specifications as needed. In this particular instance, the CSV validator can be used as a "),o("a",{attrs:{href:"https://hub.docker.com/repository/docker/isaitb/validator-kohesio",target:"_blank",rel:"noopener noreferrer"}},[e._v("Docker image"),o("OutboundLink")],1),e._v(", as part of a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv-offline/kohesio/validator.zip",target:"_blank",rel:"noopener noreferrer"}},[e._v("command-line application"),o("OutboundLink")],1),e._v(", inside a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/kohesio/upload",target:"_blank",rel:"noopener noreferrer"}},[e._v("web application"),o("OutboundLink")],1),e._v(" and even as a "),o("a",{attrs:{href:"https://www.itb.ec.europa.eu/csv/soap/kohesio/validation?wsdl",target:"_blank",rel:"noopener noreferrer"}},[e._v("SOAP API"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Frictionless specifications were the missing piece of the puzzle that enabled the ITB to rely on a well-documented set of standards for their data validation needs. But there is more on the table (no pun intended): whether you need to manage files, tables or entire datasets, there are "),o("RouterLink",{attrs:{to:"/standards/"}},[e._v("Frictionless standards")]),e._v(" to cover you. As the growing "),o("RouterLink",{attrs:{to:"/adoption/"}},[e._v("list of adopters and collaborations")]),e._v(" demonstrates, there are many use cases to make a data project shine with Frictionless.")],1),e._v(" "),o("p",[e._v("Are you working on a great project that should become the next glowing star in the world of Frictionless Data? Feel free to "),o("RouterLink",{attrs:{to:"/work-with-us/get-help/"}},[e._v("reach out")]),e._v(" to spread the good news!")],1)])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/134.20dc089c.js b/assets/js/134.3527f1fb.js similarity index 98% rename from assets/js/134.20dc089c.js rename to assets/js/134.3527f1fb.js index 4403d81cd..223662093 100644 --- a/assets/js/134.20dc089c.js +++ b/assets/js/134.3527f1fb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{664:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last Frictionless Data community call on June 24"),a("sup",[e._v("th")]),e._v(" we had Nikhil Vats giving a presentation on Frictionless Package for InterMine. The project was developed during the Frictionless Toolfund 2020-2021.")]),e._v(" "),a("p",[e._v("InterMine is an open source biological data warehouse that creates databases of biological data accessed by sophisticated web query tools. Nikhil worked on the Frictionless Data Package integration, which is extremely helpful for users, as it describes all the fields of their query, specifically: name of field, type of field, class path, field and class ontology link.")]),e._v(" "),a("p",[e._v("You can learn more about the Data Package for InterMine project "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/04/13/data-package-for-intermine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about the Frictionless implementation, you can watch Nikhil Vats’ presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/6Izm_W-hNKI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("h3",{attrs:{id:"linked-data-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linked-data-support"}},[e._v("#")]),e._v(" Linked data support")]),e._v(" "),a("p",[e._v("Nikhil’s presentation naturally led to a discussion on adding support for linked data and ontologies to Frictionless Data. On several occasions the community has shown interest in extending Frictionless specifications by incorporating standard attributes like ontology terms for improved interoperability. There have also been several discussion about supporting JSON-LD or RDF in the main specifications for improved data linking and querying. Would this help your work? Let us know what you think and if you are potentially interested in participating in this project.")]),e._v(" "),a("h3",{attrs:{id:"new-tool-livemark"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#new-tool-livemark"}},[e._v("#")]),e._v(" New tool: Livemark")]),e._v(" "),a("p",[e._v("We are super happy to share with you the newest entry in the Frictionless Data toolkit: Livemark - a static page generator with built-in tables and charts support (with support for data processing and validation with Frictionless): "),a("a",{attrs:{href:"https://frictionlessdata.github.io/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.github.io/livemark/"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("To know more about it, check out "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("our latest blog"),a("OutboundLink")],1),e._v(" (featuring a great demo by developer Evgeny Karev).")]),e._v(" "),a("p",[e._v("As usual, we would love to hear what you think, so please share your thoughts, comments and feedback with us.")]),e._v(" "),a("h1",{attrs:{id:"news-from-the-community"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),a("p",[e._v("Michael Amadi from Nimble Learn presented the "),a("a",{attrs:{href:"https://www.opendatablend.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Blend project"),a("OutboundLink")],1),e._v(" - a set of open data services that aim to make large and complex UK open data easier to analyse. Open Data Blend’s bulk data API is built on the Frictionless Data specs. Keep an eye out for an upcoming blog with more details!")]),e._v(" "),a("p",[e._v("Frictionless contributor Peter Desmet proposed to start a Frictionless Data community on Zenodo. We are currently discussing the best way to do that on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" in the "),a("em",[e._v("datasets")]),e._v(" channel. Join us there if you are interested or have ideas!")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Our next meeting will be on July 29"),a("sup",[e._v("th")]),e._v(". We will hear a presentation from"),a("br"),e._v("\nDave Rowe on Public Libraries Open Data Schema. You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/4Kl_VBdbc5M",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[134],{663:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last Frictionless Data community call on June 24"),a("sup",[e._v("th")]),e._v(" we had Nikhil Vats giving a presentation on Frictionless Package for InterMine. The project was developed during the Frictionless Toolfund 2020-2021.")]),e._v(" "),a("p",[e._v("InterMine is an open source biological data warehouse that creates databases of biological data accessed by sophisticated web query tools. Nikhil worked on the Frictionless Data Package integration, which is extremely helpful for users, as it describes all the fields of their query, specifically: name of field, type of field, class path, field and class ontology link.")]),e._v(" "),a("p",[e._v("You can learn more about the Data Package for InterMine project "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/04/13/data-package-for-intermine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about the Frictionless implementation, you can watch Nikhil Vats’ presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/6Izm_W-hNKI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("h3",{attrs:{id:"linked-data-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#linked-data-support"}},[e._v("#")]),e._v(" Linked data support")]),e._v(" "),a("p",[e._v("Nikhil’s presentation naturally led to a discussion on adding support for linked data and ontologies to Frictionless Data. On several occasions the community has shown interest in extending Frictionless specifications by incorporating standard attributes like ontology terms for improved interoperability. There have also been several discussion about supporting JSON-LD or RDF in the main specifications for improved data linking and querying. Would this help your work? Let us know what you think and if you are potentially interested in participating in this project.")]),e._v(" "),a("h3",{attrs:{id:"new-tool-livemark"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#new-tool-livemark"}},[e._v("#")]),e._v(" New tool: Livemark")]),e._v(" "),a("p",[e._v("We are super happy to share with you the newest entry in the Frictionless Data toolkit: Livemark - a static page generator with built-in tables and charts support (with support for data processing and validation with Frictionless): "),a("a",{attrs:{href:"https://frictionlessdata.github.io/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.github.io/livemark/"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("To know more about it, check out "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("our latest blog"),a("OutboundLink")],1),e._v(" (featuring a great demo by developer Evgeny Karev).")]),e._v(" "),a("p",[e._v("As usual, we would love to hear what you think, so please share your thoughts, comments and feedback with us.")]),e._v(" "),a("h1",{attrs:{id:"news-from-the-community"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),a("p",[e._v("Michael Amadi from Nimble Learn presented the "),a("a",{attrs:{href:"https://www.opendatablend.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Blend project"),a("OutboundLink")],1),e._v(" - a set of open data services that aim to make large and complex UK open data easier to analyse. Open Data Blend’s bulk data API is built on the Frictionless Data specs. Keep an eye out for an upcoming blog with more details!")]),e._v(" "),a("p",[e._v("Frictionless contributor Peter Desmet proposed to start a Frictionless Data community on Zenodo. We are currently discussing the best way to do that on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" in the "),a("em",[e._v("datasets")]),e._v(" channel. Join us there if you are interested or have ideas!")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Our next meeting will be on July 29"),a("sup",[e._v("th")]),e._v(". We will hear a presentation from"),a("br"),e._v("\nDave Rowe on Public Libraries Open Data Schema. You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),a("OutboundLink")],1)]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/4Kl_VBdbc5M",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/135.ba6e6e56.js b/assets/js/135.755171c1.js similarity index 98% rename from assets/js/135.ba6e6e56.js rename to assets/js/135.755171c1.js index e201b9c15..452f0e1e4 100644 --- a/assets/js/135.ba6e6e56.js +++ b/assets/js/135.755171c1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{665:function(e,t,o){"use strict";o.r(t);var n=o(29),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("To say that I am proud of the "),o("RouterLink",{attrs:{to:"/blog/2020/09/01/hello-fellows-cohort2/"}},[e._v("second cohort of Frictionless Fellows")]),e._v(" is an understatement. Their insight, discussions, and breakthroughs have been a true joy to witness, and I feel so lucky to have had the chance to work and learn with each of them. Over the last 9 months, they not only learned about Frictionless Data tooling, how to make their research more reproducible, and how to advocate for open science, they also gave many presentations (some for the first time in public!), published papers, wrote dissertations, and gained confidence in their coding skills. I know each of them will be a leader in the open space, so keep an eye on them!")],1),e._v(" "),o("p",[e._v("As a final assignment, the Fellows have written blogs reflecting upon their experiences and what they learned during the programme. I’ve copied blurbs from each below, but be sure to click on the links to read more from each Fellow!")]),e._v(" "),o("ul",[o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Endings, Beginnings, and Reflections - by Anne Lee Steele"),o("OutboundLink")],1),o("br"),e._v("\n“What came out of this fellowship, as my colleagues have said time and time again, is much more than I ever could have imagined. Over the course of the past year, I’ve had fascinating debates with my cohort, and learned about how different disciplines unpack complex debates surrounding transparency, openness, and accessibility (as well as many other things). I’ve learned how to engage with the universe of open knowledge, and have even started working on my own related projects! With the support of OKF, I’ve learned how to give presentations in public, and think about data in ways I never had before.”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("A done deal - by Evelyn Night"),o("OutboundLink")],1),o("br"),e._v("\n“The fellowship was both exhilarating and educative. I got to engage in Open Science conversations, learned about and used frictionless tools like the Data Package Creator and Goodtables. I also navigated the open data landscape using CLI, Python, and git. I also got to engage in the Frictionless Community calls where software geniuses presented their work and also held Open science-centered conversations. These discussions enhanced my understanding of the Open Science movement and I felt a great honor to be involved in such meetings. I learned so much that the 9 months flew by.”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("A fellowship concludes - by Jacqueline Maasch"),o("OutboundLink")],1),o("br"),e._v("\n“It is hard to believe that my time as a Reproducible Research Fellow is over. I am most grateful for this program giving me a dedicated space in which to learn, a community with which to engage, and language with which to arm myself. I have been exposed to issues in open science that I had never encountered before, and have had the privilege of discussing these issues with people from across the world. I will miss the journal clubs the most!”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("My experience in the fellows program - a reflection - by Katerina Drakoulaki"),o("OutboundLink")],1),o("br"),e._v("\n“I got into the fellowship just with the hope of getting the opportunity to learn things I didn’t have the opportunity to learn on my own. That is, I did not have specific expectations, I was (and still am) grateful to be in. I feel that all the implicit expectations I might have had are all fulfilled. I got an amazing boost in my digital skills altogether and I know exactly why (no I did not gain a few IQ points). I was in a helpful community and I matured in a way that enabled me to have more of a growth mindset. I also saw other people ‘fail’, as in having their code not working and having to google the solution! I have to say all the readings, the discussions, the tutorials, the Frictionless tools have been amazing, but this shift in my mindset has been the greatest gift the fellowship has given me.”")])])]),e._v(" "),o("p",[e._v("Thank you Fellows! As a bonus, here are the reflections from the first cohort of Fellows: "),o("a",{attrs:{href:"https://blog.okfn.org/2020/06/09/reflecting-on-the-first-cohort-of-frictionless-data-reproducible-research-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2020/06/09/reflecting-on-the-first-cohort-of-frictionless-data-reproducible-research-fellows/"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[135],{664:function(e,t,o){"use strict";o.r(t);var n=o(29),a=Object(n.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("To say that I am proud of the "),o("RouterLink",{attrs:{to:"/blog/2020/09/01/hello-fellows-cohort2/"}},[e._v("second cohort of Frictionless Fellows")]),e._v(" is an understatement. Their insight, discussions, and breakthroughs have been a true joy to witness, and I feel so lucky to have had the chance to work and learn with each of them. Over the last 9 months, they not only learned about Frictionless Data tooling, how to make their research more reproducible, and how to advocate for open science, they also gave many presentations (some for the first time in public!), published papers, wrote dissertations, and gained confidence in their coding skills. I know each of them will be a leader in the open space, so keep an eye on them!")],1),e._v(" "),o("p",[e._v("As a final assignment, the Fellows have written blogs reflecting upon their experiences and what they learned during the programme. I’ve copied blurbs from each below, but be sure to click on the links to read more from each Fellow!")]),e._v(" "),o("ul",[o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/anne-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Endings, Beginnings, and Reflections - by Anne Lee Steele"),o("OutboundLink")],1),o("br"),e._v("\n“What came out of this fellowship, as my colleagues have said time and time again, is much more than I ever could have imagined. Over the course of the past year, I’ve had fascinating debates with my cohort, and learned about how different disciplines unpack complex debates surrounding transparency, openness, and accessibility (as well as many other things). I’ve learned how to engage with the universe of open knowledge, and have even started working on my own related projects! With the support of OKF, I’ve learned how to give presentations in public, and think about data in ways I never had before.”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/evelyn-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("A done deal - by Evelyn Night"),o("OutboundLink")],1),o("br"),e._v("\n“The fellowship was both exhilarating and educative. I got to engage in Open Science conversations, learned about and used frictionless tools like the Data Package Creator and Goodtables. I also navigated the open data landscape using CLI, Python, and git. I also got to engage in the Frictionless Community calls where software geniuses presented their work and also held Open science-centered conversations. These discussions enhanced my understanding of the Open Science movement and I felt a great honor to be involved in such meetings. I learned so much that the 9 months flew by.”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/jacqueline-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("A fellowship concludes - by Jacqueline Maasch"),o("OutboundLink")],1),o("br"),e._v("\n“It is hard to believe that my time as a Reproducible Research Fellow is over. I am most grateful for this program giving me a dedicated space in which to learn, a community with which to engage, and language with which to arm myself. I have been exposed to issues in open science that I had never encountered before, and have had the privilege of discussing these issues with people from across the world. I will miss the journal clubs the most!”")])]),e._v(" "),o("li",[o("p",[o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/katerina-final-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("My experience in the fellows program - a reflection - by Katerina Drakoulaki"),o("OutboundLink")],1),o("br"),e._v("\n“I got into the fellowship just with the hope of getting the opportunity to learn things I didn’t have the opportunity to learn on my own. That is, I did not have specific expectations, I was (and still am) grateful to be in. I feel that all the implicit expectations I might have had are all fulfilled. I got an amazing boost in my digital skills altogether and I know exactly why (no I did not gain a few IQ points). I was in a helpful community and I matured in a way that enabled me to have more of a growth mindset. I also saw other people ‘fail’, as in having their code not working and having to google the solution! I have to say all the readings, the discussions, the tutorials, the Frictionless tools have been amazing, but this shift in my mindset has been the greatest gift the fellowship has given me.”")])])]),e._v(" "),o("p",[e._v("Thank you Fellows! As a bonus, here are the reflections from the first cohort of Fellows: "),o("a",{attrs:{href:"https://blog.okfn.org/2020/06/09/reflecting-on-the-first-cohort-of-frictionless-data-reproducible-research-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2020/06/09/reflecting-on-the-first-cohort-of-frictionless-data-reproducible-research-fellows/"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/137.9854a8e5.js b/assets/js/137.aa63e6f2.js similarity index 98% rename from assets/js/137.9854a8e5.js rename to assets/js/137.aa63e6f2.js index ec560ace5..ca71bd5b8 100644 --- a/assets/js/137.9854a8e5.js +++ b/assets/js/137.aa63e6f2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{667:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Are you looking for a way to automate the validation workflows of your datasets? Look no further, Frictionless Repository is here!")]),e._v(" "),o("p",[e._v("We are very excited to announce that a new tool has been added to the Frictionless Data toolkit: Frictionless Repository. This is a Github Action allowing the continuous data validation of your repository and it will ensure the quality of your data by reporting any problems you might have with your datasets in no time.")]),e._v(" "),o("h2",{attrs:{id:"how-does-it-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),o("p",[e._v("Every time you add or update any tabular data file in your repository, Frictionless Repository runs a validation. Missing header? Data type mismatch? You will get a neat, visual, human-readable validation report straight away, which will show any problems your data may have. The report lets you spot immediately where the error occurred, making it extremely easy to correct it. You can even get a Markdown Badge to display in your repository to show that your data is valid.")]),e._v(" "),o("p",[e._v("Frictionless Repository only requires a simple installation. It is completely serverless, and it doesn’t rely on any third-party hardware except for the Github infrastructure.")]),e._v(" "),o("h2",{attrs:{id:"let-s-go"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#let-s-go"}},[e._v("#")]),e._v(" Let’s go!")]),e._v(" "),o("p",[e._v("Before you get started, have a look at developer Evgeny Karev’s demo:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kXA4hmuF57c",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v(" ")]),e._v(" "),o("p",[e._v("We also encourage you to check out the dedicated "),o("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation website"),o("OutboundLink")],1),e._v(", to get more detailed information.")]),e._v(" "),o("h2",{attrs:{id:"what-do-you-think"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-do-you-think"}},[e._v("#")]),e._v(" What do you think?")]),e._v(" "),o("p",[e._v("If you use Frictionless Repository, please let us know! Frictionless Data is an open source project, therefore we encourage you to give us feedback. Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(" or by opening an issue in the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[137],{669:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Are you looking for a way to automate the validation workflows of your datasets? Look no further, Frictionless Repository is here!")]),e._v(" "),o("p",[e._v("We are very excited to announce that a new tool has been added to the Frictionless Data toolkit: Frictionless Repository. This is a Github Action allowing the continuous data validation of your repository and it will ensure the quality of your data by reporting any problems you might have with your datasets in no time.")]),e._v(" "),o("h2",{attrs:{id:"how-does-it-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-does-it-work"}},[e._v("#")]),e._v(" How does it work?")]),e._v(" "),o("p",[e._v("Every time you add or update any tabular data file in your repository, Frictionless Repository runs a validation. Missing header? Data type mismatch? You will get a neat, visual, human-readable validation report straight away, which will show any problems your data may have. The report lets you spot immediately where the error occurred, making it extremely easy to correct it. You can even get a Markdown Badge to display in your repository to show that your data is valid.")]),e._v(" "),o("p",[e._v("Frictionless Repository only requires a simple installation. It is completely serverless, and it doesn’t rely on any third-party hardware except for the Github infrastructure.")]),e._v(" "),o("h2",{attrs:{id:"let-s-go"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#let-s-go"}},[e._v("#")]),e._v(" Let’s go!")]),e._v(" "),o("p",[e._v("Before you get started, have a look at developer Evgeny Karev’s demo:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kXA4hmuF57c",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v(" ")]),e._v(" "),o("p",[e._v("We also encourage you to check out the dedicated "),o("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation website"),o("OutboundLink")],1),e._v(", to get more detailed information.")]),e._v(" "),o("h2",{attrs:{id:"what-do-you-think"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-do-you-think"}},[e._v("#")]),e._v(" What do you think?")]),e._v(" "),o("p",[e._v("If you use Frictionless Repository, please let us know! Frictionless Data is an open source project, therefore we encourage you to give us feedback. Let us know your thoughts, suggestions, or issues by joining us in our community chat on "),o("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(" or by opening an issue in the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/138.b790823e.js b/assets/js/138.ad482374.js similarity index 99% rename from assets/js/138.b790823e.js rename to assets/js/138.ad482374.js index ce0f00ba1..6b3be36b9 100644 --- a/assets/js/138.b790823e.js +++ b/assets/js/138.ad482374.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{668:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("The Frictionless Data Reproducible Research "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows Program"),o("OutboundLink")],1),e._v(", supported by the Sloan Foundation, aims to train graduate students, postdoctoral scholars, and early career researchers how to become champions for open, reproducible research using Frictionless Data tools and approaches in their field.")])]),e._v(" "),o("h3",{attrs:{id:"apply-today-to-join-the-third-cohort-of-frictionless-data-fellows"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#apply-today-to-join-the-third-cohort-of-frictionless-data-fellows"}},[e._v("#")]),e._v(" Apply today to join the Third Cohort of Frictionless Data Fellows!")]),e._v(" "),o("p",[e._v("Fellows will learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. Working closely with the Frictionless Data team, Fellows will lead training workshops at conferences, host events at universities and in labs, and write blogs and other communications content. In addition to mentorship, we are providing Fellows with stipends of $5,000 to support their work and time during the nine-month long Fellowship. We welcome applications using this "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),o("OutboundLink")],1),e._v(" from 4th August until 31st August 2021, with the Fellowship starting in October. We value diversity and encourage applicants from communities that are under-represented in science and technology, people of colour, women, people with disabilities, and LGBTI+ individuals. Questions? Please read the "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/apply",target:"_blank",rel:"noopener noreferrer"}},[e._v("FAQ"),o("OutboundLink")],1),e._v(", and feel free to email us ("),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(") if your question is not answered in the FAQ.")]),e._v(" "),o("h3",{attrs:{id:"frictionless-data-for-reproducible-research"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data-for-reproducible-research"}},[e._v("#")]),e._v(" Frictionless Data for Reproducible Research")]),e._v(" "),o("p",[e._v("The Fellowship is part of the "),o("a",{attrs:{href:"http://frictionlessdata.io/adoption/#frictionless-data-for-reproducible-research/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research"),o("OutboundLink")],1),e._v(" project at "),o("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),o("OutboundLink")],1),e._v(", and is the third iteration. Frictionless Data aims to reduce the friction often found when working with data, such as when data is poorly structured, incomplete, hard to find, or is archived in difficult to use formats. This project, funded by the Sloan Foundation and the Open Knowledge Foundation, applies our work to data-driven research disciplines, in order to help researchers and the research community resolve data workflow issues. At its core, Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The core specification, the Data Package, is a simple and practical “container” for data and metadata. The Frictionless Data approach aims to address identified needs for improving data-driven research such as generalized, standard metadata formats, interoperable data, and open-source tooling for data validation.")]),e._v(" "),o("h3",{attrs:{id:"fellowship-program"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fellowship-program"}},[e._v("#")]),e._v(" Fellowship program")]),e._v(" "),o("p",[e._v("During the Fellowship, our team will be on hand to work closely with you as you complete the work. We will help you learn Frictionless Data tooling and software, and provide you with resources to help you create workshops and presentations. Also, we will announce Fellows on the project website and will be publishing your blogs and workshops slides within our network channels. We will provide mentorship on how to work on an Open project, and will work with you to achieve your Fellowship goals. You can read more about the first two cohorts of the Programme in the Fellows blog: "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://fellows.frictionlessdata.io/blog/"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"how-to-apply"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-to-apply"}},[e._v("#")]),e._v(" How to apply")]),e._v(" "),o("p",[e._v("The Fund is open to early career research individuals, such as graduate students and postdoctoral scholars, anywhere in the world, and in any scientific discipline. Successful applicants will be enthusiastic about reproducible research and open science, have some experience with communications, writing, or giving presentations, and have some technical skills (basic experience with Python, R, or Matlab for example), but do not need to be technically proficient. If you are interested, but do not have all of the qualifications, we still encourage you to "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("apply"),o("OutboundLink")],1),e._v(". We welcome applications using this "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),o("OutboundLink")],1),e._v(" from 4th August until 31st August 2021.")]),e._v(" "),o("p",[e._v("If you have any questions, please email the team at "),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(" and check out the "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/apply",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows FAQ section"),o("OutboundLink")],1),e._v(". "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apply"),o("OutboundLink")],1),e._v(" soon, and share with your networks!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[138],{670:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("The Frictionless Data Reproducible Research "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows Program"),o("OutboundLink")],1),e._v(", supported by the Sloan Foundation, aims to train graduate students, postdoctoral scholars, and early career researchers how to become champions for open, reproducible research using Frictionless Data tools and approaches in their field.")])]),e._v(" "),o("h3",{attrs:{id:"apply-today-to-join-the-third-cohort-of-frictionless-data-fellows"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#apply-today-to-join-the-third-cohort-of-frictionless-data-fellows"}},[e._v("#")]),e._v(" Apply today to join the Third Cohort of Frictionless Data Fellows!")]),e._v(" "),o("p",[e._v("Fellows will learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. Working closely with the Frictionless Data team, Fellows will lead training workshops at conferences, host events at universities and in labs, and write blogs and other communications content. In addition to mentorship, we are providing Fellows with stipends of $5,000 to support their work and time during the nine-month long Fellowship. We welcome applications using this "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),o("OutboundLink")],1),e._v(" from 4th August until 31st August 2021, with the Fellowship starting in October. We value diversity and encourage applicants from communities that are under-represented in science and technology, people of colour, women, people with disabilities, and LGBTI+ individuals. Questions? Please read the "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/apply",target:"_blank",rel:"noopener noreferrer"}},[e._v("FAQ"),o("OutboundLink")],1),e._v(", and feel free to email us ("),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(") if your question is not answered in the FAQ.")]),e._v(" "),o("h3",{attrs:{id:"frictionless-data-for-reproducible-research"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data-for-reproducible-research"}},[e._v("#")]),e._v(" Frictionless Data for Reproducible Research")]),e._v(" "),o("p",[e._v("The Fellowship is part of the "),o("a",{attrs:{href:"http://frictionlessdata.io/adoption/#frictionless-data-for-reproducible-research/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research"),o("OutboundLink")],1),e._v(" project at "),o("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),o("OutboundLink")],1),e._v(", and is the third iteration. Frictionless Data aims to reduce the friction often found when working with data, such as when data is poorly structured, incomplete, hard to find, or is archived in difficult to use formats. This project, funded by the Sloan Foundation and the Open Knowledge Foundation, applies our work to data-driven research disciplines, in order to help researchers and the research community resolve data workflow issues. At its core, Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. The core specification, the Data Package, is a simple and practical “container” for data and metadata. The Frictionless Data approach aims to address identified needs for improving data-driven research such as generalized, standard metadata formats, interoperable data, and open-source tooling for data validation.")]),e._v(" "),o("h3",{attrs:{id:"fellowship-program"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#fellowship-program"}},[e._v("#")]),e._v(" Fellowship program")]),e._v(" "),o("p",[e._v("During the Fellowship, our team will be on hand to work closely with you as you complete the work. We will help you learn Frictionless Data tooling and software, and provide you with resources to help you create workshops and presentations. Also, we will announce Fellows on the project website and will be publishing your blogs and workshops slides within our network channels. We will provide mentorship on how to work on an Open project, and will work with you to achieve your Fellowship goals. You can read more about the first two cohorts of the Programme in the Fellows blog: "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://fellows.frictionlessdata.io/blog/"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"how-to-apply"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-to-apply"}},[e._v("#")]),e._v(" How to apply")]),e._v(" "),o("p",[e._v("The Fund is open to early career research individuals, such as graduate students and postdoctoral scholars, anywhere in the world, and in any scientific discipline. Successful applicants will be enthusiastic about reproducible research and open science, have some experience with communications, writing, or giving presentations, and have some technical skills (basic experience with Python, R, or Matlab for example), but do not need to be technically proficient. If you are interested, but do not have all of the qualifications, we still encourage you to "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("apply"),o("OutboundLink")],1),e._v(". We welcome applications using this "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),o("OutboundLink")],1),e._v(" from 4th August until 31st August 2021.")]),e._v(" "),o("p",[e._v("If you have any questions, please email the team at "),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(" and check out the "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/apply",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows FAQ section"),o("OutboundLink")],1),e._v(". "),o("a",{attrs:{href:"https://forms.gle/3t9EoHKWYUnBdzHF8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Apply"),o("OutboundLink")],1),e._v(" soon, and share with your networks!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/139.84c711bf.js b/assets/js/139.306a4187.js similarity index 99% rename from assets/js/139.84c711bf.js rename to assets/js/139.306a4187.js index 6cb15a727..4df9bfc6a 100644 --- a/assets/js/139.84c711bf.js +++ b/assets/js/139.306a4187.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{669:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are halfway through 2021 (aka 2020 part two), and we thought it would be a good moment to look back at all that has happened in the Frictionless Community over these past 6 months. We’re so grateful for everyone in the community - thanks for your contributions, discussions, and participation! A big part of the community is our monthly call, so in case you’ve missed any of the community calls of 2021, here is a quick recap.")]),e._v(" "),a("p",[e._v("We started the year with a great presentation by Carles Pina i Estany. Carles is a very active member of our community and also a tool-fund grantee. He presented his tool-fund project: "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless schema-collaboration"),a("OutboundLink")],1),e._v(". What is that? It’s a system that uses Data Package Creator to enable data managers and researchers to create and share dataset schemas, edit them, post messages and export the schemas in different formats (like text, Markdown or PDF). It is a very useful tool because before researchers communicated with data managers via email for each data package they were publishing. Frictionless schema-collaboration makes it easy and faster to communicate.")]),e._v(" "),a("p",[e._v("February was a great month, we started "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/02/26/halfway-odi/#what-are-the-next-steps",target:"_blank",rel:"noopener noreferrer"}},[e._v("improving the documentation of the Frictionless Framework website"),a("OutboundLink")],1),e._v(" together with the community and we had a brilliant code demonstration of the newly-released Frictionless Python Framework by senior developer Evgeny Karev at the monthly community call. How great was that? That particular call broke the record of attendance, it was fantastic to have so many of you there! And in case you were not there, we recorded Evgeny’s demo and you can watch it on "),a("a",{attrs:{href:"LINK"}},[e._v("YouTube")]),e._v(".")]),e._v(" "),a("p",[e._v("March marked one year since the beginning of the Covid-19 pandemic in Europe and the Americas. It seemed fair to dedicate that community call to Covid-19 data, so we had Thorben Westerhuys presenting his project on Frictionless vaccination data. Thorben developed "),a("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("a spatiotemporal tracker for state level covid vaccination data in Germany"),a("OutboundLink")],1),e._v(" to solve the problems linked to governments publishing vaccination data not parsed for machines. His vaccination scraper takes that data, reformats it and makes it available to everyone in a structured, more machine readable form.")]),e._v(" "),a("p",[e._v("At the end of April we had an interactive session with the "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Fellows"),a("OutboundLink")],1),e._v(". Daniel Alcalá López, Kate Bowie, Katerina Drakoulaki, Anne Lee, Jacqueline Maasch, Evelyn Night and Samantha Wilairat took some time to tell the community about their journey through Open Science. They also shared with the community some of the things they learnt during their 9-months fellowship and how they plan to integrate them to their work. This cohort of fellows made us very proud, they were a true joy to work with. Keep an eye on them all, they will be leaders in Open Science! And in case you are interested in becoming a Frictionless Fellow, we are currently recruiting the 3rd cohort. More info on the programme and how to apply "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/02/apply-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("During the April call we also got a short presentation on instant APIs for small Frictionless Data-powered apps by Oleg Lavrovsky. Oleg is also an active member of our community, you have probably already met him at many of our calls.")]),e._v(" "),a("p",[e._v("May started gloriously with csv,conf, where we had two talks on Frictionless Data. One was by the Fellows, and the other one was by Simon Tyrrell. On top of the one at csv,conf, Simon gave a presentation together with Xingdong Bian about their "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/05/frictionless-data-for-wheat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Wheat project"),a("OutboundLink")],1),e._v(" at the monthly call. Simon and Xingdong are researchers at the Earlham Institute, and they are both tool-fund grantees, like Carles. They presented their project to the community and explained how they use Frictionless Data to make their large amount of data available, usable and interoperable for everyone.")]),e._v(" "),a("p",[e._v("The last call we had was in June, also featuring a tool-fund grantee: Nikhil Vats. Nikhil presented the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/04/13/data-package-for-intermine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Package integration he developed for InterMine"),a("OutboundLink")],1),e._v(", an open source biological data warehouse that creates databases of biological data accessed by sophisticated web query tools. Nikhil’s integration makes users’ queries more useful, as it describes all the fields of their query, specifically: name of field, type of field, class path, field and class ontology link."),a("br"),e._v("\nIn the same call, Michael Amadi announced the release of Data Blend, a great project using Frictionless Data. If you find it cool and would like to know more about it, read "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/12/open-data-blend/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this case-study"),a("OutboundLink")],1),e._v(", but also make sure you don’t miss the October community call, because we will be hearing a presentation on it!")]),e._v(" "),a("p",[e._v("July’s call was canceled last minute, but it has been rescheduled to August 12th, and it’s going to be extremely interesting! In case you did not sign up yet, please do "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". We will be hearing from Dave Rowe (aka "),a("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Libraries Hacked"),a("OutboundLink")],1),e._v(") and how he uses Frictionless Data specs and standards for public libraries open data."),a("br"),e._v("\nThis first 2021 semester was also great because we "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/16/new-changes-to-the-website/",target:"_blank",rel:"noopener noreferrer"}},[e._v("completed our website redesign"),a("OutboundLink")],1),e._v(" and we added two great tools to the Frictionless Data toolkit: "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/21/frictionless-repository/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Repository"),a("OutboundLink")],1),e._v(". These tools get better and better everyday thanks to the precious contributions of the community. Thanks to you all, for making the Frictionless Data project so great. Nothing could have happened without you!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[139],{668:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are halfway through 2021 (aka 2020 part two), and we thought it would be a good moment to look back at all that has happened in the Frictionless Community over these past 6 months. We’re so grateful for everyone in the community - thanks for your contributions, discussions, and participation! A big part of the community is our monthly call, so in case you’ve missed any of the community calls of 2021, here is a quick recap.")]),e._v(" "),a("p",[e._v("We started the year with a great presentation by Carles Pina i Estany. Carles is a very active member of our community and also a tool-fund grantee. He presented his tool-fund project: "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless schema-collaboration"),a("OutboundLink")],1),e._v(". What is that? It’s a system that uses Data Package Creator to enable data managers and researchers to create and share dataset schemas, edit them, post messages and export the schemas in different formats (like text, Markdown or PDF). It is a very useful tool because before researchers communicated with data managers via email for each data package they were publishing. Frictionless schema-collaboration makes it easy and faster to communicate.")]),e._v(" "),a("p",[e._v("February was a great month, we started "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/02/26/halfway-odi/#what-are-the-next-steps",target:"_blank",rel:"noopener noreferrer"}},[e._v("improving the documentation of the Frictionless Framework website"),a("OutboundLink")],1),e._v(" together with the community and we had a brilliant code demonstration of the newly-released Frictionless Python Framework by senior developer Evgeny Karev at the monthly community call. How great was that? That particular call broke the record of attendance, it was fantastic to have so many of you there! And in case you were not there, we recorded Evgeny’s demo and you can watch it on "),a("a",{attrs:{href:"LINK"}},[e._v("YouTube")]),e._v(".")]),e._v(" "),a("p",[e._v("March marked one year since the beginning of the Covid-19 pandemic in Europe and the Americas. It seemed fair to dedicate that community call to Covid-19 data, so we had Thorben Westerhuys presenting his project on Frictionless vaccination data. Thorben developed "),a("a",{attrs:{href:"https://github.com/n0rdlicht/rki-vaccination-scraper",target:"_blank",rel:"noopener noreferrer"}},[e._v("a spatiotemporal tracker for state level covid vaccination data in Germany"),a("OutboundLink")],1),e._v(" to solve the problems linked to governments publishing vaccination data not parsed for machines. His vaccination scraper takes that data, reformats it and makes it available to everyone in a structured, more machine readable form.")]),e._v(" "),a("p",[e._v("At the end of April we had an interactive session with the "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Fellows"),a("OutboundLink")],1),e._v(". Daniel Alcalá López, Kate Bowie, Katerina Drakoulaki, Anne Lee, Jacqueline Maasch, Evelyn Night and Samantha Wilairat took some time to tell the community about their journey through Open Science. They also shared with the community some of the things they learnt during their 9-months fellowship and how they plan to integrate them to their work. This cohort of fellows made us very proud, they were a true joy to work with. Keep an eye on them all, they will be leaders in Open Science! And in case you are interested in becoming a Frictionless Fellow, we are currently recruiting the 3rd cohort. More info on the programme and how to apply "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/02/apply-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("During the April call we also got a short presentation on instant APIs for small Frictionless Data-powered apps by Oleg Lavrovsky. Oleg is also an active member of our community, you have probably already met him at many of our calls.")]),e._v(" "),a("p",[e._v("May started gloriously with csv,conf, where we had two talks on Frictionless Data. One was by the Fellows, and the other one was by Simon Tyrrell. On top of the one at csv,conf, Simon gave a presentation together with Xingdong Bian about their "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/05/frictionless-data-for-wheat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Wheat project"),a("OutboundLink")],1),e._v(" at the monthly call. Simon and Xingdong are researchers at the Earlham Institute, and they are both tool-fund grantees, like Carles. They presented their project to the community and explained how they use Frictionless Data to make their large amount of data available, usable and interoperable for everyone.")]),e._v(" "),a("p",[e._v("The last call we had was in June, also featuring a tool-fund grantee: Nikhil Vats. Nikhil presented the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/04/13/data-package-for-intermine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Package integration he developed for InterMine"),a("OutboundLink")],1),e._v(", an open source biological data warehouse that creates databases of biological data accessed by sophisticated web query tools. Nikhil’s integration makes users’ queries more useful, as it describes all the fields of their query, specifically: name of field, type of field, class path, field and class ontology link."),a("br"),e._v("\nIn the same call, Michael Amadi announced the release of Data Blend, a great project using Frictionless Data. If you find it cool and would like to know more about it, read "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/12/open-data-blend/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this case-study"),a("OutboundLink")],1),e._v(", but also make sure you don’t miss the October community call, because we will be hearing a presentation on it!")]),e._v(" "),a("p",[e._v("July’s call was canceled last minute, but it has been rescheduled to August 12th, and it’s going to be extremely interesting! In case you did not sign up yet, please do "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". We will be hearing from Dave Rowe (aka "),a("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Libraries Hacked"),a("OutboundLink")],1),e._v(") and how he uses Frictionless Data specs and standards for public libraries open data."),a("br"),e._v("\nThis first 2021 semester was also great because we "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/16/new-changes-to-the-website/",target:"_blank",rel:"noopener noreferrer"}},[e._v("completed our website redesign"),a("OutboundLink")],1),e._v(" and we added two great tools to the Frictionless Data toolkit: "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/21/frictionless-repository/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Repository"),a("OutboundLink")],1),e._v(". These tools get better and better everyday thanks to the precious contributions of the community. Thanks to you all, for making the Frictionless Data project so great. Nothing could have happened without you!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/140.3843790f.js b/assets/js/140.08503e80.js similarity index 98% rename from assets/js/140.3843790f.js rename to assets/js/140.08503e80.js index 6f4c4e57e..27bf2ed05 100644 --- a/assets/js/140.3843790f.js +++ b/assets/js/140.08503e80.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{670:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("What happens to scientific data after it is generated? The answer is complicated - sometimes that data is shared with other researchers, sometimes it is hidden away on a private hard drive. Sharing research data is a key part of open science, the movement to make research more accessible and usable by everyone to drive faster advances in science. A great way to share research data is to upload it to a repository, but simply uploading data is not the final step here. Ideally, the uploaded data will be of high quality - that is, it won’t have errors or missing data, and it will have enough descriptive information that other researchers can also use it! Over the last 6 months, we collaborated with the data repository Dryad to make it easier for researchers to upload their high quality data for sharing.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://datadryad.org/stash",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dryad"),t("OutboundLink")],1),e._v(" is a community-led data repository that allows researchers to submit data from any field, which not only promotes open science, but also helps researchers comply with open data policies from funders and journals. Because Dryad accepts all kinds of data, they need to curate that data for quality and ensure that the data does not present risk, and have comprehensive metadata to reuse the data. We quickly realized our shared goals, and formed a Pilot collaboration to add Frictionless validation functionality to the Dryad data upload page. Both teams agreed how important it is to give researchers immediate feedback about their data as they are submitting it so they can make edits in that moment, and learn about data best practices.")]),e._v(" "),t("p",[e._v("The outcome of this collaboration is a revamped upload page for the Dryad application. Researchers uploading tabular data (CSV, XLS, XLSX) under 25MB will have the files automatically validated using the Frictionless tool. These checks are based on the built-in validation of Frictionless Framework (read the validation guide "),t("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/validation-guide",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v("), and include checking for data errors such as blank cells, missing headers, or incorrectly formatted data. The Frictionless report will help guide researchers on which issues should be resolved, allowing researchers to edit and re-upload files before submitting their dataset for curation and publication.")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/128690898-2095f1c7-060d-4398-ac92-33f65c068c4c.png",alt:"Screen Shot 2021-08-06 at 8 10 41 AM"}}),t("br"),e._v(" "),t("em",[e._v("When a data file is uploaded, researchers can see if the data passed the Tabular Data Checks or if there are any issues. Clicking to “View 1 Issues” shows more details describing the error.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/128690994-16be9845-59ec-4f3b-9b76-28a163dfa1e3.png",alt:"Screen Shot 2021-08-06 at 8 12 01 AM"}}),t("br"),e._v(" "),t("em",[e._v("This uploaded data file has a blank header. With this information, the researcher can fix the error and re-upload the data.")])]),e._v(" "),t("p",[e._v("This work was funded by the Sloan Foundation as part of the Frictionless Data for Reproducible Research project. This project was truly collaboratory - most of the technical work was completed by contractor Cassiano Reinert Novais dos Santos with supervision and support from the Dryad team: Daniella Lowenberg, Scott Fisher, Ryan Scherle, and the CDL UX team (Rachael Hu and John Kratz); as well as support from the Frictionless team, Evgeny Karev, Lilly Winfree, and Sara Petti. If you have any feedback on the Dryad upload page, please let us know!")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[140],{671:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("What happens to scientific data after it is generated? The answer is complicated - sometimes that data is shared with other researchers, sometimes it is hidden away on a private hard drive. Sharing research data is a key part of open science, the movement to make research more accessible and usable by everyone to drive faster advances in science. A great way to share research data is to upload it to a repository, but simply uploading data is not the final step here. Ideally, the uploaded data will be of high quality - that is, it won’t have errors or missing data, and it will have enough descriptive information that other researchers can also use it! Over the last 6 months, we collaborated with the data repository Dryad to make it easier for researchers to upload their high quality data for sharing.")]),e._v(" "),t("p",[t("a",{attrs:{href:"https://datadryad.org/stash",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dryad"),t("OutboundLink")],1),e._v(" is a community-led data repository that allows researchers to submit data from any field, which not only promotes open science, but also helps researchers comply with open data policies from funders and journals. Because Dryad accepts all kinds of data, they need to curate that data for quality and ensure that the data does not present risk, and have comprehensive metadata to reuse the data. We quickly realized our shared goals, and formed a Pilot collaboration to add Frictionless validation functionality to the Dryad data upload page. Both teams agreed how important it is to give researchers immediate feedback about their data as they are submitting it so they can make edits in that moment, and learn about data best practices.")]),e._v(" "),t("p",[e._v("The outcome of this collaboration is a revamped upload page for the Dryad application. Researchers uploading tabular data (CSV, XLS, XLSX) under 25MB will have the files automatically validated using the Frictionless tool. These checks are based on the built-in validation of Frictionless Framework (read the validation guide "),t("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/guides/validation-guide",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v("), and include checking for data errors such as blank cells, missing headers, or incorrectly formatted data. The Frictionless report will help guide researchers on which issues should be resolved, allowing researchers to edit and re-upload files before submitting their dataset for curation and publication.")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/128690898-2095f1c7-060d-4398-ac92-33f65c068c4c.png",alt:"Screen Shot 2021-08-06 at 8 10 41 AM"}}),t("br"),e._v(" "),t("em",[e._v("When a data file is uploaded, researchers can see if the data passed the Tabular Data Checks or if there are any issues. Clicking to “View 1 Issues” shows more details describing the error.")])]),e._v(" "),t("p",[t("img",{attrs:{src:"https://user-images.githubusercontent.com/74717970/128690994-16be9845-59ec-4f3b-9b76-28a163dfa1e3.png",alt:"Screen Shot 2021-08-06 at 8 12 01 AM"}}),t("br"),e._v(" "),t("em",[e._v("This uploaded data file has a blank header. With this information, the researcher can fix the error and re-upload the data.")])]),e._v(" "),t("p",[e._v("This work was funded by the Sloan Foundation as part of the Frictionless Data for Reproducible Research project. This project was truly collaboratory - most of the technical work was completed by contractor Cassiano Reinert Novais dos Santos with supervision and support from the Dryad team: Daniella Lowenberg, Scott Fisher, Ryan Scherle, and the CDL UX team (Rachael Hu and John Kratz); as well as support from the Frictionless team, Evgeny Karev, Lilly Winfree, and Sara Petti. If you have any feedback on the Dryad upload page, please let us know!")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/141.b6419e92.js b/assets/js/141.4f0a46cd.js similarity index 98% rename from assets/js/141.b6419e92.js rename to assets/js/141.4f0a46cd.js index 4d7b8ba85..7af851d21 100644 --- a/assets/js/141.b6419e92.js +++ b/assets/js/141.4f0a46cd.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{671:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on August 12"),r("sup",[e._v("th")]),e._v(" we had Dave Rowe (aka Libraries Hacked) giving a presentation on Frictionless Data standards and tooling for public libraries’ data.")]),e._v(" "),r("p",[e._v("Libraries Hacked is a project promoting open data in libraries and creating digital prototypes from that data. Public libraries hold a lot of data, but this data is often not shared and it is lacking common standards for data sharing. With the introduction of data schemas, Dave developed a series of tools to show libraries what they could do with their data. For example, Dave demonstrated membership mapping, libraries maps and a "),r("a",{attrs:{href:"https://www.mobilelibraries.org/map",target:"_blank",rel:"noopener noreferrer"}},[e._v("mobile libraries dashboard"),r("OutboundLink")],1),e._v(" that displays mobile libraries vans, estimates their location and automatically generates paper timelines.")]),e._v(" "),r("p",[e._v("You can learn more about the Libraries Hacked project "),r("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about what you can do with Frictionless library data, , you can watch Dave Rowe’ presentation here::")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/R0U9Iwd8J00",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("h3",{attrs:{id:"frictionless-hackathon-in-october"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-hackathon-in-october"}},[e._v("#")]),e._v(" Frictionless Hackathon in October!")]),e._v(" "),r("p",[e._v("Join the Frictionless Data community for a two-day virtual event to create new project prototypes based on existing Frictionless open source code. It’s going to be fun!"),r("br"),e._v("\nWe need to decide on a date to hold this event, and are currently considering Thursday and Fridays in October. You can vote on Discord."),r("br"),e._v("\nKeep an eye on the website for more info: "),r("a",{attrs:{href:"https://frictionlessdata.io/hackathon/#what-s-a-hackathon",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/hackathon/#what-s-a-hackathon"),r("OutboundLink")],1)]),e._v(" "),r("h3",{attrs:{id:"recruiting-the-3rd-cohort-of-frictionless-fellows"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recruiting-the-3rd-cohort-of-frictionless-fellows"}},[e._v("#")]),e._v(" Recruiting the 3rd cohort of Frictionless Fellows")]),e._v(" "),r("p",[e._v("Are you an early career researcher interested in Open Science? We are recruiting the 3rd cohort of Frictionless Fellows! During their 9-month Fellowship, Fellows will lead training workshops, host events at universities and in labs, and write blogs and other communications content. You will be mentored by Frictionless Data product manager Lilly Winfree, PhD and we will help you learn Frictionless Data tooling and software. Applications are open until August 31"),r("sup",[e._v("st")]),e._v("."),r("br"),e._v("\nMore info "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/02/apply-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),r("br"),e._v("\nYou can apply via this "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSdR1Qz5GL5A1BrqgFxDBOXScvNoS5AeyCWixNwtcApXUttT8Q/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h1",{attrs:{id:"join-us-in-2-weeks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-in-2-weeks"}},[e._v("#")]),e._v(" Join us in 2 weeks!")]),e._v(" "),r("p",[e._v("Yes, that’s right, August is our lucky month, we don’t have one, but two community calls! Our next meeting will be in just 2 weeks, on August 26"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from"),r("br"),e._v("\nAmber York and Adam Shepherd from BCO-DMO on Frictionless Data Pipelines. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/IGhcP2dDNIg",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[141],{672:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our last Frictionless Data community call on August 12"),r("sup",[e._v("th")]),e._v(" we had Dave Rowe (aka Libraries Hacked) giving a presentation on Frictionless Data standards and tooling for public libraries’ data.")]),e._v(" "),r("p",[e._v("Libraries Hacked is a project promoting open data in libraries and creating digital prototypes from that data. Public libraries hold a lot of data, but this data is often not shared and it is lacking common standards for data sharing. With the introduction of data schemas, Dave developed a series of tools to show libraries what they could do with their data. For example, Dave demonstrated membership mapping, libraries maps and a "),r("a",{attrs:{href:"https://www.mobilelibraries.org/map",target:"_blank",rel:"noopener noreferrer"}},[e._v("mobile libraries dashboard"),r("OutboundLink")],1),e._v(" that displays mobile libraries vans, estimates their location and automatically generates paper timelines.")]),e._v(" "),r("p",[e._v("You can learn more about the Libraries Hacked project "),r("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about what you can do with Frictionless library data, , you can watch Dave Rowe’ presentation here::")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/R0U9Iwd8J00",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),r("h3",{attrs:{id:"frictionless-hackathon-in-october"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-hackathon-in-october"}},[e._v("#")]),e._v(" Frictionless Hackathon in October!")]),e._v(" "),r("p",[e._v("Join the Frictionless Data community for a two-day virtual event to create new project prototypes based on existing Frictionless open source code. It’s going to be fun!"),r("br"),e._v("\nWe need to decide on a date to hold this event, and are currently considering Thursday and Fridays in October. You can vote on Discord."),r("br"),e._v("\nKeep an eye on the website for more info: "),r("a",{attrs:{href:"https://frictionlessdata.io/hackathon/#what-s-a-hackathon",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/hackathon/#what-s-a-hackathon"),r("OutboundLink")],1)]),e._v(" "),r("h3",{attrs:{id:"recruiting-the-3rd-cohort-of-frictionless-fellows"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#recruiting-the-3rd-cohort-of-frictionless-fellows"}},[e._v("#")]),e._v(" Recruiting the 3rd cohort of Frictionless Fellows")]),e._v(" "),r("p",[e._v("Are you an early career researcher interested in Open Science? We are recruiting the 3rd cohort of Frictionless Fellows! During their 9-month Fellowship, Fellows will lead training workshops, host events at universities and in labs, and write blogs and other communications content. You will be mentored by Frictionless Data product manager Lilly Winfree, PhD and we will help you learn Frictionless Data tooling and software. Applications are open until August 31"),r("sup",[e._v("st")]),e._v("."),r("br"),e._v("\nMore info "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/02/apply-fellows/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),r("br"),e._v("\nYou can apply via this "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSdR1Qz5GL5A1BrqgFxDBOXScvNoS5AeyCWixNwtcApXUttT8Q/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("form"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h1",{attrs:{id:"join-us-in-2-weeks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-in-2-weeks"}},[e._v("#")]),e._v(" Join us in 2 weeks!")]),e._v(" "),r("p",[e._v("Yes, that’s right, August is our lucky month, we don’t have one, but two community calls! Our next meeting will be in just 2 weeks, on August 26"),r("sup",[e._v("th")]),e._v(". We will hear a presentation from"),r("br"),e._v("\nAmber York and Adam Shepherd from BCO-DMO on Frictionless Data Pipelines. You can sign up "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/IGhcP2dDNIg",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/142.34c7d9ae.js b/assets/js/142.0d7bc7fa.js similarity index 98% rename from assets/js/142.34c7d9ae.js rename to assets/js/142.0d7bc7fa.js index 0124acef8..9d6fa47e1 100644 --- a/assets/js/142.34c7d9ae.js +++ b/assets/js/142.0d7bc7fa.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{672:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("On our last Frictionless Data community call on August 26"),o("sup",[e._v("th")]),e._v(" we had Amber York and Adam Shepherd from BCO-DMO giving a presentation on Frictionless Data Pipelines for Ocean Science.")]),e._v(" "),o("p",[e._v("BCO-DMO is a biological and chemical oceanography data management office, working with scientists to make sure that their data is publicly available and archived for everyone else to use.")]),e._v(" "),o("p",[e._v("BCO-DMO processes around 500 datasets a year, with all sorts of variability. In the beginning the staff was writing ad hoc scripts and software to process that data, but that quickly became a challenge, as the catalogue continued to grow in both size and the variety of data types it curates.")]),e._v(" "),o("p",[e._v("Having worked for several years with Frictionless Data, BCO-DMO identified the Data Package Pipelines (DPP) project in the Frictionless toolkit as key to overcoming those challenges and achieving its data curation goals."),o("br"),e._v("\nTogether with the Frictionless Data team at Open Knowledge Foundation, BCO-DMO developed Laminar, a web application to create Frictionless Data Package Pipelines. Laminar helps data managers process data efficiently while recording the provenance of their activities to support reproducibility of results")]),e._v(" "),o("p",[e._v("You can learn more on the project "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about Frictionless Data Pipelines, you can watch Amber York’s and Adam Shepherd’s presentation:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/R0U9Iwd8J00",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),o("h3",{attrs:{id:"frictionless-hackathon-on-7-8-october"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-hackathon-on-7-8-october"}},[e._v("#")]),e._v(" Frictionless Hackathon on 7-8 October!")]),e._v(" "),o("p",[e._v("Join the Frictionless Data community for a two-day virtual event to create new project prototypes based on existing Frictionless open source code. It’s going to be fun!"),o("br"),e._v("\nWe are currently accepting project submissions, so if you have a cool project in mind, using based on existing Frictionless open source code, this could be an excellent opportunity to prototype it, together with other Frictionless users from all around the world. You can pitch anything - your idea doesn’t need to be complete/fully planned. We can also help you formulate a project if you have an idea but aren’t sure about it. You can also submit ideas for existing projects you need help with!")]),e._v(" "),o("p",[e._v("Use "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSdd41pbfWaCYQHkQNTaf49kht1cUg7_Tg-NzqdP11pHWrD7yA/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(" to submit your project."),o("br"),e._v("\nKeep an eye "),o("a",{attrs:{href:"https://frictionlessdata.io/hackathon/",target:"_blank",rel:"noopener noreferrer"}},[e._v("on the website"),o("OutboundLink")],1),e._v(" for more info.")]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Our next meeting will be on September 30"),o("sup",[e._v("th")]),e._v(", exceptionally one hour later than usual. We will hear a presentation from Daniella Lowenberg and Cassiano Reinert Novais dos Santos on the Frictionless Data validation implemented for the Dryad application.")]),e._v(" "),o("p",[e._v("You can sign up "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/-y6njoJPMbE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("As usual, you can join us on "),o("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(" or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[142],{673:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("On our last Frictionless Data community call on August 26"),o("sup",[e._v("th")]),e._v(" we had Amber York and Adam Shepherd from BCO-DMO giving a presentation on Frictionless Data Pipelines for Ocean Science.")]),e._v(" "),o("p",[e._v("BCO-DMO is a biological and chemical oceanography data management office, working with scientists to make sure that their data is publicly available and archived for everyone else to use.")]),e._v(" "),o("p",[e._v("BCO-DMO processes around 500 datasets a year, with all sorts of variability. In the beginning the staff was writing ad hoc scripts and software to process that data, but that quickly became a challenge, as the catalogue continued to grow in both size and the variety of data types it curates.")]),e._v(" "),o("p",[e._v("Having worked for several years with Frictionless Data, BCO-DMO identified the Data Package Pipelines (DPP) project in the Frictionless toolkit as key to overcoming those challenges and achieving its data curation goals."),o("br"),e._v("\nTogether with the Frictionless Data team at Open Knowledge Foundation, BCO-DMO developed Laminar, a web application to create Frictionless Data Package Pipelines. Laminar helps data managers process data efficiently while recording the provenance of their activities to support reproducibility of results")]),e._v(" "),o("p",[e._v("You can learn more on the project "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about Frictionless Data Pipelines, you can watch Amber York’s and Adam Shepherd’s presentation:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/R0U9Iwd8J00",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),o("h3",{attrs:{id:"frictionless-hackathon-on-7-8-october"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-hackathon-on-7-8-october"}},[e._v("#")]),e._v(" Frictionless Hackathon on 7-8 October!")]),e._v(" "),o("p",[e._v("Join the Frictionless Data community for a two-day virtual event to create new project prototypes based on existing Frictionless open source code. It’s going to be fun!"),o("br"),e._v("\nWe are currently accepting project submissions, so if you have a cool project in mind, using based on existing Frictionless open source code, this could be an excellent opportunity to prototype it, together with other Frictionless users from all around the world. You can pitch anything - your idea doesn’t need to be complete/fully planned. We can also help you formulate a project if you have an idea but aren’t sure about it. You can also submit ideas for existing projects you need help with!")]),e._v(" "),o("p",[e._v("Use "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSdd41pbfWaCYQHkQNTaf49kht1cUg7_Tg-NzqdP11pHWrD7yA/viewform",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(" to submit your project."),o("br"),e._v("\nKeep an eye "),o("a",{attrs:{href:"https://frictionlessdata.io/hackathon/",target:"_blank",rel:"noopener noreferrer"}},[e._v("on the website"),o("OutboundLink")],1),e._v(" for more info.")]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Our next meeting will be on September 30"),o("sup",[e._v("th")]),e._v(", exceptionally one hour later than usual. We will hear a presentation from Daniella Lowenberg and Cassiano Reinert Novais dos Santos on the Frictionless Data validation implemented for the Dryad application.")]),e._v(" "),o("p",[e._v("You can sign up "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/-y6njoJPMbE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("As usual, you can join us on "),o("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),o("OutboundLink")],1),e._v(" or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/143.fec8edd4.js b/assets/js/143.6495e26e.js similarity index 98% rename from assets/js/143.fec8edd4.js rename to assets/js/143.6495e26e.js index c62cb74db..846ba6e55 100644 --- a/assets/js/143.fec8edd4.js +++ b/assets/js/143.6495e26e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{673:function(e,t,o){"use strict";o.r(t);var r=o(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("The Frictionless Data Online Hackathon is fast approaching and we just can’t wait for it to start!")]),e._v(" "),o("p",[e._v("If you are not sure yet whether to participate or not, bear in mind that it will be a great opportunity to test some of the newest Frictionless tools, like Livemark, Repository, play around with Frictionless-py and other new Frictionless code. It will also be a great chance for you to meet other Frictionless users and contributors from all around the world and build a project prototype together.")]),e._v(" "),o("p",[o("strong",[e._v("Not convinced yet? Go and explore the proposed projects on the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dashboard"),o("OutboundLink")],1),e._v("! You will see, there is a project for every taste, so surely there must be one that sounds right for you!")])]),e._v(" "),o("p",[e._v("Are you a big fan of geodata? In that case you will probably want to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/9",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless-geojson team"),o("OutboundLink")],1),e._v(", who is planning to create a frictionless-py plugin to add support for reading, writing and inlining geojson. If you are a devoted CKAN user who would like to see more Frictionless functionalities in it, you may decide to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data package manager for CKAN project"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("In case you read our "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog about Livemark"),o("OutboundLink")],1),e._v(" and have been intrigued by this new Frictionless tool ever since, your moment has come! You can finally try it out by joining the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/11",target:"_blank",rel:"noopener noreferrer"}},[e._v("Citation Context Reports"),o("OutboundLink")],1),e._v(", the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/3",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dataset List"),o("OutboundLink")],1),e._v(" project, or the "),o("a",{attrs:{href:"http://frictionless-hackathon.herokuapp.com/project/12",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Community Insights"),o("OutboundLink")],1),e._v(" project. If you are interested in datasets discoverability and linkage, you may want to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/10",target:"_blank",rel:"noopener noreferrer"}},[e._v("Things not Datasets"),o("OutboundLink")],1),e._v(" team.")]),e._v(" "),o("p",[e._v("Oh, and please let us know in advance if you are a big bugs smasher! You will be a coveted participant for all projects and we need to make sure everybody gets a fair share of your skills, including us in our effort to improve the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/4",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Python Framework"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("But enough of describing the projects, instead hear about them directly from the people who proposed them:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kO0YflqQQzI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("Hurry up to register for the hackathon if you haven’t done so yet, you can do it only until the end of this week via "),o("a",{attrs:{href:"https://forms.gle/Xr4gcnQnhShMJrWeA",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("More information on the Frictionless Data Hackathon is available on the "),o("a",{attrs:{href:"https://frictionlessdata.io/hackathon/",target:"_blank",rel:"noopener noreferrer"}},[e._v("dedicated webpage"),o("OutboundLink")],1),e._v(". You can also follow news on the day itself through "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(": #FrictionlessHackathon and #FrictionlessHack2021.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[143],{676:function(e,t,o){"use strict";o.r(t);var r=o(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("The Frictionless Data Online Hackathon is fast approaching and we just can’t wait for it to start!")]),e._v(" "),o("p",[e._v("If you are not sure yet whether to participate or not, bear in mind that it will be a great opportunity to test some of the newest Frictionless tools, like Livemark, Repository, play around with Frictionless-py and other new Frictionless code. It will also be a great chance for you to meet other Frictionless users and contributors from all around the world and build a project prototype together.")]),e._v(" "),o("p",[o("strong",[e._v("Not convinced yet? Go and explore the proposed projects on the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dashboard"),o("OutboundLink")],1),e._v("! You will see, there is a project for every taste, so surely there must be one that sounds right for you!")])]),e._v(" "),o("p",[e._v("Are you a big fan of geodata? In that case you will probably want to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/9",target:"_blank",rel:"noopener noreferrer"}},[e._v("frictionless-geojson team"),o("OutboundLink")],1),e._v(", who is planning to create a frictionless-py plugin to add support for reading, writing and inlining geojson. If you are a devoted CKAN user who would like to see more Frictionless functionalities in it, you may decide to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/8",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data package manager for CKAN project"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("In case you read our "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog about Livemark"),o("OutboundLink")],1),e._v(" and have been intrigued by this new Frictionless tool ever since, your moment has come! You can finally try it out by joining the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/11",target:"_blank",rel:"noopener noreferrer"}},[e._v("Citation Context Reports"),o("OutboundLink")],1),e._v(", the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/3",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dataset List"),o("OutboundLink")],1),e._v(" project, or the "),o("a",{attrs:{href:"http://frictionless-hackathon.herokuapp.com/project/12",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Community Insights"),o("OutboundLink")],1),e._v(" project. If you are interested in datasets discoverability and linkage, you may want to join the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/10",target:"_blank",rel:"noopener noreferrer"}},[e._v("Things not Datasets"),o("OutboundLink")],1),e._v(" team.")]),e._v(" "),o("p",[e._v("Oh, and please let us know in advance if you are a big bugs smasher! You will be a coveted participant for all projects and we need to make sure everybody gets a fair share of your skills, including us in our effort to improve the "),o("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/project/4",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Python Framework"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("But enough of describing the projects, instead hear about them directly from the people who proposed them:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kO0YflqQQzI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("Hurry up to register for the hackathon if you haven’t done so yet, you can do it only until the end of this week via "),o("a",{attrs:{href:"https://forms.gle/Xr4gcnQnhShMJrWeA",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("More information on the Frictionless Data Hackathon is available on the "),o("a",{attrs:{href:"https://frictionlessdata.io/hackathon/",target:"_blank",rel:"noopener noreferrer"}},[e._v("dedicated webpage"),o("OutboundLink")],1),e._v(". You can also follow news on the day itself through "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(": #FrictionlessHackathon and #FrictionlessHack2021.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/146.64d30d40.js b/assets/js/146.35d328f6.js similarity index 98% rename from assets/js/146.64d30d40.js rename to assets/js/146.35d328f6.js index 31f1e49d3..b41c6f5c8 100644 --- a/assets/js/146.64d30d40.js +++ b/assets/js/146.35d328f6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{676:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On our last Frictionless Data community call on October 28"),a("sup",[e._v("th")]),e._v(" we had Michael Amadi from Nimble Learn giving a presentation on Open Data Blend and their Frictionless Data journey.")]),e._v(" "),a("p",[e._v("Open Data Blend is a set of open data services that aim to make large and complex UK open data easier to analyse. The Open Data Blend datasets have two interfaces: a UI and an API, both powered by Frictionless Data. The datasets themselves are built on top of three Frictionless Data specifications: data package, data resource and table schema; and they incorporate some Frictionless Data patterns.")]),e._v(" "),a("p",[e._v("The project addresses some of the main open data challenges:")]),e._v(" "),a("ul",[a("li",[e._v("Large data volumes that are difficult to manage due to their size")]),e._v(" "),a("li",[e._v("Overwhelming complexity in data analysis")]),e._v(" "),a("li",[e._v("Open data shared in sub-optimal file formats for data analysis (e.g. PDFs)")]),e._v(" "),a("li",[e._v("When companies and organisation aggregate data, refine it and add value to it, they often don’t openly share the cleaned data")])]),e._v(" "),a("p",[e._v("You can learn more on the project "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/12/open-data-blend/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about how Open Data Blend uses the Frictionless Data toolkit, you can watch Michael Amadi’s presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/avAXe3SUEKI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h1",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("ul",[a("li",[e._v("Senior developer Evgeny Karev presented Livemark at PyData on October 29"),a("sup",[e._v("th")]),e._v(". If you missed it and want to have a look, check out the recording "),a("a",{attrs:{href:"https://zoom.us/rec/play/yyFTEAW3_v4cPGUNbiHS95-vlgICgNYeVdK_N9VHOdHxLDoKbTE9EZvbVpZMjIV8-WAr3qmZ9vZPoVsU.QXvKRI1hOrCwv8Lg?startTime=1635487241000&_x_zm_rtaid=iuuaYWHFSEec21FRLG7Cig.1635861744121.d2b5a7e329a988e4ea49b64e3d6e66b6&_x_zm_rhtaid=460",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" (for Livemark jump at 1:03:03).")]),e._v(" "),a("li",[e._v("The third cohort of Frictionless Fellows has officially kicked off mid-October. You will get to meet them next year during one of our community calls. Meanwhile, stay tuned to know more about them!")]),e._v(" "),a("li",[e._v("We don’t have any presentation planned for the December community call yet. Would you like to present something? Drop us a line to let us know!")])]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is one week earlier than usual (to avoid conflict with American Thanksgiving), on November 18"),a("sup",[e._v("th")]),e._v(". We will hear a presentation from Peter Desmet on Frictionless Data exchange format for camera trapping data.")]),e._v(" "),a("p",[e._v("You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/MFffZRM8qjs",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[146],{677:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On our last Frictionless Data community call on October 28"),a("sup",[e._v("th")]),e._v(" we had Michael Amadi from Nimble Learn giving a presentation on Open Data Blend and their Frictionless Data journey.")]),e._v(" "),a("p",[e._v("Open Data Blend is a set of open data services that aim to make large and complex UK open data easier to analyse. The Open Data Blend datasets have two interfaces: a UI and an API, both powered by Frictionless Data. The datasets themselves are built on top of three Frictionless Data specifications: data package, data resource and table schema; and they incorporate some Frictionless Data patterns.")]),e._v(" "),a("p",[e._v("The project addresses some of the main open data challenges:")]),e._v(" "),a("ul",[a("li",[e._v("Large data volumes that are difficult to manage due to their size")]),e._v(" "),a("li",[e._v("Overwhelming complexity in data analysis")]),e._v(" "),a("li",[e._v("Open data shared in sub-optimal file formats for data analysis (e.g. PDFs)")]),e._v(" "),a("li",[e._v("When companies and organisation aggregate data, refine it and add value to it, they often don’t openly share the cleaned data")])]),e._v(" "),a("p",[e._v("You can learn more on the project "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/07/12/open-data-blend/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". If you would like to dive deeper and discover all about how Open Data Blend uses the Frictionless Data toolkit, you can watch Michael Amadi’s presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/avAXe3SUEKI",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("h1",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("ul",[a("li",[e._v("Senior developer Evgeny Karev presented Livemark at PyData on October 29"),a("sup",[e._v("th")]),e._v(". If you missed it and want to have a look, check out the recording "),a("a",{attrs:{href:"https://zoom.us/rec/play/yyFTEAW3_v4cPGUNbiHS95-vlgICgNYeVdK_N9VHOdHxLDoKbTE9EZvbVpZMjIV8-WAr3qmZ9vZPoVsU.QXvKRI1hOrCwv8Lg?startTime=1635487241000&_x_zm_rtaid=iuuaYWHFSEec21FRLG7Cig.1635861744121.d2b5a7e329a988e4ea49b64e3d6e66b6&_x_zm_rhtaid=460",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" (for Livemark jump at 1:03:03).")]),e._v(" "),a("li",[e._v("The third cohort of Frictionless Fellows has officially kicked off mid-October. You will get to meet them next year during one of our community calls. Meanwhile, stay tuned to know more about them!")]),e._v(" "),a("li",[e._v("We don’t have any presentation planned for the December community call yet. Would you like to present something? Drop us a line to let us know!")])]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is one week earlier than usual (to avoid conflict with American Thanksgiving), on November 18"),a("sup",[e._v("th")]),e._v(". We will hear a presentation from Peter Desmet on Frictionless Data exchange format for camera trapping data.")]),e._v(" "),a("p",[e._v("You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/MFffZRM8qjs",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/147.74063819.js b/assets/js/147.8f111805.js similarity index 98% rename from assets/js/147.74063819.js rename to assets/js/147.8f111805.js index d21465d10..270ca2118 100644 --- a/assets/js/147.74063819.js +++ b/assets/js/147.8f111805.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{677:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On our last Frictionless Data community call on November 18"),a("sup",[e._v("th")]),e._v(" we had Peter Desmet from the Research Institute for Nature and Forest (INBO) giving a presentation on Frictionless Data exchange format for camera trapping data.")]),e._v(" "),a("p",[e._v("Camera trapping is a non-invasive wildlife monitoring technique generating more and more data in the last few years. Darwin Core, a well established standard in the biodiversity field, does not capture the full scope of camera trapping data (e.g. it does not express your camera setup) and it is therefore not ideal. To tackle this problem, the camera trapped data package was developed, using Frictionless Data standards. The camera trapped data package is both a "),a("strong",[e._v("model")]),e._v(" and a "),a("strong",[e._v("format")]),e._v(" to exchange camera trapping data, and it is designed to capture all the essential data and metadata of camera trap studies.")]),e._v(" "),a("p",[e._v("The camera trap data package model includes:")]),e._v(" "),a("ul",[a("li",[e._v("Metadata about the project")]),e._v(" "),a("li",[e._v("Deployments info about the location, the camera and the time")]),e._v(" "),a("li",[e._v("Media including the file url, the timestamp and if it is a sequence")]),e._v(" "),a("li",[e._v("Observation about the file (Is it blank? What kind of animal can we see? etc…)")])]),e._v(" "),a("p",[e._v("The format is similar to a Frictionless Data data package. It includes: "),a("strong",[e._v("metadata")]),e._v(" about the project and the data package structure, "),a("strong",[e._v("csv files")]),e._v(" for the deployments, the media captured in the deployments, and the observations in those media.")]),e._v(" "),a("p",[e._v("If you would like to dive deeper and discover all about the Frictionless Data exchange format for camera trapping data, you can watch Peter Desmet’s presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Pi_kbQ_KYiM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also find Peter’s presentation deck "),a("a",{attrs:{href:"https://speakerdeck.com/peterdesmet/camtrap-dp-using-frictionless-standards-for-a-camera-trapping-data-exchange-format",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("p",[e._v("We are part of the organisation of the FOSDEM DevRoom Open Research Tools & Technologies this year too. We would love to have someone from the Frictionless community giving a talk. If you are interested please let us know! We are very happy to help you structure your idea, if needed. Calls for participation will be issued soon. Keep an eye on "),a("a",{attrs:{href:"https://fosdem.org/2022/news/2021-11-02-devroom-cfp/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this page"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is one week earlier than usual, on December 16"),a("sup",[e._v("th")]),e._v(", because of the Winter holidays. Keith Hughitt is going to present some ideas around representing data processing flows as a DAG inside of a datapackage.json, and tools for interacting with and visualizing such DAGs.")]),e._v(" "),a("p",[e._v("You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/DQ4hpARBVSE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[147],{678:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On our last Frictionless Data community call on November 18"),a("sup",[e._v("th")]),e._v(" we had Peter Desmet from the Research Institute for Nature and Forest (INBO) giving a presentation on Frictionless Data exchange format for camera trapping data.")]),e._v(" "),a("p",[e._v("Camera trapping is a non-invasive wildlife monitoring technique generating more and more data in the last few years. Darwin Core, a well established standard in the biodiversity field, does not capture the full scope of camera trapping data (e.g. it does not express your camera setup) and it is therefore not ideal. To tackle this problem, the camera trapped data package was developed, using Frictionless Data standards. The camera trapped data package is both a "),a("strong",[e._v("model")]),e._v(" and a "),a("strong",[e._v("format")]),e._v(" to exchange camera trapping data, and it is designed to capture all the essential data and metadata of camera trap studies.")]),e._v(" "),a("p",[e._v("The camera trap data package model includes:")]),e._v(" "),a("ul",[a("li",[e._v("Metadata about the project")]),e._v(" "),a("li",[e._v("Deployments info about the location, the camera and the time")]),e._v(" "),a("li",[e._v("Media including the file url, the timestamp and if it is a sequence")]),e._v(" "),a("li",[e._v("Observation about the file (Is it blank? What kind of animal can we see? etc…)")])]),e._v(" "),a("p",[e._v("The format is similar to a Frictionless Data data package. It includes: "),a("strong",[e._v("metadata")]),e._v(" about the project and the data package structure, "),a("strong",[e._v("csv files")]),e._v(" for the deployments, the media captured in the deployments, and the observations in those media.")]),e._v(" "),a("p",[e._v("If you would like to dive deeper and discover all about the Frictionless Data exchange format for camera trapping data, you can watch Peter Desmet’s presentation here:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Pi_kbQ_KYiM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also find Peter’s presentation deck "),a("a",{attrs:{href:"https://speakerdeck.com/peterdesmet/camtrap-dp-using-frictionless-standards-for-a-camera-trapping-data-exchange-format",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"other-agenda-items-from-our-hangout"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#other-agenda-items-from-our-hangout"}},[e._v("#")]),e._v(" Other agenda items from our hangout")]),e._v(" "),a("p",[e._v("We are part of the organisation of the FOSDEM DevRoom Open Research Tools & Technologies this year too. We would love to have someone from the Frictionless community giving a talk. If you are interested please let us know! We are very happy to help you structure your idea, if needed. Calls for participation will be issued soon. Keep an eye on "),a("a",{attrs:{href:"https://fosdem.org/2022/news/2021-11-02-devroom-cfp/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this page"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is one week earlier than usual, on December 16"),a("sup",[e._v("th")]),e._v(", because of the Winter holidays. Keith Hughitt is going to present some ideas around representing data processing flows as a DAG inside of a datapackage.json, and tools for interacting with and visualizing such DAGs.")]),e._v(" "),a("p",[e._v("You can sign up "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/DQ4hpARBVSE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("As usual, you can join us on "),a("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),a("OutboundLink")],1),e._v(" or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/148.29f8fc8d.js b/assets/js/148.05ba6528.js similarity index 99% rename from assets/js/148.29f8fc8d.js rename to assets/js/148.05ba6528.js index 48d070485..c665ff13d 100644 --- a/assets/js/148.29f8fc8d.js +++ b/assets/js/148.05ba6528.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{678:function(e,a,t){"use strict";t.r(a);var i=t(29),r=Object(i.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("We are very excited to introduce you to the 3rd cohort of "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Reproducible Research Fellows"),t("OutboundLink")],1),e._v("! Over the coming months, this group of six early career researchers will be learning about open science, data management, and how to use Frictionless Data tooling in their work to make their data more open and their research more reusable. Keep an eye on them, as they are on their way to becoming champions of reproducibility! For now, go and read the introductory blogs they wrote about themselves to know more about them and their goals for this fellowship.")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/GQ.jpeg",width:"200px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi, everyone! My name is Guo-Qiang Zhang")]),e._v(", and I am from China. Right after I finished my residency training in Pediatrics, I joined Prof Bright I. Nwaru’s group and started my doctoral studies at Krefting Research Centre in University of Gothenburg (Sweden). My doctoral project is to look at the effects of sex hormones on women’s health (especially asthma), utilizing epidemiological methods as well as evidence synthesis tools (e.g., systematic review, umbrella review).")]),e._v(" "),t("p",[e._v("In my first year of doctoral studies, I had the opportunity to participate in the course “Reproducibility in Medical Research” led by Prof Nwaru. It was my first time to hear about Open Science and research reproducibility. As a “fresh” full-time doctoral student full of passion for medical research, I felt overwhelmed by waves of frustration when I came to know the reproducibility crisis. After spending some time with my frustration, I came to realize that in fact I can do something. In my first project, my colleagues and I conducted an umbrella review on a highly controversial topic on the impact of menopausal hormone therapy on women’s health. We put extensive efforts into making the review process as transparent as possible: we developed beforehand protocols for data extraction and statistical analysis, documented key steps of the review process, verified data in the published literature, and made all datasets and R scripts publicly available."),t("br"),e._v("\nTo keep on reading about Guo-Qiang click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-guo-qiang/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Victoria.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi all! My name is Victoria")]),e._v(". I’m a physics graduate student and recovering engineer living in Berlin. I grew up mainly in my family’s native country of Singapore, but consider myself an American, and am still workshopping a straightforward answer to “where are you from.”")]),e._v(" "),t("p",[e._v("In my past life I worked in materials QA testing; currently, I’m at the German Aerospace Centre designing laser systems in the THz range - a type of non-visible light that hangs out on the electromagnetic spectrum between infrared and microwave.")]),e._v(" "),t("p",[e._v("My Open Science journey has just begun and I’m stoked! I started to get interested in topics around data transparency and accessibility after a series of escalating frustrations with information dynamics in medical technology, beginning in my own field of gas sensing, then discovering similar disparities in tangential fields."),t("br"),e._v("\nRead more about Victoria "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-victoria/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Zarena.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hello everybody! My name is Zarena")]),e._v(". I grew up in the Kyrgyz Republic, yet spent half of my life studying and working abroad. Currently, I am a Research Assistant for the project Creating Culturally Appropriate Research Ethics in Central Asia (CARE) at Nazarbayev University in Kazakhstan. I am also a Mad activist and an interdisciplinary human rights researcher. I like to consider my research activities going beyond academia to encompass and make an effect on broader socio-political structures.")]),e._v(" "),t("p",[e._v("Although I believe that life would not progress without frictions, when it comes to science and research, I feel, ‘frictions’ - manifested in a form of paywalls, bureaucratic and corporate management, or other structural barriers - should be deconstructed. So, I am joining the Frictionless Data Fellowship Programme with the purpose to learn more about open and FAIR research."),t("br"),e._v("\nLearn more about Zarena "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-zarena/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Melvin.jpeg",width:"120px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi everyone, my name is Melvin Ochieng")]),e._v(", and I’m a pathologist and up-coming soil scientist. I was born in Kenya in a town called Eldoret that is famous for producing Kenyan marathon champions. I was raised in Kenya in my early childhood days and in Tanzania afterwards. I like to consider myself both Kenyan and Tanzanian at heart because the two countries took part in molding the person I am today. I am currently a masters student at University of Mohammed VI polytechnic in Morocco, studying fertilizer science and technology. Over the past two years, my research focused on potato cyst nematode (PCN) which is a quarantine pest that had been reported in Kenya in 2015.")]),e._v(" "),t("p",[e._v("I’m excited to start this journey as a Frictionless Data fellow with my fellows for this cohort. I just recently found out about open science and I couldn’t be more excited to learn more about this concept and how it will influence me as a researcher. Advancement in technology has opened up the world in so many ways and made possible extensive networks for collaborations globally. Notably, the problems the world is facing today require a global/collaborative approach to solve. Therefore, reproducible research is of key importance in promoting this collaboration."),t("br"),e._v("\nTo know more about Melvin click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-melvin/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Kevin-Photo.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hello! My name is Kevin Kidambasi")]),e._v("(KK). I was born and raised in Vihiga County of western Kenya. Currently, I live in Nairobi, the capital city of Kenya. I am a master’s student in Jomo Kenyatta University of Agriculture and Technology (JKUAT) registered at the department of Biochemistry. My MSc research at the International Centre of Insect Physiology and Ecology (icipe) focuses on the role of haematophagous camel-specific biting keds (Hippobosca camelina) in disease transmission in Laisamis, Marsabit County of northern Kenya. My broad research interest focuses on studying host-pathogen interactions to understand infection mechanisms of diseases in order to discover novel control and treatment targets.")]),e._v(" "),t("p",[e._v("I am interested in improving research reproducibility because it allows other researchers to confirm the accuracy of my data and correct any bias as well as validate the relevance of the conclusions drawn from the results. This also allows data to be analyzed in different ways and thus, give new insights and lead the research in new directions. In addition, improving research reproducibility would allow the scientific community to understand how the conclusions of a study were made and pinpoint out any mistakes in data analyses. In general, research reproducibility enhances openness, research collaboration, and data accessibility which in turn increase public trust in science and hence permits their participation and support for research. This enables public understanding of how research is conducted and its importance."),t("br"),e._v("\nRead more about Kevin "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-kevin/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Lindsay.jpeg",width:"120px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Greetings! My name is Lindsay Gypin")]),e._v(", she/her. I grew up in Denver, Colorado and began my career as a K-12 educator. I taught high school English and worked as a school librarian before becoming disillusioned with the politicization of public education and determining my skills were better suited for work in public libraries. Attending library school after having worked in libraries for so many years, I found myself drawn to courses in the research data management track of librarianship, and in qualitative research methods.I recently became a Data Services Librarian at the University of North Carolina Greensboro, where I hope to assist scholars in making their research data more open and accessible.")]),e._v(" "),t("p",[e._v("For some time, I have wanted to build a reproducible workflow to uncover systemic bias in library catalogs. I’m hoping the Fellows Programme will help me build the foundation to do so."),t("br"),e._v("\nTo learn more about Lindsay click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-lindsay/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[148],{683:function(e,a,t){"use strict";t.r(a);var i=t(29),r=Object(i.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("We are very excited to introduce you to the 3rd cohort of "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data Reproducible Research Fellows"),t("OutboundLink")],1),e._v("! Over the coming months, this group of six early career researchers will be learning about open science, data management, and how to use Frictionless Data tooling in their work to make their data more open and their research more reusable. Keep an eye on them, as they are on their way to becoming champions of reproducibility! For now, go and read the introductory blogs they wrote about themselves to know more about them and their goals for this fellowship.")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/GQ.jpeg",width:"200px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi, everyone! My name is Guo-Qiang Zhang")]),e._v(", and I am from China. Right after I finished my residency training in Pediatrics, I joined Prof Bright I. Nwaru’s group and started my doctoral studies at Krefting Research Centre in University of Gothenburg (Sweden). My doctoral project is to look at the effects of sex hormones on women’s health (especially asthma), utilizing epidemiological methods as well as evidence synthesis tools (e.g., systematic review, umbrella review).")]),e._v(" "),t("p",[e._v("In my first year of doctoral studies, I had the opportunity to participate in the course “Reproducibility in Medical Research” led by Prof Nwaru. It was my first time to hear about Open Science and research reproducibility. As a “fresh” full-time doctoral student full of passion for medical research, I felt overwhelmed by waves of frustration when I came to know the reproducibility crisis. After spending some time with my frustration, I came to realize that in fact I can do something. In my first project, my colleagues and I conducted an umbrella review on a highly controversial topic on the impact of menopausal hormone therapy on women’s health. We put extensive efforts into making the review process as transparent as possible: we developed beforehand protocols for data extraction and statistical analysis, documented key steps of the review process, verified data in the published literature, and made all datasets and R scripts publicly available."),t("br"),e._v("\nTo keep on reading about Guo-Qiang click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-guo-qiang/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Victoria.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi all! My name is Victoria")]),e._v(". I’m a physics graduate student and recovering engineer living in Berlin. I grew up mainly in my family’s native country of Singapore, but consider myself an American, and am still workshopping a straightforward answer to “where are you from.”")]),e._v(" "),t("p",[e._v("In my past life I worked in materials QA testing; currently, I’m at the German Aerospace Centre designing laser systems in the THz range - a type of non-visible light that hangs out on the electromagnetic spectrum between infrared and microwave.")]),e._v(" "),t("p",[e._v("My Open Science journey has just begun and I’m stoked! I started to get interested in topics around data transparency and accessibility after a series of escalating frustrations with information dynamics in medical technology, beginning in my own field of gas sensing, then discovering similar disparities in tangential fields."),t("br"),e._v("\nRead more about Victoria "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-victoria/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Zarena.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hello everybody! My name is Zarena")]),e._v(". I grew up in the Kyrgyz Republic, yet spent half of my life studying and working abroad. Currently, I am a Research Assistant for the project Creating Culturally Appropriate Research Ethics in Central Asia (CARE) at Nazarbayev University in Kazakhstan. I am also a Mad activist and an interdisciplinary human rights researcher. I like to consider my research activities going beyond academia to encompass and make an effect on broader socio-political structures.")]),e._v(" "),t("p",[e._v("Although I believe that life would not progress without frictions, when it comes to science and research, I feel, ‘frictions’ - manifested in a form of paywalls, bureaucratic and corporate management, or other structural barriers - should be deconstructed. So, I am joining the Frictionless Data Fellowship Programme with the purpose to learn more about open and FAIR research."),t("br"),e._v("\nLearn more about Zarena "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-zarena/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Melvin.jpeg",width:"120px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hi everyone, my name is Melvin Ochieng")]),e._v(", and I’m a pathologist and up-coming soil scientist. I was born in Kenya in a town called Eldoret that is famous for producing Kenyan marathon champions. I was raised in Kenya in my early childhood days and in Tanzania afterwards. I like to consider myself both Kenyan and Tanzanian at heart because the two countries took part in molding the person I am today. I am currently a masters student at University of Mohammed VI polytechnic in Morocco, studying fertilizer science and technology. Over the past two years, my research focused on potato cyst nematode (PCN) which is a quarantine pest that had been reported in Kenya in 2015.")]),e._v(" "),t("p",[e._v("I’m excited to start this journey as a Frictionless Data fellow with my fellows for this cohort. I just recently found out about open science and I couldn’t be more excited to learn more about this concept and how it will influence me as a researcher. Advancement in technology has opened up the world in so many ways and made possible extensive networks for collaborations globally. Notably, the problems the world is facing today require a global/collaborative approach to solve. Therefore, reproducible research is of key importance in promoting this collaboration."),t("br"),e._v("\nTo know more about Melvin click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-melvin/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Kevin-Photo.jpeg",width:"140px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Hello! My name is Kevin Kidambasi")]),e._v("(KK). I was born and raised in Vihiga County of western Kenya. Currently, I live in Nairobi, the capital city of Kenya. I am a master’s student in Jomo Kenyatta University of Agriculture and Technology (JKUAT) registered at the department of Biochemistry. My MSc research at the International Centre of Insect Physiology and Ecology (icipe) focuses on the role of haematophagous camel-specific biting keds (Hippobosca camelina) in disease transmission in Laisamis, Marsabit County of northern Kenya. My broad research interest focuses on studying host-pathogen interactions to understand infection mechanisms of diseases in order to discover novel control and treatment targets.")]),e._v(" "),t("p",[e._v("I am interested in improving research reproducibility because it allows other researchers to confirm the accuracy of my data and correct any bias as well as validate the relevance of the conclusions drawn from the results. This also allows data to be analyzed in different ways and thus, give new insights and lead the research in new directions. In addition, improving research reproducibility would allow the scientific community to understand how the conclusions of a study were made and pinpoint out any mistakes in data analyses. In general, research reproducibility enhances openness, research collaboration, and data accessibility which in turn increase public trust in science and hence permits their participation and support for research. This enables public understanding of how research is conducted and its importance."),t("br"),e._v("\nRead more about Kevin "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-kevin/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("img",{staticStyle:{margin:"10px",border:"5px solid black"},attrs:{src:"/img/blog/Lindsay.jpeg",width:"120px",align:"left"}}),e._v(" "),t("p",[t("strong",[e._v("Greetings! My name is Lindsay Gypin")]),e._v(", she/her. I grew up in Denver, Colorado and began my career as a K-12 educator. I taught high school English and worked as a school librarian before becoming disillusioned with the politicization of public education and determining my skills were better suited for work in public libraries. Attending library school after having worked in libraries for so many years, I found myself drawn to courses in the research data management track of librarianship, and in qualitative research methods.I recently became a Data Services Librarian at the University of North Carolina Greensboro, where I hope to assist scholars in making their research data more open and accessible.")]),e._v(" "),t("p",[e._v("For some time, I have wanted to build a reproducible workflow to uncover systemic bias in library catalogs. I’m hoping the Fellows Programme will help me build the foundation to do so."),t("br"),e._v("\nTo learn more about Lindsay click "),t("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/hello-lindsay/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),t("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/15.7833d3f7.js b/assets/js/15.389edd1b.js similarity index 95% rename from assets/js/15.7833d3f7.js rename to assets/js/15.389edd1b.js index 7b21d7300..635b17dd3 100644 --- a/assets/js/15.7833d3f7.js +++ b/assets/js/15.389edd1b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{517:function(e,t,a){e.exports=a.p+"assets/img/deploy-solutions-img-1.e03bb95a.png"},518:function(e,t,a){e.exports=a.p+"assets/img/Deploy-solutions-img-2.50645805.png"},519:function(e,t,a){e.exports=a.p+"assets/img/deploy-solutions-img-3.690aace9.png"},520:function(e,t,a){e.exports=a.p+"assets/img/OASIS-Prototype-Features-Import-Data.e63330ef.gif"},700:function(e,t,a){"use strict";a.r(t);var o=a(29),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"our-climate-change-research-and-development-program"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#our-climate-change-research-and-development-program"}},[e._v("#")]),e._v(" Our Climate Change Research and Development Program")]),e._v(" "),o("p",[e._v("We’re Canadian software developers passionate about space and the Earth."),o("br"),e._v("\nSince 2019, we have been working with hundreds of students, citizens, NGOs, scientists, and government officials to identify top communication problems getting citizens to act on climate change risks. We are exploring ways software can help authorities and ordinary citizens communicate better and prepare for, respond to, and recover from climate change impacts and natural disasters."),o("br"),e._v("\nWe have gathered unprecedented insights into how software can help and are now building a prototype to put these insights into practice and help individuals and communities before, during, and after a climate change impact or natural disaster.")]),e._v(" "),o("h1",{attrs:{id:"our-climate-change-software-prototype"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#our-climate-change-software-prototype"}},[e._v("#")]),e._v(" Our Climate Change Software Prototype")]),e._v(" "),o("p",[e._v("The prototype is based on historic floods that occurred in Ottawa-Gatineau in 2017 and 2019, and is intended to demonstrate ways that software can help emergency responders and local government officials communicate better with the general public."),o("br"),e._v("\nIt isn’t intended to replace any emergency alert or other government systems. Instead, its focus is on communicating, collaborating with, and supporting individuals and communities as they prepare, respond, and recover from disasters and impacts."),o("br"),e._v("\nThe prototype is modular and organized into different sections, grouped by the intended main audience:")]),e._v(" "),o("h2",{attrs:{id:"trusted-authorities-web-portal"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#trusted-authorities-web-portal"}},[e._v("#")]),e._v(" “Trusted Authorities” web portal")]),e._v(" "),o("p",[e._v("This audience includes emergency responders, government officials at the municipal, provincial, and federal levels, officials and staff at hydro-electric stations and municipal infrastructure, and other groups who would have authority over the planning, response, and recovery efforts. They produce and consume official data sources, and can share some of that information with the general public or citizen scientist audiences. The web portal contains sensitive, non-public information and therefore requires a secure login for verified users."),o("br"),e._v('\nThis is an example of the Trusted Authority Dashboard (showing other prototype"modules" in addition to the flooding):')]),e._v(" "),o("p",[o("img",{attrs:{src:a(517),alt:"deploy-solutions-img-1"}})]),e._v(" "),o("h2",{attrs:{id:"general-public-anonymous-website"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#general-public-anonymous-website"}},[e._v("#")]),e._v(" General public (anonymous website)")]),e._v(" "),o("p",[e._v("The audience for this section of the prototype is the members of the public who are impacted by the flood, or likely to be. They consume official data sources but do not produce any of their own (in our current prototype). This section is a public, read-only website which does not require any login."),o("br"),e._v("\nThe information the public will see includes a variety of data sources including: checklists for disaster preparation, response, and recovery; curated news and social media information on the disaster; useful resources including emergency and insurance information; and more.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(518),alt:"deploy-solutions-img-2"}})]),e._v(" "),o("h1",{attrs:{id:"what-data-does-the-prototype-need"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-data-does-the-prototype-need"}},[e._v("#")]),e._v(" What Data Does the Prototype Need?")]),e._v(" "),o("p",[e._v("As you can see from the screens above, the prototype needs to manage a wide variety of flood disaster-related data sets, from all kinds of providers and with varying degrees of reliability and quality."),o("br"),e._v('\nSome of this data we consider to be"official" and “static” (meaning it exists before a disaster occurs). This kind of data include official government-sourced open data, such as a list of hospitals, police stations, and municipal infrastructure.'),o("br"),e._v("\nObviously these lists wouldn’t change in the middle of a disaster, and would be prepared ahead of time."),o("br"),e._v("\nHowever, there would also be a set of ad-hoc lists created to suit the particular needs of the disaster response and community involvement. This is data that is highly subjective to the particular circumstances of the disaster, cannot be known ahead of time, and is likely to evolve over the course of the disaster."),o("br"),e._v("\nExamples of such “dynamic data” include locations where sandbags are prepared, locations of emergency shelters, lists of emergency supplies and so on.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(519),alt:"Deploy-solutions-img-3"}})]),e._v(" "),o("p",[e._v("Our software prototype allows users to upload CSV files as part of a data import process to make it easy and quick to populate the system with static or dynamic data."),o("br"),e._v("\nEnsuring the quality of ad-hoc data sets is of particular concern, since there are likely to be fewer quality checks for data generated rapidly in response to urgent need.")]),e._v(" "),o("h1",{attrs:{id:"why-do-we-need-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#why-do-we-need-frictionless-data"}},[e._v("#")]),e._v(" Why Do We Need Frictionless Data?")]),e._v(" "),o("p",[e._v("Therefore, the prototype needs to ensure the users can only upload data that is considered valid according to the Frictionless schema. So before completing the import we have to check every file a user uploads. If it isn’t valid, we need to display a detailed error message to the user so they can fix any errors and retry."),o("br"),e._v("\nThis prevents a user from accidentally entering invalid information and potentially causing corrupt or incomplete records."),o("br"),e._v("\nIt may appear that adding a validation check slows things down. However, this is actually a significantly faster and more user-friendly data import process. From a technical perspective, we can make an asynchronous RESTful call to the Frictionless Data validation service and the response is quick. From a process perspective, without Frictionless Data validation a user might not find out about issues until after the import, and would then have to waste valuable time and effort cleaning up data integrity errors."),o("br"),e._v("\nSince the prototype is intended to help with a flood disaster response, it is critical to avoid any such delays or data integrity risks!")]),e._v(" "),o("h1",{attrs:{id:"how-we-use-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-we-use-frictionless-data"}},[e._v("#")]),e._v(" How We Use Frictionless Data")]),e._v(" "),o("p",[e._v("To achieve the benefits above, we use the "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Python Frictionless SDK"),o("OutboundLink")],1),e._v(" hosted in the Amazon Web Services (AWS) cloud."),o("br"),e._v("\nThe code is written in Python programming language. The main Frictionless elements we use currently are the "),o("code",[e._v("Resource")]),e._v(" schema and the "),o("code",[e._v("validate()")]),e._v(" feature. The Python code is deployed as a Lambda layer behind an AWS API Gateway service."),o("br"),e._v("\nThis technical architecture allows us to easily call the Frictionless Data validation feature from our software solutions via simple REST methods calls. The feature can be deployed, secured, and scaled independently of the other prototype components."),o("br"),e._v("\nOf course the code needs to know what schemas to validate against. We create and store Deploy Solutions frictionless schemas for the data sets we described above. There is one schema created for each type of data that we allow a user to import. We store these in a single AmazonS3 bucket, that can only be accessed by the Lambda layer."),o("br"),e._v("\nWhen a user uploads a CSV file into our prototype, they have to choose which type of data they are saving so we know which schema to validate against (depending on which page they’re on, we can usually make this choice for them)."),o("br"),e._v("\nFor example, if a user was uploading a list of Sandbag assembly locations, the software would know to validate against "),o("em",[e._v("the dss-sandbaggingregion_schema.json")]),e._v(" Frictionless schema."),o("br"),e._v("\nWe then create a Frictionless Resource file which consists of the uploaded CSV and the matching schema. Using this Resource file, our software calls the Frictionless "),o("code",[e._v("validate()")]),e._v(" method and receives the validation report back."),o("br"),e._v("\nIf errors are found, these need to be returned back to the user. In our front-end web client (we use Angular), we format the raw report into table display. The report tells the user precisely which row, column and cell requires fixing, saving them valuable time and eliminating more errors!"),o("br"),e._v("\nYou can see the result in the animated GIF below.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(520),alt:"OASIS Prototype Features Import Data - Invalid Data is Blocked-high"}})]),e._v(" "),o("p",[e._v("Obviously the technical complexities mentioned above are hidden away and the user just sees a very simple and intuitive set of validation messages - or hopefully just a success message!"),o("br"),e._v("\nYou can see a full video of this process on our video showcase page: "),o("a",{attrs:{href:"https://showcase.oasis.climatechange.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://showcase.oasis.climatechange.ca"),o("OutboundLink")],1)]),e._v(" "),o("h1",{attrs:{id:"want-to-learn-more-about-our-software-prototype-and-climate-change-software-r-d"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#want-to-learn-more-about-our-software-prototype-and-climate-change-software-r-d"}},[e._v("#")]),e._v(" Want to Learn More About Our Software Prototype and Climate Change Software R&D?")]),e._v(" "),o("p",[e._v("We’ve created a new service to share our climate change software development knowledge. It’s called “OASIS: Software Solutions for Climate Change Problems”."),o("br"),e._v("\nThe OASIS service includes a free weekly newsletter and premium subscription service. It shares unique insights, content, resources, and guidance on how to use software and data from Earth and space to build solutions for climate change problems."),o("br"),e._v("\nLearn more, and subscribe to the free newsletter, at "),o("a",{attrs:{href:"https://oasis.climatechange.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://oasis.climatechange.ca"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{530:function(e,t,a){e.exports=a.p+"assets/img/deploy-solutions-img-1.e03bb95a.png"},531:function(e,t,a){e.exports=a.p+"assets/img/Deploy-solutions-img-2.50645805.png"},532:function(e,t,a){e.exports=a.p+"assets/img/deploy-solutions-img-3.690aace9.png"},533:function(e,t,a){e.exports=a.p+"assets/img/OASIS-Prototype-Features-Import-Data.e63330ef.gif"},731:function(e,t,a){"use strict";a.r(t);var o=a(29),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h1",{attrs:{id:"our-climate-change-research-and-development-program"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#our-climate-change-research-and-development-program"}},[e._v("#")]),e._v(" Our Climate Change Research and Development Program")]),e._v(" "),o("p",[e._v("We’re Canadian software developers passionate about space and the Earth."),o("br"),e._v("\nSince 2019, we have been working with hundreds of students, citizens, NGOs, scientists, and government officials to identify top communication problems getting citizens to act on climate change risks. We are exploring ways software can help authorities and ordinary citizens communicate better and prepare for, respond to, and recover from climate change impacts and natural disasters."),o("br"),e._v("\nWe have gathered unprecedented insights into how software can help and are now building a prototype to put these insights into practice and help individuals and communities before, during, and after a climate change impact or natural disaster.")]),e._v(" "),o("h1",{attrs:{id:"our-climate-change-software-prototype"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#our-climate-change-software-prototype"}},[e._v("#")]),e._v(" Our Climate Change Software Prototype")]),e._v(" "),o("p",[e._v("The prototype is based on historic floods that occurred in Ottawa-Gatineau in 2017 and 2019, and is intended to demonstrate ways that software can help emergency responders and local government officials communicate better with the general public."),o("br"),e._v("\nIt isn’t intended to replace any emergency alert or other government systems. Instead, its focus is on communicating, collaborating with, and supporting individuals and communities as they prepare, respond, and recover from disasters and impacts."),o("br"),e._v("\nThe prototype is modular and organized into different sections, grouped by the intended main audience:")]),e._v(" "),o("h2",{attrs:{id:"trusted-authorities-web-portal"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#trusted-authorities-web-portal"}},[e._v("#")]),e._v(" “Trusted Authorities” web portal")]),e._v(" "),o("p",[e._v("This audience includes emergency responders, government officials at the municipal, provincial, and federal levels, officials and staff at hydro-electric stations and municipal infrastructure, and other groups who would have authority over the planning, response, and recovery efforts. They produce and consume official data sources, and can share some of that information with the general public or citizen scientist audiences. The web portal contains sensitive, non-public information and therefore requires a secure login for verified users."),o("br"),e._v('\nThis is an example of the Trusted Authority Dashboard (showing other prototype"modules" in addition to the flooding):')]),e._v(" "),o("p",[o("img",{attrs:{src:a(530),alt:"deploy-solutions-img-1"}})]),e._v(" "),o("h2",{attrs:{id:"general-public-anonymous-website"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#general-public-anonymous-website"}},[e._v("#")]),e._v(" General public (anonymous website)")]),e._v(" "),o("p",[e._v("The audience for this section of the prototype is the members of the public who are impacted by the flood, or likely to be. They consume official data sources but do not produce any of their own (in our current prototype). This section is a public, read-only website which does not require any login."),o("br"),e._v("\nThe information the public will see includes a variety of data sources including: checklists for disaster preparation, response, and recovery; curated news and social media information on the disaster; useful resources including emergency and insurance information; and more.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(531),alt:"deploy-solutions-img-2"}})]),e._v(" "),o("h1",{attrs:{id:"what-data-does-the-prototype-need"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-data-does-the-prototype-need"}},[e._v("#")]),e._v(" What Data Does the Prototype Need?")]),e._v(" "),o("p",[e._v("As you can see from the screens above, the prototype needs to manage a wide variety of flood disaster-related data sets, from all kinds of providers and with varying degrees of reliability and quality."),o("br"),e._v('\nSome of this data we consider to be"official" and “static” (meaning it exists before a disaster occurs). This kind of data include official government-sourced open data, such as a list of hospitals, police stations, and municipal infrastructure.'),o("br"),e._v("\nObviously these lists wouldn’t change in the middle of a disaster, and would be prepared ahead of time."),o("br"),e._v("\nHowever, there would also be a set of ad-hoc lists created to suit the particular needs of the disaster response and community involvement. This is data that is highly subjective to the particular circumstances of the disaster, cannot be known ahead of time, and is likely to evolve over the course of the disaster."),o("br"),e._v("\nExamples of such “dynamic data” include locations where sandbags are prepared, locations of emergency shelters, lists of emergency supplies and so on.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(532),alt:"Deploy-solutions-img-3"}})]),e._v(" "),o("p",[e._v("Our software prototype allows users to upload CSV files as part of a data import process to make it easy and quick to populate the system with static or dynamic data."),o("br"),e._v("\nEnsuring the quality of ad-hoc data sets is of particular concern, since there are likely to be fewer quality checks for data generated rapidly in response to urgent need.")]),e._v(" "),o("h1",{attrs:{id:"why-do-we-need-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#why-do-we-need-frictionless-data"}},[e._v("#")]),e._v(" Why Do We Need Frictionless Data?")]),e._v(" "),o("p",[e._v("Therefore, the prototype needs to ensure the users can only upload data that is considered valid according to the Frictionless schema. So before completing the import we have to check every file a user uploads. If it isn’t valid, we need to display a detailed error message to the user so they can fix any errors and retry."),o("br"),e._v("\nThis prevents a user from accidentally entering invalid information and potentially causing corrupt or incomplete records."),o("br"),e._v("\nIt may appear that adding a validation check slows things down. However, this is actually a significantly faster and more user-friendly data import process. From a technical perspective, we can make an asynchronous RESTful call to the Frictionless Data validation service and the response is quick. From a process perspective, without Frictionless Data validation a user might not find out about issues until after the import, and would then have to waste valuable time and effort cleaning up data integrity errors."),o("br"),e._v("\nSince the prototype is intended to help with a flood disaster response, it is critical to avoid any such delays or data integrity risks!")]),e._v(" "),o("h1",{attrs:{id:"how-we-use-frictionless-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-we-use-frictionless-data"}},[e._v("#")]),e._v(" How We Use Frictionless Data")]),e._v(" "),o("p",[e._v("To achieve the benefits above, we use the "),o("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Python Frictionless SDK"),o("OutboundLink")],1),e._v(" hosted in the Amazon Web Services (AWS) cloud."),o("br"),e._v("\nThe code is written in Python programming language. The main Frictionless elements we use currently are the "),o("code",[e._v("Resource")]),e._v(" schema and the "),o("code",[e._v("validate()")]),e._v(" feature. The Python code is deployed as a Lambda layer behind an AWS API Gateway service."),o("br"),e._v("\nThis technical architecture allows us to easily call the Frictionless Data validation feature from our software solutions via simple REST methods calls. The feature can be deployed, secured, and scaled independently of the other prototype components."),o("br"),e._v("\nOf course the code needs to know what schemas to validate against. We create and store Deploy Solutions frictionless schemas for the data sets we described above. There is one schema created for each type of data that we allow a user to import. We store these in a single AmazonS3 bucket, that can only be accessed by the Lambda layer."),o("br"),e._v("\nWhen a user uploads a CSV file into our prototype, they have to choose which type of data they are saving so we know which schema to validate against (depending on which page they’re on, we can usually make this choice for them)."),o("br"),e._v("\nFor example, if a user was uploading a list of Sandbag assembly locations, the software would know to validate against "),o("em",[e._v("the dss-sandbaggingregion_schema.json")]),e._v(" Frictionless schema."),o("br"),e._v("\nWe then create a Frictionless Resource file which consists of the uploaded CSV and the matching schema. Using this Resource file, our software calls the Frictionless "),o("code",[e._v("validate()")]),e._v(" method and receives the validation report back."),o("br"),e._v("\nIf errors are found, these need to be returned back to the user. In our front-end web client (we use Angular), we format the raw report into table display. The report tells the user precisely which row, column and cell requires fixing, saving them valuable time and eliminating more errors!"),o("br"),e._v("\nYou can see the result in the animated GIF below.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(533),alt:"OASIS Prototype Features Import Data - Invalid Data is Blocked-high"}})]),e._v(" "),o("p",[e._v("Obviously the technical complexities mentioned above are hidden away and the user just sees a very simple and intuitive set of validation messages - or hopefully just a success message!"),o("br"),e._v("\nYou can see a full video of this process on our video showcase page: "),o("a",{attrs:{href:"https://showcase.oasis.climatechange.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://showcase.oasis.climatechange.ca"),o("OutboundLink")],1)]),e._v(" "),o("h1",{attrs:{id:"want-to-learn-more-about-our-software-prototype-and-climate-change-software-r-d"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#want-to-learn-more-about-our-software-prototype-and-climate-change-software-r-d"}},[e._v("#")]),e._v(" Want to Learn More About Our Software Prototype and Climate Change Software R&D?")]),e._v(" "),o("p",[e._v("We’ve created a new service to share our climate change software development knowledge. It’s called “OASIS: Software Solutions for Climate Change Problems”."),o("br"),e._v("\nThe OASIS service includes a free weekly newsletter and premium subscription service. It shares unique insights, content, resources, and guidance on how to use software and data from Earth and space to build solutions for climate change problems."),o("br"),e._v("\nLearn more, and subscribe to the free newsletter, at "),o("a",{attrs:{href:"https://oasis.climatechange.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://oasis.climatechange.ca"),o("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/152.d196a591.js b/assets/js/152.a7c792b3.js similarity index 99% rename from assets/js/152.d196a591.js rename to assets/js/152.a7c792b3.js index 83f980ca1..08cfc36cf 100644 --- a/assets/js/152.d196a591.js +++ b/assets/js/152.a7c792b3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[152],{683:function(e,a,t){"use strict";t.r(a);var r=t(29),i=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("I started the "),t("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Libraries Hacked"),t("OutboundLink")],1),e._v(" project in 2014. Inspired by ‘tech for good’ open data groups and hackathons, I wanted to explore how libraries could leverage data for innovation and service improvement. I had already been involved in the work of the group "),t("a",{attrs:{href:"https://www.bathhacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bath Hacked"),t("OutboundLink")],1),e._v(", and worked at the local Council in Bath, releasing large amounts of open data that was well used by the community. That included data such as live car park occupancy, traffic surveys, and air quality monitoring.")]),e._v(" "),t("p",[e._v("Getting involved in civic data publishing led me to explore data software, tools, and standards. I’ve used the Frictionless standards of Table Schema and CSV Dialect, as well as the code libraries that can be utilised to implement these. Data standards are an essential tool for data publishers in order to make data easily usable and reproducible across different organisations.")]),e._v(" "),t("p",[e._v("Public library services in England are managed by 150 local government organisations. The central government department for Digital, Culture, Media, and Sport (DCMS) hold responsibility for superintending those services. In September 2019 they convened a meeting about public library data.")]),e._v(" "),t("p",[e._v("Library data, of many kinds, is not well utilised in England.")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Lack of public data")]),e._v(". There are relatively few library services sharing data about themselves for public use.")]),e._v(" "),t("li",[t("strong",[e._v("Low expectations")]),e._v(". There is no guidance on what data to share. Some services will publish certain datasets, but these will likely be different to the ones other publish.")]),e._v(" "),t("li",[t("strong",[e._v("Few standards")]),e._v(". The structure of any published data will be unique to each library service. For example, there are published lists of library branches from "),t("a",{attrs:{href:"https://www.opendatanottingham.org.uk/dataset.aspx?id=1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Nottinghamshire County Council"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://data.gov.uk/dataset/9342032d-ab88-462f-b31c-4fb07fd4da6f/libraries",target:"_blank",rel:"noopener noreferrer"}},[e._v("North Somerset Council"),t("OutboundLink")],1),e._v(". Both are out of date, and have different fields, field names, field types, and file formats.")])]),e._v(" "),t("p",[e._v("The meeting discussed these issues, amongst others. The problems are understood, but difficult to tackle, as no organisation has direct responsibility for library data. There are also difficult underlying causes - low skills and funding being two major ones.")]),e._v(" "),t("p",[e._v("Large scale culture change will take many years. But to begin some sector-led collaborative work, a group of the attendees agreed to define the fields for a core selection of library datasets. The project would involve data practitioners from across English library services.")]),e._v(" "),t("p",[e._v("The datasets would cover:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Events")]),e._v(": the events that happen in libraries, their attendance, and outcomes")]),e._v(" "),t("li",[t("strong",[e._v("Library branches")]),e._v(": physical building locations, opening hours, and contact details")]),e._v(" "),t("li",[t("strong",[e._v("Loans")]),e._v(": the items lent from libraries, with counts, time periods, and categories")]),e._v(" "),t("li",[t("strong",[e._v("Stock")]),e._v(": the number of items held in libraries, with categories")]),e._v(" "),t("li",[t("strong",[e._v("Mobile library stops")]),e._v(": locations of mobile library stops, and their timetabled frequency")]),e._v(" "),t("li",[t("strong",[e._v("Physical visits")]),e._v(": how many people visit library premises")]),e._v(" "),t("li",[t("strong",[e._v("Membership")]),e._v(": counts of people who are library members, at small-area geographies.")])]),e._v(" "),t("p",[e._v("These can be split into 3 categories:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Registers")]),e._v(". Data that should be updated when it changes. A list of library branches is a permanent register, to be updated when there are changes to those branches.")]),e._v(" "),t("li",[t("strong",[e._v("Snapshot")]),e._v(". Data that is released as a point in time representation. Library membership will be continually changing, but a snapshot of membership counts should be released at regular intervals.")]),e._v(" "),t("li",[t("strong",[e._v("Time-series")]),e._v(". Data that is new every time it is published. Loans data should be published at regular intervals, each published file being an addition to the existing set.")])]),e._v(" "),t("p",[e._v("To work on these, we held an in-person workshop at the DCMS offices. This featured an exciting interruption by a fire drill, and we had to relocate to a nearby café (difficult for a meeting with many people held in in London!). We also formed an online group using Slack to trial and discuss the data.")]),e._v(" "),t("h2",{attrs:{id:"schemas-and-frictionless-data"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#schemas-and-frictionless-data"}},[e._v("#")]),e._v(" Schemas and Frictionless Data")]),e._v(" "),t("p",[e._v("The majority of our discussions were practical rather than technical, such as what data would be most useful, whether or not it was currently used locally by services, and common problems.")]),e._v(" "),t("p",[e._v("However, to formalise how data should be structured, it became clear that it would be necessary to create technical 'data schemas’.")]),e._v(" "),t("p",[e._v("It can be easy to decide on the data you want, but fail to describe it properly. For example, we could provide people with a spreadsheet that included a column title such as ‘Closed date’. I’d expect people to enter a date in that column, but we’d end up with all kinds of formats.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),t("OutboundLink")],1),e._v(" specification for defining data, from Frictionless Data, provided a good option for tackling this problem. Not only would it allow us to create a detailed description for the data fields, but we could use other frictionless tools such as "),t("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Good Tables"),t("OutboundLink")],1),e._v(". This would allow library services to validate their data before publishing. Things like mismatching date formats would be picked up by the validator, and it would give instructions for how to fix the issue. We would additionally also provide ‘human-readable’ guidance on the datasets.")]),e._v(" "),t("p",[e._v("Frictionless Data is an "),t("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),t("OutboundLink")],1),e._v(" project, and using tools from an internationally renowned body was also a good practice. The schemas are UK-centric but could be adapted and reused by international library services.")]),e._v(" "),t("p",[e._v("The schemas are all documented at "),t("a",{attrs:{href:"https://schema.librarydata.uk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Public Library Open Data"),t("OutboundLink")],1),e._v(", including guidance, links to sample data, and the technical definition files.")]),e._v(" "),t("h2",{attrs:{id:"lessons-learned"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#lessons-learned"}},[e._v("#")]),e._v(" Lessons learned")]),e._v(" "),t("p",[e._v("The initial datasets are not comprehensive. They are designed to be a starting point, allowing more to be developed from service requirements.")]),e._v(" "),t("p",[e._v("They are overly focussed towards ‘physical’ library services. It wasn’t long after these meetings that public libraries adjusted to provide all-digital services due to lockdowns. There is nothing here to cover valuable usage datasets like the video views that library services receive on YouTube and Facebook.")]),e._v(" "),t("p",[e._v("There are some that have become even more important. The physical visits schema describes how to structure library footfall data, allowing for differences in collection methods and intervals. This kind of data is now in high demand, to analyse how library service visits recover.")]),e._v(" "),t("p",[e._v("Some of the discussions we had were fascinating. It was important to involve the people who work with this data on a daily basis. They will know how easy it is to extract and manipulate, and many of the pitfalls that come with interpreting it.")]),e._v(" "),t("h3",{attrs:{id:"complexity"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#complexity"}},[e._v("#")]),e._v(" Complexity")]),e._v(" "),t("p",[e._v("There was often a battle between complexity and simplicity. Complex data is good, it often means it is more robust, such as using external identifiers. But simplicity is also good, for data publishers and consumers.")]),e._v(" "),t("p",[e._v("Public library services will primarily employ data workers who are not formally trained in using data. Where there are complex concepts (e.g. Table Schema itself), they are used because they make data publishing easier and more consistent.")]),e._v(" "),t("p",[e._v("Public data should also be made as accessible as possible for the public, while being detailed enough to be useful. In this way the data schemas tend towards simplicity.")]),e._v(" "),t("h3",{attrs:{id:"standards-not-standardisation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#standards-not-standardisation"}},[e._v("#")]),e._v(" Standards not standardisation")]),e._v(" "),t("p",[e._v("There is a difference between a standard format for data, and standardised data. The schemas are primarily aimed at getting data from multiple services into the same format, to share analysis techniques between library services, and to have usable data when merged with other services.")]),e._v(" "),t("p",[e._v("There were some cases where we decided against standardising the actual data within data fields. For example, there is a column in the loans and the stock datasets called ‘Item type’. This is a category description of the library item, such as ‘Adult fiction’. In some other previous examples of data collection this data is standardised into a uniform set of categories, in order to make it easily comparable.")]),e._v(" "),t("p",[e._v("That kind of exercise defies reality though. Library services may have their own set of categories, many of them interesting and unique. To use a standard set would mean that library services would have to convert their underlying data. As well as extra work, it would be a loss of data. It would also mean that library services would be unlikely to use the converted data themselves. Why use such data if it doesn’t reflect what you actually hold?")]),e._v(" "),t("p",[e._v("The downside is that anyone analysing combined data would have to decide themselves how to compare data in those fields. However, that would be at least a clear task for the data analyst - and would most likely be an easier exercise to do in bulk.")]),e._v(" "),t("h3",{attrs:{id:"detail"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#detail"}},[e._v("#")]),e._v(" Detail")]),e._v(" "),t("p",[e._v("In my ideal world, data would be as detailed as possible. Instead of knowing how many items a library lent every month, I want that data for every hour. In fact I want to have every lending record! But feasibly that would make the data unwieldy and difficult to work with, and wouldn’t be in-line with the statistics libraries are used to.")]),e._v(" "),t("p",[e._v("We primarily made decisions based upon what library services already do. In a lot of cases this was data aggregated into monthly counts, with fields such as library branch and item type used to break down that data.")]),e._v(" "),t("h2",{attrs:{id:"the-future"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-future"}},[e._v("#")]),e._v(" The future")]),e._v(" "),t("p",[e._v("The initial meetings were held over two years ago, and it seems longer than that! A lot has happened in the meantime. We are still in a global pandemic that from library perspectives has de-prioritised anything other than core services.")]),e._v(" "),t("p",[e._v("However, there are good examples of the data in action. Barnet libraries "),t("a",{attrs:{href:"https://open.barnet.gov.uk/dataset/e14dj/library-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("publish 5 out of the 7 data schemas"),t("OutboundLink")],1),e._v(" on a regular basis.")]),e._v(" "),t("p",[e._v("I have also been creating tools that highlight how the data can be used such as "),t("a",{attrs:{href:"https://www.librarymap.co.uk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Library map"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://www.mobilelibraries.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mobile libraries"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("There is national work underway that can make use of these schemas. The British Library is working on a "),t("a",{attrs:{href:"https://www.artscouncil.org.uk/blog/single-digital-presence-libraries",target:"_blank",rel:"noopener noreferrer"}},[e._v("Single Digital Presence"),t("OutboundLink")],1),e._v(" project that will require data from library services in a standard form.")]),e._v(" "),t("p",[e._v("Internationally there are calls for more public library open data. The International Federation of Library Associations and Institutions (IFLA) has "),t("a",{attrs:{href:"https://www.ifla.org/news/ifla-releases-statement-on-open-library-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("released a statement on Open Library Data"),t("OutboundLink")],1),e._v(" calling for “governments to ensure, either directly or through supporting others, the collection and open publication of data about libraries and their use”. It would be great to work with organisations like IFLA to promote schemas that could be reused Internationally as well as for local services. There could also be the opportunity to use other Frictionless Data tools to aid in publishing data, such as "),t("a",{attrs:{href:"https://datahub.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Hopefully in the future there can be workshops, training events, and conferences that allow these data schemas to be discussed and further developed.")])])}),[],!1,null,null,null);a.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[152],{684:function(e,a,t){"use strict";t.r(a);var r=t(29),i=Object(r.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("I started the "),t("a",{attrs:{href:"https://www.librarieshacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Libraries Hacked"),t("OutboundLink")],1),e._v(" project in 2014. Inspired by ‘tech for good’ open data groups and hackathons, I wanted to explore how libraries could leverage data for innovation and service improvement. I had already been involved in the work of the group "),t("a",{attrs:{href:"https://www.bathhacked.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bath Hacked"),t("OutboundLink")],1),e._v(", and worked at the local Council in Bath, releasing large amounts of open data that was well used by the community. That included data such as live car park occupancy, traffic surveys, and air quality monitoring.")]),e._v(" "),t("p",[e._v("Getting involved in civic data publishing led me to explore data software, tools, and standards. I’ve used the Frictionless standards of Table Schema and CSV Dialect, as well as the code libraries that can be utilised to implement these. Data standards are an essential tool for data publishers in order to make data easily usable and reproducible across different organisations.")]),e._v(" "),t("p",[e._v("Public library services in England are managed by 150 local government organisations. The central government department for Digital, Culture, Media, and Sport (DCMS) hold responsibility for superintending those services. In September 2019 they convened a meeting about public library data.")]),e._v(" "),t("p",[e._v("Library data, of many kinds, is not well utilised in England.")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Lack of public data")]),e._v(". There are relatively few library services sharing data about themselves for public use.")]),e._v(" "),t("li",[t("strong",[e._v("Low expectations")]),e._v(". There is no guidance on what data to share. Some services will publish certain datasets, but these will likely be different to the ones other publish.")]),e._v(" "),t("li",[t("strong",[e._v("Few standards")]),e._v(". The structure of any published data will be unique to each library service. For example, there are published lists of library branches from "),t("a",{attrs:{href:"https://www.opendatanottingham.org.uk/dataset.aspx?id=1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Nottinghamshire County Council"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://data.gov.uk/dataset/9342032d-ab88-462f-b31c-4fb07fd4da6f/libraries",target:"_blank",rel:"noopener noreferrer"}},[e._v("North Somerset Council"),t("OutboundLink")],1),e._v(". Both are out of date, and have different fields, field names, field types, and file formats.")])]),e._v(" "),t("p",[e._v("The meeting discussed these issues, amongst others. The problems are understood, but difficult to tackle, as no organisation has direct responsibility for library data. There are also difficult underlying causes - low skills and funding being two major ones.")]),e._v(" "),t("p",[e._v("Large scale culture change will take many years. But to begin some sector-led collaborative work, a group of the attendees agreed to define the fields for a core selection of library datasets. The project would involve data practitioners from across English library services.")]),e._v(" "),t("p",[e._v("The datasets would cover:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Events")]),e._v(": the events that happen in libraries, their attendance, and outcomes")]),e._v(" "),t("li",[t("strong",[e._v("Library branches")]),e._v(": physical building locations, opening hours, and contact details")]),e._v(" "),t("li",[t("strong",[e._v("Loans")]),e._v(": the items lent from libraries, with counts, time periods, and categories")]),e._v(" "),t("li",[t("strong",[e._v("Stock")]),e._v(": the number of items held in libraries, with categories")]),e._v(" "),t("li",[t("strong",[e._v("Mobile library stops")]),e._v(": locations of mobile library stops, and their timetabled frequency")]),e._v(" "),t("li",[t("strong",[e._v("Physical visits")]),e._v(": how many people visit library premises")]),e._v(" "),t("li",[t("strong",[e._v("Membership")]),e._v(": counts of people who are library members, at small-area geographies.")])]),e._v(" "),t("p",[e._v("These can be split into 3 categories:")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Registers")]),e._v(". Data that should be updated when it changes. A list of library branches is a permanent register, to be updated when there are changes to those branches.")]),e._v(" "),t("li",[t("strong",[e._v("Snapshot")]),e._v(". Data that is released as a point in time representation. Library membership will be continually changing, but a snapshot of membership counts should be released at regular intervals.")]),e._v(" "),t("li",[t("strong",[e._v("Time-series")]),e._v(". Data that is new every time it is published. Loans data should be published at regular intervals, each published file being an addition to the existing set.")])]),e._v(" "),t("p",[e._v("To work on these, we held an in-person workshop at the DCMS offices. This featured an exciting interruption by a fire drill, and we had to relocate to a nearby café (difficult for a meeting with many people held in in London!). We also formed an online group using Slack to trial and discuss the data.")]),e._v(" "),t("h2",{attrs:{id:"schemas-and-frictionless-data"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#schemas-and-frictionless-data"}},[e._v("#")]),e._v(" Schemas and Frictionless Data")]),e._v(" "),t("p",[e._v("The majority of our discussions were practical rather than technical, such as what data would be most useful, whether or not it was currently used locally by services, and common problems.")]),e._v(" "),t("p",[e._v("However, to formalise how data should be structured, it became clear that it would be necessary to create technical 'data schemas’.")]),e._v(" "),t("p",[e._v("It can be easy to decide on the data you want, but fail to describe it properly. For example, we could provide people with a spreadsheet that included a column title such as ‘Closed date’. I’d expect people to enter a date in that column, but we’d end up with all kinds of formats.")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),t("OutboundLink")],1),e._v(" specification for defining data, from Frictionless Data, provided a good option for tackling this problem. Not only would it allow us to create a detailed description for the data fields, but we could use other frictionless tools such as "),t("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Good Tables"),t("OutboundLink")],1),e._v(". This would allow library services to validate their data before publishing. Things like mismatching date formats would be picked up by the validator, and it would give instructions for how to fix the issue. We would additionally also provide ‘human-readable’ guidance on the datasets.")]),e._v(" "),t("p",[e._v("Frictionless Data is an "),t("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),t("OutboundLink")],1),e._v(" project, and using tools from an internationally renowned body was also a good practice. The schemas are UK-centric but could be adapted and reused by international library services.")]),e._v(" "),t("p",[e._v("The schemas are all documented at "),t("a",{attrs:{href:"https://schema.librarydata.uk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Public Library Open Data"),t("OutboundLink")],1),e._v(", including guidance, links to sample data, and the technical definition files.")]),e._v(" "),t("h2",{attrs:{id:"lessons-learned"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#lessons-learned"}},[e._v("#")]),e._v(" Lessons learned")]),e._v(" "),t("p",[e._v("The initial datasets are not comprehensive. They are designed to be a starting point, allowing more to be developed from service requirements.")]),e._v(" "),t("p",[e._v("They are overly focussed towards ‘physical’ library services. It wasn’t long after these meetings that public libraries adjusted to provide all-digital services due to lockdowns. There is nothing here to cover valuable usage datasets like the video views that library services receive on YouTube and Facebook.")]),e._v(" "),t("p",[e._v("There are some that have become even more important. The physical visits schema describes how to structure library footfall data, allowing for differences in collection methods and intervals. This kind of data is now in high demand, to analyse how library service visits recover.")]),e._v(" "),t("p",[e._v("Some of the discussions we had were fascinating. It was important to involve the people who work with this data on a daily basis. They will know how easy it is to extract and manipulate, and many of the pitfalls that come with interpreting it.")]),e._v(" "),t("h3",{attrs:{id:"complexity"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#complexity"}},[e._v("#")]),e._v(" Complexity")]),e._v(" "),t("p",[e._v("There was often a battle between complexity and simplicity. Complex data is good, it often means it is more robust, such as using external identifiers. But simplicity is also good, for data publishers and consumers.")]),e._v(" "),t("p",[e._v("Public library services will primarily employ data workers who are not formally trained in using data. Where there are complex concepts (e.g. Table Schema itself), they are used because they make data publishing easier and more consistent.")]),e._v(" "),t("p",[e._v("Public data should also be made as accessible as possible for the public, while being detailed enough to be useful. In this way the data schemas tend towards simplicity.")]),e._v(" "),t("h3",{attrs:{id:"standards-not-standardisation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#standards-not-standardisation"}},[e._v("#")]),e._v(" Standards not standardisation")]),e._v(" "),t("p",[e._v("There is a difference between a standard format for data, and standardised data. The schemas are primarily aimed at getting data from multiple services into the same format, to share analysis techniques between library services, and to have usable data when merged with other services.")]),e._v(" "),t("p",[e._v("There were some cases where we decided against standardising the actual data within data fields. For example, there is a column in the loans and the stock datasets called ‘Item type’. This is a category description of the library item, such as ‘Adult fiction’. In some other previous examples of data collection this data is standardised into a uniform set of categories, in order to make it easily comparable.")]),e._v(" "),t("p",[e._v("That kind of exercise defies reality though. Library services may have their own set of categories, many of them interesting and unique. To use a standard set would mean that library services would have to convert their underlying data. As well as extra work, it would be a loss of data. It would also mean that library services would be unlikely to use the converted data themselves. Why use such data if it doesn’t reflect what you actually hold?")]),e._v(" "),t("p",[e._v("The downside is that anyone analysing combined data would have to decide themselves how to compare data in those fields. However, that would be at least a clear task for the data analyst - and would most likely be an easier exercise to do in bulk.")]),e._v(" "),t("h3",{attrs:{id:"detail"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#detail"}},[e._v("#")]),e._v(" Detail")]),e._v(" "),t("p",[e._v("In my ideal world, data would be as detailed as possible. Instead of knowing how many items a library lent every month, I want that data for every hour. In fact I want to have every lending record! But feasibly that would make the data unwieldy and difficult to work with, and wouldn’t be in-line with the statistics libraries are used to.")]),e._v(" "),t("p",[e._v("We primarily made decisions based upon what library services already do. In a lot of cases this was data aggregated into monthly counts, with fields such as library branch and item type used to break down that data.")]),e._v(" "),t("h2",{attrs:{id:"the-future"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#the-future"}},[e._v("#")]),e._v(" The future")]),e._v(" "),t("p",[e._v("The initial meetings were held over two years ago, and it seems longer than that! A lot has happened in the meantime. We are still in a global pandemic that from library perspectives has de-prioritised anything other than core services.")]),e._v(" "),t("p",[e._v("However, there are good examples of the data in action. Barnet libraries "),t("a",{attrs:{href:"https://open.barnet.gov.uk/dataset/e14dj/library-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("publish 5 out of the 7 data schemas"),t("OutboundLink")],1),e._v(" on a regular basis.")]),e._v(" "),t("p",[e._v("I have also been creating tools that highlight how the data can be used such as "),t("a",{attrs:{href:"https://www.librarymap.co.uk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Library map"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://www.mobilelibraries.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mobile libraries"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("There is national work underway that can make use of these schemas. The British Library is working on a "),t("a",{attrs:{href:"https://www.artscouncil.org.uk/blog/single-digital-presence-libraries",target:"_blank",rel:"noopener noreferrer"}},[e._v("Single Digital Presence"),t("OutboundLink")],1),e._v(" project that will require data from library services in a standard form.")]),e._v(" "),t("p",[e._v("Internationally there are calls for more public library open data. The International Federation of Library Associations and Institutions (IFLA) has "),t("a",{attrs:{href:"https://www.ifla.org/news/ifla-releases-statement-on-open-library-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("released a statement on Open Library Data"),t("OutboundLink")],1),e._v(" calling for “governments to ensure, either directly or through supporting others, the collection and open publication of data about libraries and their use”. It would be great to work with organisations like IFLA to promote schemas that could be reused Internationally as well as for local services. There could also be the opportunity to use other Frictionless Data tools to aid in publishing data, such as "),t("a",{attrs:{href:"https://datahub.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Hopefully in the future there can be workshops, training events, and conferences that allow these data schemas to be discussed and further developed.")])])}),[],!1,null,null,null);a.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/153.7798ed7e.js b/assets/js/153.0af4c05d.js similarity index 98% rename from assets/js/153.7798ed7e.js rename to assets/js/153.0af4c05d.js index e3511dff8..43ca641d9 100644 --- a/assets/js/153.7798ed7e.js +++ b/assets/js/153.0af4c05d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[153],{684:function(e,t,a){"use strict";a.r(t);var r=a(29),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that we responded to a "),a("a",{attrs:{href:"https://sam.gov/opp/869f4051df38475591fa48fce5b0868d/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("request for information"),a("OutboundLink")],1),e._v(" that was recently published by NASA for its "),a("a",{attrs:{href:"https://science.nasa.gov/earth-science/earth-system-observatory",target:"_blank",rel:"noopener noreferrer"}},[e._v("Earth System Observatory (ESO)"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("What is ESO? It is a set of (mainly satellite) missions providing information on planet Earth, which can guide efforts related to climate change, natural hazard mitigation, fighting forest fires, and improving real-time agricultural processes.")]),e._v(" "),a("p",[e._v("With this request for information, ESO wants to gather expert advice on ways to find a more integrated approach to enhance data architecture efficiency and promote the open science principles.")]),e._v(" "),a("p",[a("strong",[e._v("We believe Frictionless Data would benefit the mission science data processing in several ways.")]),e._v(" Here’s how:")]),e._v(" "),a("p",[e._v("First, Frictionless automatically infers metadata and schemas from a data file, and allows users to edit that information. Creating good metadata is vital for downstream data users – if you can’t understand the data, you can’t use it (or can’t "),a("em",[e._v("easily")]),e._v(" use it). Similarly, having a data schema is useful for interoperability, promoting the usefulness of datasets.")]),e._v(" "),a("p",[e._v("The second Frictionless function we think will be helpful is data validation. Frictionless validates both the structure and content of a dataset, using built-in and custom checks. For instance, Frictionless will check for missing values, incorrect data types, or other constraints (e.g. temperature data points that exceed a certain threshold). If any errors are detected, Frictionless will generate a report for the user detailing the error so the user can fix the data during processing.")]),e._v(" "),a("p",[e._v("Finally, users can write reproducible data transformation pipelines with Frictionless. Writing declarative transform pipelines allows humans and machines to understand the data cleaning steps and repeat those processes if needed in the future. Collectively, these functions create well documented, high quality, clean data that can then be used in further downstream analysis.")]),e._v(" "),a("p",[e._v("We provided them with two examples of relevant collaboration:")]),e._v(" "),a("h3",{attrs:{id:"use-case-1"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#use-case-1"}},[e._v("#")]),e._v(" Use Case 1")]),e._v(" "),a("p",[e._v("The "),a("a",{attrs:{href:"https://www.bco-dmo.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Biological and Chemical Oceanography Data Management Office (BCO-DMO)"),a("OutboundLink")],1),e._v(" cleans and hosts a wide variety of open oceanography data sets for use by researchers. A main problem for them was data being submitted to them was messy and not standardized, and it was time consuming and difficult for their data managers to clean in a reproducible, documented way. They implemented Frictionless code to create a new data transformation pipeline that ingests the messy data, performs defined cleaning/transforming steps, documents those steps, and produces a cleaned, standardized dataset. It also produces a (human and machine-readable) document detailing all the transformation steps so that downstream users could understand what happened to the data and undo/repeat if necessary. This process not only helps data managers clean data faster and more efficiently, it also drives open science by making the hosted data more understandable and usable while preserving provenance.")]),e._v(" "),a("p",[e._v("More info on this use case "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"use-case-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#use-case-2"}},[e._v("#")]),e._v(" Use Case 2")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://datadryad.org/stash",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dryad"),a("OutboundLink")],1),e._v(" is a biological data repository with a large user base. In our collaboration, their main issue was that they do not have the people-power to curate all the submitted datasets, so they implemented Frictionless tooling to help data submitters curate their data as they submit it. When data is submitted on the Dryad platform, Frictionless performs validation checks, and generates a report if any errors are found. The data submitter can then fix that error (e.g. there are no headers in row 1) and resubmit. Creating easy-to-understand error reports helps submitters understand how to create more useable, standardized data, and also frees up valuable time for the Dryad data management team. Ultimately, now the Dryad data repository hosts higher quality open science data.")]),e._v(" "),a("p",[e._v("More info on this use case "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/09/dryad-pilot/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("hr"),e._v(" "),a("p",[e._v("Are there other ways you think Frictionless Data could help the ESO project? Let us know!")]),e._v(" "),a("p",[a("em",[e._v("Image used: Antarctica Eclipsed. NASA image courtesy of the DSCOVR EPIC team. NASA Earth Observatory images by Joshua Stevens, using Landsat data from the U.S. Geological Survey. Story by Sara E. Pratt.")])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[153],{685:function(e,t,a){"use strict";a.r(t);var r=a(29),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that we responded to a "),a("a",{attrs:{href:"https://sam.gov/opp/869f4051df38475591fa48fce5b0868d/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("request for information"),a("OutboundLink")],1),e._v(" that was recently published by NASA for its "),a("a",{attrs:{href:"https://science.nasa.gov/earth-science/earth-system-observatory",target:"_blank",rel:"noopener noreferrer"}},[e._v("Earth System Observatory (ESO)"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("What is ESO? It is a set of (mainly satellite) missions providing information on planet Earth, which can guide efforts related to climate change, natural hazard mitigation, fighting forest fires, and improving real-time agricultural processes.")]),e._v(" "),a("p",[e._v("With this request for information, ESO wants to gather expert advice on ways to find a more integrated approach to enhance data architecture efficiency and promote the open science principles.")]),e._v(" "),a("p",[a("strong",[e._v("We believe Frictionless Data would benefit the mission science data processing in several ways.")]),e._v(" Here’s how:")]),e._v(" "),a("p",[e._v("First, Frictionless automatically infers metadata and schemas from a data file, and allows users to edit that information. Creating good metadata is vital for downstream data users – if you can’t understand the data, you can’t use it (or can’t "),a("em",[e._v("easily")]),e._v(" use it). Similarly, having a data schema is useful for interoperability, promoting the usefulness of datasets.")]),e._v(" "),a("p",[e._v("The second Frictionless function we think will be helpful is data validation. Frictionless validates both the structure and content of a dataset, using built-in and custom checks. For instance, Frictionless will check for missing values, incorrect data types, or other constraints (e.g. temperature data points that exceed a certain threshold). If any errors are detected, Frictionless will generate a report for the user detailing the error so the user can fix the data during processing.")]),e._v(" "),a("p",[e._v("Finally, users can write reproducible data transformation pipelines with Frictionless. Writing declarative transform pipelines allows humans and machines to understand the data cleaning steps and repeat those processes if needed in the future. Collectively, these functions create well documented, high quality, clean data that can then be used in further downstream analysis.")]),e._v(" "),a("p",[e._v("We provided them with two examples of relevant collaboration:")]),e._v(" "),a("h3",{attrs:{id:"use-case-1"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#use-case-1"}},[e._v("#")]),e._v(" Use Case 1")]),e._v(" "),a("p",[e._v("The "),a("a",{attrs:{href:"https://www.bco-dmo.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Biological and Chemical Oceanography Data Management Office (BCO-DMO)"),a("OutboundLink")],1),e._v(" cleans and hosts a wide variety of open oceanography data sets for use by researchers. A main problem for them was data being submitted to them was messy and not standardized, and it was time consuming and difficult for their data managers to clean in a reproducible, documented way. They implemented Frictionless code to create a new data transformation pipeline that ingests the messy data, performs defined cleaning/transforming steps, documents those steps, and produces a cleaned, standardized dataset. It also produces a (human and machine-readable) document detailing all the transformation steps so that downstream users could understand what happened to the data and undo/repeat if necessary. This process not only helps data managers clean data faster and more efficiently, it also drives open science by making the hosted data more understandable and usable while preserving provenance.")]),e._v(" "),a("p",[e._v("More info on this use case "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h3",{attrs:{id:"use-case-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#use-case-2"}},[e._v("#")]),e._v(" Use Case 2")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://datadryad.org/stash",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dryad"),a("OutboundLink")],1),e._v(" is a biological data repository with a large user base. In our collaboration, their main issue was that they do not have the people-power to curate all the submitted datasets, so they implemented Frictionless tooling to help data submitters curate their data as they submit it. When data is submitted on the Dryad platform, Frictionless performs validation checks, and generates a report if any errors are found. The data submitter can then fix that error (e.g. there are no headers in row 1) and resubmit. Creating easy-to-understand error reports helps submitters understand how to create more useable, standardized data, and also frees up valuable time for the Dryad data management team. Ultimately, now the Dryad data repository hosts higher quality open science data.")]),e._v(" "),a("p",[e._v("More info on this use case "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/08/09/dryad-pilot/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("hr"),e._v(" "),a("p",[e._v("Are there other ways you think Frictionless Data could help the ESO project? Let us know!")]),e._v(" "),a("p",[a("em",[e._v("Image used: Antarctica Eclipsed. NASA image courtesy of the DSCOVR EPIC team. NASA Earth Observatory images by Joshua Stevens, using Landsat data from the U.S. Geological Survey. Story by Sara E. Pratt.")])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/154.1d2fad63.js b/assets/js/154.63d3df53.js similarity index 98% rename from assets/js/154.1d2fad63.js rename to assets/js/154.63d3df53.js index 440a55c42..cc3ad0a16 100644 --- a/assets/js/154.1d2fad63.js +++ b/assets/js/154.63d3df53.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{685:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our second community call of the year, on February 24"),r("sup",[e._v("th")]),e._v(", we had Ilya Kreymer and Ed Summers from "),r("a",{attrs:{href:"https://webrecorder.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Webrecorder"),r("OutboundLink")],1),e._v(" updating us on their effort in standardising the WAZC format (which they discussed with us already when it was still at an early development stage, in the community call of December 2020 (you can read the blog "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/12/17/december-virtual-hangout/#a-recap-from-our-december-community-call",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(").")]),e._v(" "),r("p",[e._v("Webrecorder is a suite of open source tools and packages to capture interactive websites and replay them at a later time as accurately as possible. They created the WACZ format to have a portable format for archived web content that can be distributed and contain additional useful metadata about the web archives, using the Frictionless Data Package standard.")]),e._v(" "),r("p",[e._v("Ed & Ilya also hoped to discuss with the community the possibility of signing these Data Packages, in order to provide an optional mechanism to make web archives bundled in WACZ more trusted, because a cryptographic proof of who the author of a Data Package is might be interesting for other projects as well. Unfortunately the call was rather empty. Maybe it was because of the change of time, but in case there are other reasons why you did not come, please let us know (dropping an email at "),r("a",{attrs:{href:"mailto:sara.petti@okfn.org"}},[e._v("sara.petti@okfn.org")]),e._v(" or with a direct message on Discord/Matrix).")]),e._v(" "),r("p",[e._v("We did record the call though, so in case anyone is interested in having that discussion, we could always try to have it asynchronously on "),r("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://matrix.to/#/#frictionless-data:matrix.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/TIyOTEyAu7k",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("Their current proposal to create signed WACZ packages is summarised in "),r("a",{attrs:{href:"https://github.com/webrecorder/wacz-auth-spec/blob/main/spec.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("on GitHub"),r("OutboundLink")],1),e._v(", so you can always reach out to them there as well.")]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Next community call is on March 31"),r("sup",[e._v("st")]),e._v(". We are going to hear from Johan Richer from Multi, who is going to present the latest prototype of Etalab and his theory of "),r("a",{attrs:{href:"https://jailbreak.gitlab.io/investigation-catalogue/synthese.html#/3",target:"_blank",rel:"noopener noreferrer"}},[e._v("portal vs catalogue"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("You can sign up for the call already "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/ukxLQCdyndc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://matrix.to/#/#frictionless-data:matrix.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[154],{689:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On our second community call of the year, on February 24"),r("sup",[e._v("th")]),e._v(", we had Ilya Kreymer and Ed Summers from "),r("a",{attrs:{href:"https://webrecorder.net/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Webrecorder"),r("OutboundLink")],1),e._v(" updating us on their effort in standardising the WAZC format (which they discussed with us already when it was still at an early development stage, in the community call of December 2020 (you can read the blog "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/12/17/december-virtual-hangout/#a-recap-from-our-december-community-call",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(").")]),e._v(" "),r("p",[e._v("Webrecorder is a suite of open source tools and packages to capture interactive websites and replay them at a later time as accurately as possible. They created the WACZ format to have a portable format for archived web content that can be distributed and contain additional useful metadata about the web archives, using the Frictionless Data Package standard.")]),e._v(" "),r("p",[e._v("Ed & Ilya also hoped to discuss with the community the possibility of signing these Data Packages, in order to provide an optional mechanism to make web archives bundled in WACZ more trusted, because a cryptographic proof of who the author of a Data Package is might be interesting for other projects as well. Unfortunately the call was rather empty. Maybe it was because of the change of time, but in case there are other reasons why you did not come, please let us know (dropping an email at "),r("a",{attrs:{href:"mailto:sara.petti@okfn.org"}},[e._v("sara.petti@okfn.org")]),e._v(" or with a direct message on Discord/Matrix).")]),e._v(" "),r("p",[e._v("We did record the call though, so in case anyone is interested in having that discussion, we could always try to have it asynchronously on "),r("a",{attrs:{href:"https://discord.com/invite/Sewv6av",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://matrix.to/#/#frictionless-data:matrix.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/TIyOTEyAu7k",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("Their current proposal to create signed WACZ packages is summarised in "),r("a",{attrs:{href:"https://github.com/webrecorder/wacz-auth-spec/blob/main/spec.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("on GitHub"),r("OutboundLink")],1),e._v(", so you can always reach out to them there as well.")]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Next community call is on March 31"),r("sup",[e._v("st")]),e._v(". We are going to hear from Johan Richer from Multi, who is going to present the latest prototype of Etalab and his theory of "),r("a",{attrs:{href:"https://jailbreak.gitlab.io/investigation-catalogue/synthese.html#/3",target:"_blank",rel:"noopener noreferrer"}},[e._v("portal vs catalogue"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("You can sign up for the call already "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call recording:")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/ukxLQCdyndc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("As usual, you can join us on "),r("a",{attrs:{href:"https://discord.com/invite/j9DNFNw",target:"_blank",rel:"noopener noreferrer"}},[e._v("Discord"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://matrix.to/#/#frictionless-data:matrix.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/157.7202e235.js b/assets/js/157.bf973c85.js similarity index 98% rename from assets/js/157.7202e235.js rename to assets/js/157.bf973c85.js index 8d4dd288f..c214b4cea 100644 --- a/assets/js/157.7202e235.js +++ b/assets/js/157.bf973c85.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{689:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on April 28"),o("sup",[e._v("th")]),e._v(", we had a discussion around open science best practices and the Turing Way with Anne Lee Steele, who - you might remember, was part of the "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/09/01/hello-fellows-cohort2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("second cohort of Frictionless Fellows"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The Turing Way is an open source and community-led handbook for reproducible, ethical and collaborative research. It is composed of more than 240 pages created by ~300 researchers over the course of 3 years, written collaboratively via GitHub PRs - contrasting to the notion of single/small-authorship papers.")]),e._v(" "),o("p",[e._v("There is currently an effort to make the Turing way develop meta-practices that can be applied to other areas as well, one example is documentation.")]),e._v(" "),o("p",[e._v("A great outcome of the call was the proposal to have a closer cooperation between the Frictionless Data community and the Turing Way’s one, possibly developing a chapter for Open Infrastructures for research to contribute upstream. This chapter would set the context and provide a vision for how to evaluate tools and platforms with a Turing Way perspective on reproducibility, ethical alternatives and collaboration in practice. For more info about this proposal, check "),o("a",{attrs:{href:"https://github.com/alan-turing-institute/the-turing-way/issues/2337",target:"_blank",rel:"noopener noreferrer"}},[e._v("this issue"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If you want to know more about the Turing Way, have a look at the "),o("a",{attrs:{href:"https://the-turing-way.netlify.app/welcome.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("project website"),o("OutboundLink")],1),e._v(". You can also check out the full recording of the call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/-RyRFcMAGCE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"news-from-the-community"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("You’re all invited to join the Frictionless Fellows for a free virtual workshop on Open Science best practices on May 25 at 2pm UTC!"),o("br"),e._v("\nIn this beginner-friendly workshop, Fellows will demonstrate how to use the Frictionless tools to make research data more understandable, usable, and open. You will learn how to use the Frictionless non-coding tools to manipulate metadata and schemas (and why that is important!) and how to validate data in a hands-on format. Learn more & sign up on the Fellows website: "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://fellows.frictionlessdata.io/"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Reminder that our community chat has moved to Slack. Join us "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("there"),o("OutboundLink")],1),e._v(". We now also have a fully operating "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(", so if you prefer you can join us from there as well.")])])]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on May 26"),o("sup",[e._v("th")]),e._v(". We are going to hear Nick Kellett from Deploy Solutions explain to us how to build citizen science and climate change solutions, using Frictionless.")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Join us on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[157],{690:function(e,t,o){"use strict";o.r(t);var r=o(29),a=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on April 28"),o("sup",[e._v("th")]),e._v(", we had a discussion around open science best practices and the Turing Way with Anne Lee Steele, who - you might remember, was part of the "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/09/01/hello-fellows-cohort2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("second cohort of Frictionless Fellows"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The Turing Way is an open source and community-led handbook for reproducible, ethical and collaborative research. It is composed of more than 240 pages created by ~300 researchers over the course of 3 years, written collaboratively via GitHub PRs - contrasting to the notion of single/small-authorship papers.")]),e._v(" "),o("p",[e._v("There is currently an effort to make the Turing way develop meta-practices that can be applied to other areas as well, one example is documentation.")]),e._v(" "),o("p",[e._v("A great outcome of the call was the proposal to have a closer cooperation between the Frictionless Data community and the Turing Way’s one, possibly developing a chapter for Open Infrastructures for research to contribute upstream. This chapter would set the context and provide a vision for how to evaluate tools and platforms with a Turing Way perspective on reproducibility, ethical alternatives and collaboration in practice. For more info about this proposal, check "),o("a",{attrs:{href:"https://github.com/alan-turing-institute/the-turing-way/issues/2337",target:"_blank",rel:"noopener noreferrer"}},[e._v("this issue"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If you want to know more about the Turing Way, have a look at the "),o("a",{attrs:{href:"https://the-turing-way.netlify.app/welcome.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("project website"),o("OutboundLink")],1),e._v(". You can also check out the full recording of the call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/-RyRFcMAGCE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"news-from-the-community"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#news-from-the-community"}},[e._v("#")]),e._v(" News from the community")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("You’re all invited to join the Frictionless Fellows for a free virtual workshop on Open Science best practices on May 25 at 2pm UTC!"),o("br"),e._v("\nIn this beginner-friendly workshop, Fellows will demonstrate how to use the Frictionless tools to make research data more understandable, usable, and open. You will learn how to use the Frictionless non-coding tools to manipulate metadata and schemas (and why that is important!) and how to validate data in a hands-on format. Learn more & sign up on the Fellows website: "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://fellows.frictionlessdata.io/"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Reminder that our community chat has moved to Slack. Join us "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("there"),o("OutboundLink")],1),e._v(". We now also have a fully operating "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(", so if you prefer you can join us from there as well.")])])]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on May 26"),o("sup",[e._v("th")]),e._v(". We are going to hear Nick Kellett from Deploy Solutions explain to us how to build citizen science and climate change solutions, using Frictionless.")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Join us on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(" to say hi or ask any questions. See you there!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/158.c499164d.js b/assets/js/158.90e8c246.js similarity index 99% rename from assets/js/158.c499164d.js rename to assets/js/158.90e8c246.js index bb3463bd3..0e2d747e1 100644 --- a/assets/js/158.c499164d.js +++ b/assets/js/158.90e8c246.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[158],{690:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Is reproducing someone else’s research data a Frictionless experience? As we have seen with all the previous cohorts of Frictionless Fellows (you can read the blog "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/10/fellows-reproducing/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v("), most often than not it is sadly not the case.")]),e._v(" "),a("p",[e._v("To prove that the “reproducibility crisis” is a real problem in scientific research at the moment, we challenged the Fellows to exchange their data to see if they could reproduce each other’s Data Packages. Read about their experience:")]),e._v(" "),a("h2",{attrs:{id:"melvin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#melvin"}},[e._v("#")]),e._v(" Melvin")]),e._v(" "),a("p",[e._v("We had an interesting task for our frictionless fellow activity that involved exchanging our data sets with our fellow colleagues (pairwise) and trying to reproduce their work. My partner for this assignment was Lindsay, who is a librarian.")]),e._v(" "),a("p",[e._v("In data science, replicability and reproducibility are some of the keys to data "),a("a",{attrs:{href:"http://integrity.It",target:"_blank",rel:"noopener noreferrer"}},[e._v("integrity.It"),a("OutboundLink")],1),e._v(" creates more opportunities for new insights and reduces errors. In order to ensure reproducibility of data, one must first make sure that the raw data is available. In this regard, my partner Lindsay shared with me her data that was on her Github account to facilitate the process.")]),e._v(" "),a("p",[e._v("This process and activity were really useful and humbling. As we got to discuss our data sets with Lindsay, I realized key things such as Tidy data principles, which was the highlight for me in this whole process, besides the point that it’s not easy to understand someone else’s data without further metadata to accompany the data set. Imagine the frustration researchers go through trying to understand and reproduce other people’s data without more information on the data."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/melvin-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Melvin’s blog"),a("OutboundLink")],1),e._v(" to see how she managed to reproduce her fellows’ data package.")]),e._v(" "),a("h2",{attrs:{id:"victoria"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#victoria"}},[e._v("#")]),e._v(" Victoria")]),e._v(" "),a("p",[e._v("My data package partner, Zarena is an awesome social scientist in the human rights sphere. She has a background in mental health research and interests ranging from epistemic injustice to intersectionality - two terms I had to double check my understanding of. In poking around Zarena’s profile, particularly interesting was her focus on "),a("a",{attrs:{href:"https://www.universityaffairs.ca/features/feature-article/mad-studies/",target:"_blank",rel:"noopener noreferrer"}},[e._v("mad studies"),a("OutboundLink")],1),e._v(", a young interdisciplinary field dealing with identity and the marginalisation of individuals with alternative mental states. This idea - broadly accepting a spectrum of human states instead of subjecting them to a black/white absolute interpretation - was completely new to me and fascinating! But being a social theory noob, I suspected to encounter a barrier to understanding her data.")]),e._v(" "),a("p",[e._v("Zarena’s data was publicly available in her GitHub fellows repository. I clocked a couple of things off the bat: the repo contained a csv called “data-dp.csv”, as well as a "),a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1),e._v(" and several schema files. When in doubt of where to start, a good place to look is the README."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/victoria-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Victoria’s blog"),a("OutboundLink")],1),e._v(" to see how she reproduced her fellow’s data packages.")]),e._v(" "),a("h2",{attrs:{id:"kevin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#kevin"}},[e._v("#")]),e._v(" Kevin")]),e._v(" "),a("p",[e._v("Data reproducibility is where other researchers use same data to attain the same results by using same methods. Research reproducibility allows other scientist to gain new insights from your data as well as improve quality of research by checking the correctness of your findings. The aim of this assignment was to try and reproduce my colleague’s data package and validate the tabular data using frictionless browser tools, that is, data package creator and good tables, respectively.")]),e._v(" "),a("p",[e._v("First, Guo-Qiang shared the links to his datasets and the data package to me which I freely accessed from his GitHub repository. His data was a summary of clinical evidence of various health effects of menopausal hormone therapy in menopausal women."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/kk-data-trading-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Kevin’s blog"),a("OutboundLink")],1),e._v(" to see how he managed to reproduce Guo-Qiang’s datapackages.")]),e._v(" "),a("h2",{attrs:{id:"zarena"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#zarena"}},[e._v("#")]),e._v(" Zarena")]),e._v(" "),a("p",[e._v("Before joining the Frictionless Data Fellowship Programme, I did not realise the importance of research reproducibility. To tell the truth, I really did not have such a concept in my professional vocabulary despite having an MSc degree in Social Science Research Methods and working in different social research projects. But, maybe, that was the reason why I did not know this concept and never practised it in my research projects. Like many of my social science colleagues, especially the ones working with qualitative - and often sensitive - data, for me it was important to ensure that data I collect are safely stored in a password-protected platform and then - upon completion of a project - are deleted. But now working for the Frictionless Data Fellowship Programme and managing different sorts of data, including bibliometric metadata, I see that if we want social sciences and humanities to progress, it is vital to integrate such practices as reproducing, replicating, and reusing data into our research.")]),e._v(" "),a("p",[e._v("So, in "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/zarena-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this blog"),a("OutboundLink")],1),e._v(", I will try to explain my first attempt to reproduce my Frictionless fellow’s dataset, which is openly shared in "),a("a",{attrs:{href:"https://github.com/vyelnats/frictionless-v",target:"_blank",rel:"noopener noreferrer"}},[e._v("the GitHub repository"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"lindsay"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lindsay"}},[e._v("#")]),e._v(" Lindsay")]),e._v(" "),a("p",[e._v("Our most recent Fricitonless Fellows project is to trade data and create a Data Package using another Fellow’s data. I traded data with the fabulous Melvin! Melvin is a pathologist and soil scientist.")]),e._v(" "),a("p",[e._v("While this seems like a fun project, I was frustrated at first. I had to find my partner’s data. After reading her "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/melvin-datapackage-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Blog"),a("OutboundLink")],1),e._v(" and poking around "),a("a",{attrs:{href:"https://github.com/frictionlessdata/fellows",target:"_blank",rel:"noopener noreferrer"}},[e._v("on GitHub"),a("OutboundLink")],1),e._v(", I could not find her data. I eventually realized: we are mimicking the process of reusing reproducible research data. The first hurdle any researcher must overcome is finding the data."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lindsay-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Lindsay’s blog"),a("OutboundLink")],1),e._v(" to understand what happened while reproducing Melvin’s Data Packages.")]),e._v(" "),a("h1",{attrs:{id:"about-the-frictionless-data-fellowship"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about-the-frictionless-data-fellowship"}},[e._v("#")]),e._v(" About the Frictionless Data Fellowship")]),e._v(" "),a("p",[e._v("With the Frictionless Data Reproducible Research Fellows Programme, supported by the Sloan Foundation and Open Knowledge Foundation, we are recruiting and training early career researchers to become champions of the Frictionless Data tools and approaches in their field. Fellows learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. To know more about the programme, visit "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the dedicated website"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[158],{691:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("Is reproducing someone else’s research data a Frictionless experience? As we have seen with all the previous cohorts of Frictionless Fellows (you can read the blog "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/10/fellows-reproducing/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v("), most often than not it is sadly not the case.")]),e._v(" "),a("p",[e._v("To prove that the “reproducibility crisis” is a real problem in scientific research at the moment, we challenged the Fellows to exchange their data to see if they could reproduce each other’s Data Packages. Read about their experience:")]),e._v(" "),a("h2",{attrs:{id:"melvin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#melvin"}},[e._v("#")]),e._v(" Melvin")]),e._v(" "),a("p",[e._v("We had an interesting task for our frictionless fellow activity that involved exchanging our data sets with our fellow colleagues (pairwise) and trying to reproduce their work. My partner for this assignment was Lindsay, who is a librarian.")]),e._v(" "),a("p",[e._v("In data science, replicability and reproducibility are some of the keys to data "),a("a",{attrs:{href:"http://integrity.It",target:"_blank",rel:"noopener noreferrer"}},[e._v("integrity.It"),a("OutboundLink")],1),e._v(" creates more opportunities for new insights and reduces errors. In order to ensure reproducibility of data, one must first make sure that the raw data is available. In this regard, my partner Lindsay shared with me her data that was on her Github account to facilitate the process.")]),e._v(" "),a("p",[e._v("This process and activity were really useful and humbling. As we got to discuss our data sets with Lindsay, I realized key things such as Tidy data principles, which was the highlight for me in this whole process, besides the point that it’s not easy to understand someone else’s data without further metadata to accompany the data set. Imagine the frustration researchers go through trying to understand and reproduce other people’s data without more information on the data."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/melvin-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Melvin’s blog"),a("OutboundLink")],1),e._v(" to see how she managed to reproduce her fellows’ data package.")]),e._v(" "),a("h2",{attrs:{id:"victoria"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#victoria"}},[e._v("#")]),e._v(" Victoria")]),e._v(" "),a("p",[e._v("My data package partner, Zarena is an awesome social scientist in the human rights sphere. She has a background in mental health research and interests ranging from epistemic injustice to intersectionality - two terms I had to double check my understanding of. In poking around Zarena’s profile, particularly interesting was her focus on "),a("a",{attrs:{href:"https://www.universityaffairs.ca/features/feature-article/mad-studies/",target:"_blank",rel:"noopener noreferrer"}},[e._v("mad studies"),a("OutboundLink")],1),e._v(", a young interdisciplinary field dealing with identity and the marginalisation of individuals with alternative mental states. This idea - broadly accepting a spectrum of human states instead of subjecting them to a black/white absolute interpretation - was completely new to me and fascinating! But being a social theory noob, I suspected to encounter a barrier to understanding her data.")]),e._v(" "),a("p",[e._v("Zarena’s data was publicly available in her GitHub fellows repository. I clocked a couple of things off the bat: the repo contained a csv called “data-dp.csv”, as well as a "),a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1),e._v(" and several schema files. When in doubt of where to start, a good place to look is the README."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/victoria-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Victoria’s blog"),a("OutboundLink")],1),e._v(" to see how she reproduced her fellow’s data packages.")]),e._v(" "),a("h2",{attrs:{id:"kevin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#kevin"}},[e._v("#")]),e._v(" Kevin")]),e._v(" "),a("p",[e._v("Data reproducibility is where other researchers use same data to attain the same results by using same methods. Research reproducibility allows other scientist to gain new insights from your data as well as improve quality of research by checking the correctness of your findings. The aim of this assignment was to try and reproduce my colleague’s data package and validate the tabular data using frictionless browser tools, that is, data package creator and good tables, respectively.")]),e._v(" "),a("p",[e._v("First, Guo-Qiang shared the links to his datasets and the data package to me which I freely accessed from his GitHub repository. His data was a summary of clinical evidence of various health effects of menopausal hormone therapy in menopausal women."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/kk-data-trading-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Kevin’s blog"),a("OutboundLink")],1),e._v(" to see how he managed to reproduce Guo-Qiang’s datapackages.")]),e._v(" "),a("h2",{attrs:{id:"zarena"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#zarena"}},[e._v("#")]),e._v(" Zarena")]),e._v(" "),a("p",[e._v("Before joining the Frictionless Data Fellowship Programme, I did not realise the importance of research reproducibility. To tell the truth, I really did not have such a concept in my professional vocabulary despite having an MSc degree in Social Science Research Methods and working in different social research projects. But, maybe, that was the reason why I did not know this concept and never practised it in my research projects. Like many of my social science colleagues, especially the ones working with qualitative - and often sensitive - data, for me it was important to ensure that data I collect are safely stored in a password-protected platform and then - upon completion of a project - are deleted. But now working for the Frictionless Data Fellowship Programme and managing different sorts of data, including bibliometric metadata, I see that if we want social sciences and humanities to progress, it is vital to integrate such practices as reproducing, replicating, and reusing data into our research.")]),e._v(" "),a("p",[e._v("So, in "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/zarena-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("this blog"),a("OutboundLink")],1),e._v(", I will try to explain my first attempt to reproduce my Frictionless fellow’s dataset, which is openly shared in "),a("a",{attrs:{href:"https://github.com/vyelnats/frictionless-v",target:"_blank",rel:"noopener noreferrer"}},[e._v("the GitHub repository"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"lindsay"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#lindsay"}},[e._v("#")]),e._v(" Lindsay")]),e._v(" "),a("p",[e._v("Our most recent Fricitonless Fellows project is to trade data and create a Data Package using another Fellow’s data. I traded data with the fabulous Melvin! Melvin is a pathologist and soil scientist.")]),e._v(" "),a("p",[e._v("While this seems like a fun project, I was frustrated at first. I had to find my partner’s data. After reading her "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/melvin-datapackage-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Blog"),a("OutboundLink")],1),e._v(" and poking around "),a("a",{attrs:{href:"https://github.com/frictionlessdata/fellows",target:"_blank",rel:"noopener noreferrer"}},[e._v("on GitHub"),a("OutboundLink")],1),e._v(", I could not find her data. I eventually realized: we are mimicking the process of reusing reproducible research data. The first hurdle any researcher must overcome is finding the data."),a("br"),e._v(" "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/lindsay-trade-blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Read Lindsay’s blog"),a("OutboundLink")],1),e._v(" to understand what happened while reproducing Melvin’s Data Packages.")]),e._v(" "),a("h1",{attrs:{id:"about-the-frictionless-data-fellowship"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#about-the-frictionless-data-fellowship"}},[e._v("#")]),e._v(" About the Frictionless Data Fellowship")]),e._v(" "),a("p",[e._v("With the Frictionless Data Reproducible Research Fellows Programme, supported by the Sloan Foundation and Open Knowledge Foundation, we are recruiting and training early career researchers to become champions of the Frictionless Data tools and approaches in their field. Fellows learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. To know more about the programme, visit "),a("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the dedicated website"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/159.135211ae.js b/assets/js/159.03fb7e94.js similarity index 98% rename from assets/js/159.135211ae.js rename to assets/js/159.03fb7e94.js index ee24bca3c..59b25c3e2 100644 --- a/assets/js/159.135211ae.js +++ b/assets/js/159.03fb7e94.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[159],{692:function(e,t,o){"use strict";o.r(t);var a=o(29),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on May 28"),o("sup",[e._v("th")]),e._v(", we heard about citizen science and climate change solutions using Frictionless Data from Nick Kellett, Pan Khantidhara and Justin Mosbey from "),o("a",{attrs:{href:"https://www.deploy.solutions/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Deploy Solutions"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Deploy Solutions builds software that can help with climate change disruptions, and they are using Frictionless Data to help! They develop cloud-hosted solutions using big data from satellites, and, since 2019, they have adopted a citizen focus in climate change research."),o("br"),e._v("\nThey researched and identified the main problems that prevent people and communities from acting in case of climate change disasters:")]),e._v(" "),o("ul",[o("li",[e._v("Citizens feel overwhelmed by the volume of information received.")]),e._v(" "),o("li",[e._v("They feel the information they get is not personalised to their needs.")]),e._v(" "),o("li",[e._v("Authorities have difficulties directly collaborating and sharing information with citizens.")])]),e._v(" "),o("p",[e._v("The solution they propose is the creation of a complete map-centred web-application that can be built very quickly (~4 hours) with basic functionalities to provide basic and reliable information for disaster response, while allowing users to upload citizen science observations.")]),e._v(" "),o("p",[e._v("The app takes Earth observations imagery from satellites, and associates them with imagery that citizens are taking on the ground, to check that the machine learning algorithms applied are correctly predicting the disaster extent.")]),e._v(" "),o("p",[e._v("It also visualises the data coming in to look for trends, gathering historic data and comparing with what is predicted. The quantity of information needed for such an app is huge, and most often than not, it comes from different sources and does not follow any standards. It is therefore tricky to describe it and validate it. You might have guessed it by now, Frictionless Data is helping with that.")]),e._v(" "),o("p",[e._v("If you are interested in knowing more about Deploy Solutions and how they are using Frictionless Data, you can watch the full presentation (including Pan Khantidhara’s demo!):")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/CSvVbl8Egqk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("If you have questions or feedback, you can let us know in "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(", or you can reach out to Deploy Solutions directly.")]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on June 30"),o("sup",[e._v("th")]),e._v(". Join us to meet the 3"),o("sup",[e._v("rd")]),e._v(" cohort of Frictionless Fellows and hear about their reproducibility and open science journey!")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Join our community on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:"),o("br"),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/RqAA8YCy1AU",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[159],{694:function(e,t,o){"use strict";o.r(t);var a=o(29),i=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on May 28"),o("sup",[e._v("th")]),e._v(", we heard about citizen science and climate change solutions using Frictionless Data from Nick Kellett, Pan Khantidhara and Justin Mosbey from "),o("a",{attrs:{href:"https://www.deploy.solutions/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Deploy Solutions"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Deploy Solutions builds software that can help with climate change disruptions, and they are using Frictionless Data to help! They develop cloud-hosted solutions using big data from satellites, and, since 2019, they have adopted a citizen focus in climate change research."),o("br"),e._v("\nThey researched and identified the main problems that prevent people and communities from acting in case of climate change disasters:")]),e._v(" "),o("ul",[o("li",[e._v("Citizens feel overwhelmed by the volume of information received.")]),e._v(" "),o("li",[e._v("They feel the information they get is not personalised to their needs.")]),e._v(" "),o("li",[e._v("Authorities have difficulties directly collaborating and sharing information with citizens.")])]),e._v(" "),o("p",[e._v("The solution they propose is the creation of a complete map-centred web-application that can be built very quickly (~4 hours) with basic functionalities to provide basic and reliable information for disaster response, while allowing users to upload citizen science observations.")]),e._v(" "),o("p",[e._v("The app takes Earth observations imagery from satellites, and associates them with imagery that citizens are taking on the ground, to check that the machine learning algorithms applied are correctly predicting the disaster extent.")]),e._v(" "),o("p",[e._v("It also visualises the data coming in to look for trends, gathering historic data and comparing with what is predicted. The quantity of information needed for such an app is huge, and most often than not, it comes from different sources and does not follow any standards. It is therefore tricky to describe it and validate it. You might have guessed it by now, Frictionless Data is helping with that.")]),e._v(" "),o("p",[e._v("If you are interested in knowing more about Deploy Solutions and how they are using Frictionless Data, you can watch the full presentation (including Pan Khantidhara’s demo!):")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/CSvVbl8Egqk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("p",[e._v("If you have questions or feedback, you can let us know in "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(", or you can reach out to Deploy Solutions directly.")]),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on June 30"),o("sup",[e._v("th")]),e._v(". Join us to meet the 3"),o("sup",[e._v("rd")]),e._v(" cohort of Frictionless Fellows and hear about their reproducibility and open science journey!")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here:"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Join our community on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:"),o("br"),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/RqAA8YCy1AU",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/16.c870d842.js b/assets/js/16.5dc8c8f9.js similarity index 88% rename from assets/js/16.c870d842.js rename to assets/js/16.5dc8c8f9.js index 4ad49fab4..d69d4842d 100644 --- a/assets/js/16.c870d842.js +++ b/assets/js/16.5dc8c8f9.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{527:function(e,t,a){e.exports=a.p+"assets/img/IMG_20230627_110531.dd426282.jpg"},528:function(e,t,a){e.exports=a.p+"assets/img/20230419_145928.f2d541cc.jpg"},529:function(e,t,a){e.exports=a.p+"assets/img/PXL_20230419_174710396.4df11ee7.jpg"},530:function(e,t,a){e.exports=a.p+"assets/img/IMG20230420143511.3025f94e.jpg"},710:function(e,t,a){"use strict";a.r(t);var n=a(29),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("p",[e._v("On April 19, 20 we attended csv,conf,v7, the best community conference for datamakers from all around the world! It was two days of fantastic talks, llamas (of course!), and above all, vibrant community encounters. We met long term friends, community members, and made new meaningful connections. Our tech lead Evgeny Karev gave a talk on April 19th to present the beta version of the Frictionless Application, making it easier for non-coders to use all the Frictionless resources, helping them improve the quality of their data. Whether you’re a data scientist, researcher, or citizen analyst, the Frictionless Application empowers you to effortlessly describe, validate, extract, and transform data, all in one user-friendly environment. If you want to have a look at the presentation of the Frictionless Application by Evgeny Karev, you can watch it "),n("a",{attrs:{href:"https://youtu.be/hk1PoedLOY4",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(527),alt:"Evgeny Karev presenting the Frictionless Application"}})]),e._v(" "),n("p",[e._v("Also, we can’t help but feel a sense of pride that Frictionless Data got mentioned in three different talks:")]),e._v(" "),n("p",[n("strong",[e._v("Miller: A Swiss-Army Chainsaw for CSV and More by John Kerl:")]),n("br"),e._v("\nJohn Kerl took the stage to introduce Miller, a powerful tool that simplifies working with CSV and other data formats. In his talk, he acknowledged the synergy between Miller and Frictionless Data. He highlighted how Frictionless Data’s specifications and tooling provided a solid foundation for Miller’s capabilities, enabling users to effortlessly manipulate and analyse CSV files. The collaboration between Miller and Frictionless Data is a testament to the community’s commitment to making data workflows smoother and more efficient."),n("br"),e._v("\nYou can watch (unfortunately) only parts of the recordings "),n("a",{attrs:{href:"https://youtu.be/G0_rFYz6rJg",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(528),alt:"Miller"}})]),e._v(" "),n("p",[n("strong",[e._v("Integrating Data Sources and Publishing Open Data with FastELT & Airflow by Augusto Herrmann:")]),n("br"),e._v("\nAugusto Herrmann, who is part of our community and whom you probably have met at one of our monthly calls, gave a talk on integrating data sources and publishing open data using FastELT and Airflow. During his presentation, Augusto emphasised the crucial role of Frictionless Data in ensuring data quality and interoperability. By implementing Frictionless Data’s specifications and tooling, he showcased how FastELT and Airflow can seamlessly process, validate, and transform data, simplifying the data integration process and making open data publishing a breeze."),n("br"),e._v("\nWatch the recording of Augusto’s talk "),n("a",{attrs:{href:"https://youtu.be/u42NrUAui8Y",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(529),alt:"FastELT"}})]),e._v(" "),n("p",[n("strong",[e._v("Defining The Turing Way by Malvika Sharan, Melissa Black, and Esther Plomp:")]),n("br"),e._v("\nMalvika Sharan, Melissa Black, and Esther Plomp discussed The Turing Way, an initiative aimed at providing reproducible, ethical, and inclusive research practices. In their talk, Frictionless Data was acknowledged as a useful tool to achieve these goals. By adopting Frictionless Data’s principles and tools, researchers can ensure data integrity, enhance collaboration, and promote openness in their work."),n("br"),e._v("\nWatch the recording of the talk "),n("a",{attrs:{href:"https://youtu.be/pT6W0sQJtyY",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(". And if you are interested in knowing more about the Turing Way, go and "),n("a",{attrs:{href:"https://frictionlessdata.io/blog/2022/05/05/april-community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("have a look at the recap blog"),n("OutboundLink")],1),e._v(" of the community call of April last year, with Turing Way’s community manager Anne Steele.")]),e._v(" "),n("p",[n("img",{attrs:{src:a(530),alt:"Defining the Turing Way"}})])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{523:function(e,t,a){e.exports=a.p+"assets/img/IMG_20230627_110531.dd426282.jpg"},524:function(e,t,a){e.exports=a.p+"assets/img/20230419_145928.f2d541cc.jpg"},525:function(e,t,a){e.exports=a.p+"assets/img/PXL_20230419_174710396.4df11ee7.jpg"},526:function(e,t,a){e.exports=a.p+"assets/img/IMG20230420143511.3025f94e.jpg"},713:function(e,t,a){"use strict";a.r(t);var n=a(29),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[n("p",[e._v("On April 19, 20 we attended csv,conf,v7, the best community conference for datamakers from all around the world! It was two days of fantastic talks, llamas (of course!), and above all, vibrant community encounters. We met long term friends, community members, and made new meaningful connections. Our tech lead Evgeny Karev gave a talk on April 19th to present the beta version of the Frictionless Application, making it easier for non-coders to use all the Frictionless resources, helping them improve the quality of their data. Whether you’re a data scientist, researcher, or citizen analyst, the Frictionless Application empowers you to effortlessly describe, validate, extract, and transform data, all in one user-friendly environment. If you want to have a look at the presentation of the Frictionless Application by Evgeny Karev, you can watch it "),n("a",{attrs:{href:"https://youtu.be/hk1PoedLOY4",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(523),alt:"Evgeny Karev presenting the Frictionless Application"}})]),e._v(" "),n("p",[e._v("Also, we can’t help but feel a sense of pride that Frictionless Data got mentioned in three different talks:")]),e._v(" "),n("p",[n("strong",[e._v("Miller: A Swiss-Army Chainsaw for CSV and More by John Kerl:")]),n("br"),e._v("\nJohn Kerl took the stage to introduce Miller, a powerful tool that simplifies working with CSV and other data formats. In his talk, he acknowledged the synergy between Miller and Frictionless Data. He highlighted how Frictionless Data’s specifications and tooling provided a solid foundation for Miller’s capabilities, enabling users to effortlessly manipulate and analyse CSV files. The collaboration between Miller and Frictionless Data is a testament to the community’s commitment to making data workflows smoother and more efficient."),n("br"),e._v("\nYou can watch (unfortunately) only parts of the recordings "),n("a",{attrs:{href:"https://youtu.be/G0_rFYz6rJg",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(524),alt:"Miller"}})]),e._v(" "),n("p",[n("strong",[e._v("Integrating Data Sources and Publishing Open Data with FastELT & Airflow by Augusto Herrmann:")]),n("br"),e._v("\nAugusto Herrmann, who is part of our community and whom you probably have met at one of our monthly calls, gave a talk on integrating data sources and publishing open data using FastELT and Airflow. During his presentation, Augusto emphasised the crucial role of Frictionless Data in ensuring data quality and interoperability. By implementing Frictionless Data’s specifications and tooling, he showcased how FastELT and Airflow can seamlessly process, validate, and transform data, simplifying the data integration process and making open data publishing a breeze."),n("br"),e._v("\nWatch the recording of Augusto’s talk "),n("a",{attrs:{href:"https://youtu.be/u42NrUAui8Y",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(".")]),e._v(" "),n("p",[n("img",{attrs:{src:a(525),alt:"FastELT"}})]),e._v(" "),n("p",[n("strong",[e._v("Defining The Turing Way by Malvika Sharan, Melissa Black, and Esther Plomp:")]),n("br"),e._v("\nMalvika Sharan, Melissa Black, and Esther Plomp discussed The Turing Way, an initiative aimed at providing reproducible, ethical, and inclusive research practices. In their talk, Frictionless Data was acknowledged as a useful tool to achieve these goals. By adopting Frictionless Data’s principles and tools, researchers can ensure data integrity, enhance collaboration, and promote openness in their work."),n("br"),e._v("\nWatch the recording of the talk "),n("a",{attrs:{href:"https://youtu.be/pT6W0sQJtyY",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),n("OutboundLink")],1),e._v(". And if you are interested in knowing more about the Turing Way, go and "),n("a",{attrs:{href:"https://frictionlessdata.io/blog/2022/05/05/april-community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("have a look at the recap blog"),n("OutboundLink")],1),e._v(" of the community call of April last year, with Turing Way’s community manager Anne Steele.")]),e._v(" "),n("p",[n("img",{attrs:{src:a(526),alt:"Defining the Turing Way"}})])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/160.c098d2be.js b/assets/js/160.2b0d632a.js similarity index 98% rename from assets/js/160.c098d2be.js rename to assets/js/160.2b0d632a.js index dbb7dde62..c4480611f 100644 --- a/assets/js/160.c098d2be.js +++ b/assets/js/160.2b0d632a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{693:function(e,t,o){"use strict";o.r(t);var r=o(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("On June 30"),o("sup",[e._v("th")]),e._v(" we had a very special community call. Instead of a project presentation this time we had the chance to meet the 3rd cohort of "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Fellows"),o("OutboundLink")],1),e._v(" and hear about their reproducibility and open science journey.")]),e._v(" "),o("p",[e._v("The fellows are a group of early career researchers interested in learning about open science and data management by using the Frictionless Data tools in their own research projects. Melvin Adhiambo, Lindsay Gypin, Kevin Kidambasi, Victoria Stanley, and Guo-Qiang Zhang are almost at the end of their nine months fellowship. During the past nine months they have learnt open science principles and how to discuss them (especially with colleagues who are not convinced yet!). They also learnt data management skills, and how to correctly use metadata and data schemas. Besides using the Frictionless Data browser tools, there was also a coding component to the fellowship, as they used the Frictionless Python tools as well.")]),e._v(" "),o("p",[e._v("The Fellows also ran workshops and wrote great blog posts during the last nine months. You can read them "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/blog",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If you are interested in knowing more about the fellows’ research field and what being a Frictionless Data Fellow meant for them, go and watch the full recording of the call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/KAkUGU1BSeo",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on July 28"),o("sup",[e._v("th")]),e._v(". Join us to hear David Raznick telling us about "),o("a",{attrs:{href:"https://flatterer.opendata.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flatterer"),o("OutboundLink")],1),e._v(", a new tool that helps convert JSON into tabular data.")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Join our community on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(". See you there!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[160],{696:function(e,t,o){"use strict";o.r(t);var r=o(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("On June 30"),o("sup",[e._v("th")]),e._v(" we had a very special community call. Instead of a project presentation this time we had the chance to meet the 3rd cohort of "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Fellows"),o("OutboundLink")],1),e._v(" and hear about their reproducibility and open science journey.")]),e._v(" "),o("p",[e._v("The fellows are a group of early career researchers interested in learning about open science and data management by using the Frictionless Data tools in their own research projects. Melvin Adhiambo, Lindsay Gypin, Kevin Kidambasi, Victoria Stanley, and Guo-Qiang Zhang are almost at the end of their nine months fellowship. During the past nine months they have learnt open science principles and how to discuss them (especially with colleagues who are not convinced yet!). They also learnt data management skills, and how to correctly use metadata and data schemas. Besides using the Frictionless Data browser tools, there was also a coding component to the fellowship, as they used the Frictionless Python tools as well.")]),e._v(" "),o("p",[e._v("The Fellows also ran workshops and wrote great blog posts during the last nine months. You can read them "),o("a",{attrs:{href:"http://fellows.frictionlessdata.io/blog",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If you are interested in knowing more about the fellows’ research field and what being a Frictionless Data Fellow meant for them, go and watch the full recording of the call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/KAkUGU1BSeo",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on July 28"),o("sup",[e._v("th")]),e._v(". Join us to hear David Raznick telling us about "),o("a",{attrs:{href:"https://flatterer.opendata.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flatterer"),o("OutboundLink")],1),e._v(", a new tool that helps convert JSON into tabular data.")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here."),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Join our community on "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),o("OutboundLink")],1),e._v(" (also via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),o("OutboundLink")],1),e._v(") or "),o("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),o("OutboundLink")],1),e._v(". See you there!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/161.af214601.js b/assets/js/161.be37511c.js similarity index 98% rename from assets/js/161.af214601.js rename to assets/js/161.be37511c.js index ef04d17b9..eb65d8d14 100644 --- a/assets/js/161.af214601.js +++ b/assets/js/161.be37511c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{694:function(e,a,t){"use strict";t.r(a);var n=t(29),s=Object(n.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Originally published on: "),t("a",{attrs:{href:"https://blog.okfn.org/2022/07/05/frictionless-planet-and-lacuna-fund-discuss-gaps-in-climate-datasets-for-machine-learning/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2022/07/05/frictionless-planet-and-lacuna-fund-discuss-gaps-in-climate-datasets-for-machine-learning/"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("On 24 June we hosted a conversation with the Lacuna Fund about datasets for climate change where we heard all about the Lacuna Fund’s recently launched Request for Proposals around Datasets for Climate Applications. We were joined by climate data users and creators from around the globe. This conversation is a part of Open Knowledge Foundation’s recent work on building a Frictionless Planet by using open tools and design principles to tackle the world’s largest problems, including climate change.")]),e._v(" "),t("p",[e._v("A lacuna is a gap, a blank space or a missing part of an item. Today there are gaps in the datasets that are available to train and evaluate machine learning models. This is especially true when it comes to specific populations and geographies. The Lacuna Fund was created to support data scientists in closing those gaps in machine learning datasets needed to better understand and tackle urgent problems in their communities, like those linked to the climate crisis.")]),e._v(" "),t("p",[e._v("Lacuna Fund is currently accepting proposals for two climate tracks: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Climate & Energy"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Climate & Health"),t("OutboundLink")],1),e._v(". The first track is looking at the intersection between energy, climate, and green recovery, and the second focuses on health and strategies to mitigate the impact of the climate crisis. Proposals should focus on machine learning datasets, either collecting and annotating new data, annotating and releasing existing data, or expanding existing datasets and increasing usability. Lacuna Fund’s guiding principles include equity, ethics, and participatory approach, and those values are very important for this work. Accordingly, proposals should include a plan for data management and licencing, privacy, and how the data will be shared. The target audience for this call is data scientists, with a focus on under-represented communities in Africa, Asia, and Latin America.")]),e._v(" "),t("p",[e._v("During the call, we also discussed if participants have specific data gaps in their fields, like a lack of data on how extreme heat events affect human health. The response was a strong “Yes”! Participants described working in “data deserts” where there is often missing data, leading to less accurate machine learning algorithms. Another common issue is data quality and trust in data, especially from “official” sources. Tackling data transparency will be important for creating impactful climate policy. We’d like to ask you the same question: If your group could have access to one data set that would have a large impact on your work, what is that data set?")]),e._v(" "),t("ul",[t("li",[e._v("If you are interested in applying for the Lacuna Fund’s open requests for proposals (RFP), please check out these resources here:")]),e._v(" "),t("li",[e._v("Apply page: "),t("a",{attrs:{href:"https://lacunafund.org/apply/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://lacunafund.org/apply/"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Q&A (questions from potential applicants): "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/06/QA-Climate-2022.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/06/QA-Climate-2022.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("RFP for Climate & Energy: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("RFP for Climate & Health: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Applicant webinar recording: "),t("a",{attrs:{href:"https://vimeo.com/711365252",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://vimeo.com/711365252"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Proposals are due 17th July")])])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[161],{693:function(e,a,t){"use strict";t.r(a);var n=t(29),s=Object(n.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Originally published on: "),t("a",{attrs:{href:"https://blog.okfn.org/2022/07/05/frictionless-planet-and-lacuna-fund-discuss-gaps-in-climate-datasets-for-machine-learning/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2022/07/05/frictionless-planet-and-lacuna-fund-discuss-gaps-in-climate-datasets-for-machine-learning/"),t("OutboundLink")],1)]),e._v(" "),t("p",[e._v("On 24 June we hosted a conversation with the Lacuna Fund about datasets for climate change where we heard all about the Lacuna Fund’s recently launched Request for Proposals around Datasets for Climate Applications. We were joined by climate data users and creators from around the globe. This conversation is a part of Open Knowledge Foundation’s recent work on building a Frictionless Planet by using open tools and design principles to tackle the world’s largest problems, including climate change.")]),e._v(" "),t("p",[e._v("A lacuna is a gap, a blank space or a missing part of an item. Today there are gaps in the datasets that are available to train and evaluate machine learning models. This is especially true when it comes to specific populations and geographies. The Lacuna Fund was created to support data scientists in closing those gaps in machine learning datasets needed to better understand and tackle urgent problems in their communities, like those linked to the climate crisis.")]),e._v(" "),t("p",[e._v("Lacuna Fund is currently accepting proposals for two climate tracks: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Climate & Energy"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Climate & Health"),t("OutboundLink")],1),e._v(". The first track is looking at the intersection between energy, climate, and green recovery, and the second focuses on health and strategies to mitigate the impact of the climate crisis. Proposals should focus on machine learning datasets, either collecting and annotating new data, annotating and releasing existing data, or expanding existing datasets and increasing usability. Lacuna Fund’s guiding principles include equity, ethics, and participatory approach, and those values are very important for this work. Accordingly, proposals should include a plan for data management and licencing, privacy, and how the data will be shared. The target audience for this call is data scientists, with a focus on under-represented communities in Africa, Asia, and Latin America.")]),e._v(" "),t("p",[e._v("During the call, we also discussed if participants have specific data gaps in their fields, like a lack of data on how extreme heat events affect human health. The response was a strong “Yes”! Participants described working in “data deserts” where there is often missing data, leading to less accurate machine learning algorithms. Another common issue is data quality and trust in data, especially from “official” sources. Tackling data transparency will be important for creating impactful climate policy. We’d like to ask you the same question: If your group could have access to one data set that would have a large impact on your work, what is that data set?")]),e._v(" "),t("ul",[t("li",[e._v("If you are interested in applying for the Lacuna Fund’s open requests for proposals (RFP), please check out these resources here:")]),e._v(" "),t("li",[e._v("Apply page: "),t("a",{attrs:{href:"https://lacunafund.org/apply/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://lacunafund.org/apply/"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Q&A (questions from potential applicants): "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/06/QA-Climate-2022.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/06/QA-Climate-2022.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("RFP for Climate & Energy: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Energy-RFP-Final.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("RFP for Climate & Health: "),t("a",{attrs:{href:"https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://s31207.pcdn.co/wp-content/uploads/sites/11/2022/04/Climate-and-Health-RFP-Final.pdf"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Applicant webinar recording: "),t("a",{attrs:{href:"https://vimeo.com/711365252",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://vimeo.com/711365252"),t("OutboundLink")],1)]),e._v(" "),t("li",[e._v("Proposals are due 17th July")])])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/163.3a81f092.js b/assets/js/163.ddd07aeb.js similarity index 98% rename from assets/js/163.3a81f092.js rename to assets/js/163.ddd07aeb.js index 0c3e89fc1..8fca9beda 100644 --- a/assets/js/163.3a81f092.js +++ b/assets/js/163.ddd07aeb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{696:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Dear Frictionless community,")]),e._v(" "),o("p",[e._v("I’m writing to let you all know that this is my final week working on Frictionless Data with Open Knowledge Foundation. It has been a true pleasure to get to interact with you all over the last four years! Rest assured that Frictionless Data is in good hands with the team at Open Knowledge (Evgeny, Sara, Shashi, Edgar, and the rest of the OKF tech team).")]),e._v(" "),o("p",[e._v("What’s next for me? I’m still staying in the data space, moving to product at data.world (did you know they export data as datapackages?)! Maybe you’ll see me presenting a demo at an upcoming Frictionless community call 😉")]),e._v(" "),o("p",[e._v("If you’ll allow me to reminisce for a few minutes, here are some of my favourite Frictionless memories from my time working on this project:")]),e._v(" "),o("p",[o("strong",[e._v("The Frictionless Hackathon:")]),e._v(" In October 2021, we hosted the first-ever Frictionless Hackathon (virtually of course), and it was so cool to see all the projects and contributors from around the world! You can read all about it in "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/10/13/hackathon-wrap/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the summary blog here"),o("OutboundLink")],1),e._v(". Should we do another Hackathon? Let Sara know what you think! (Special shout-out to Oleg who set up the Hackathon software and inspired the entire event!)")]),e._v(" "),o("p",[o("strong",[e._v("Pilot collaborations")]),e._v(": We started our first Reproducible Research pilot collaboration with the Biological and Chemical Oceanographic Data Management Office (BCO-DMO) team in 2019, and learned so much from this implementation! This resulted in a new data processing pipeline for BCO-DMO data managers that used Frictionless to reproducibly clean and document data. This work ultimately led to the creation of the Frictionless Framework. You can check out all the other "),o("a",{attrs:{href:"https://frictionlessdata.io/adoption/#pilot-collaborations",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pilots on the Adoption page"),o("OutboundLink")],1),e._v(" too.")]),e._v(" "),o("p",[o("strong",[e._v("Fellows")]),e._v(": Getting to mentor and teach 17 Fellows was truly a spectacular experience. These current (and future) leaders in open science and open scholarship are people to keep an eye on – they are brilliant! You can read all about their experience as Fellows on "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("their blog"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("The Frictionless Team at OKF")]),e._v(": I’ve been very lucky to get to work with the best team while being at OKF! Many of you already know how helpful and smart my colleagues are, but in case you don’t know, I will tell you! Evgeny has been carefully leading the technical development of Frictionless with a clear vision, making my job easy and fun. Sara has transformed how the community feels and works, which is no small feat! Shashi and Edgar have only been working on the project for less than a year, but their contributions to the code base and to help answer questions have already made a big impact! I will miss working with these excellent humans, and all of you in the community that have made Frictionless a special place!")]),e._v(" "),o("p",[e._v("Thank you all for being a part of the Frictionless community and for working with me in the past! I wish you all the best, and maybe I will see some of you in Buenos Aires in April for "),o("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v7"),o("OutboundLink")],1),e._v("?")]),e._v(" "),o("p",[e._v("Cheers!")]),e._v(" "),o("p",[e._v("– "),o("a",{attrs:{href:"https://lwinfree.github.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lilly"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[163],{697:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("Dear Frictionless community,")]),e._v(" "),o("p",[e._v("I’m writing to let you all know that this is my final week working on Frictionless Data with Open Knowledge Foundation. It has been a true pleasure to get to interact with you all over the last four years! Rest assured that Frictionless Data is in good hands with the team at Open Knowledge (Evgeny, Sara, Shashi, Edgar, and the rest of the OKF tech team).")]),e._v(" "),o("p",[e._v("What’s next for me? I’m still staying in the data space, moving to product at data.world (did you know they export data as datapackages?)! Maybe you’ll see me presenting a demo at an upcoming Frictionless community call 😉")]),e._v(" "),o("p",[e._v("If you’ll allow me to reminisce for a few minutes, here are some of my favourite Frictionless memories from my time working on this project:")]),e._v(" "),o("p",[o("strong",[e._v("The Frictionless Hackathon:")]),e._v(" In October 2021, we hosted the first-ever Frictionless Hackathon (virtually of course), and it was so cool to see all the projects and contributors from around the world! You can read all about it in "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/10/13/hackathon-wrap/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the summary blog here"),o("OutboundLink")],1),e._v(". Should we do another Hackathon? Let Sara know what you think! (Special shout-out to Oleg who set up the Hackathon software and inspired the entire event!)")]),e._v(" "),o("p",[o("strong",[e._v("Pilot collaborations")]),e._v(": We started our first Reproducible Research pilot collaboration with the Biological and Chemical Oceanographic Data Management Office (BCO-DMO) team in 2019, and learned so much from this implementation! This resulted in a new data processing pipeline for BCO-DMO data managers that used Frictionless to reproducibly clean and document data. This work ultimately led to the creation of the Frictionless Framework. You can check out all the other "),o("a",{attrs:{href:"https://frictionlessdata.io/adoption/#pilot-collaborations",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pilots on the Adoption page"),o("OutboundLink")],1),e._v(" too.")]),e._v(" "),o("p",[o("strong",[e._v("Fellows")]),e._v(": Getting to mentor and teach 17 Fellows was truly a spectacular experience. These current (and future) leaders in open science and open scholarship are people to keep an eye on – they are brilliant! You can read all about their experience as Fellows on "),o("a",{attrs:{href:"https://fellows.frictionlessdata.io/blog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("their blog"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("The Frictionless Team at OKF")]),e._v(": I’ve been very lucky to get to work with the best team while being at OKF! Many of you already know how helpful and smart my colleagues are, but in case you don’t know, I will tell you! Evgeny has been carefully leading the technical development of Frictionless with a clear vision, making my job easy and fun. Sara has transformed how the community feels and works, which is no small feat! Shashi and Edgar have only been working on the project for less than a year, but their contributions to the code base and to help answer questions have already made a big impact! I will miss working with these excellent humans, and all of you in the community that have made Frictionless a special place!")]),e._v(" "),o("p",[e._v("Thank you all for being a part of the Frictionless community and for working with me in the past! I wish you all the best, and maybe I will see some of you in Buenos Aires in April for "),o("a",{attrs:{href:"https://csvconf.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv,conf,v7"),o("OutboundLink")],1),e._v("?")]),e._v(" "),o("p",[e._v("Cheers!")]),e._v(" "),o("p",[e._v("– "),o("a",{attrs:{href:"https://lwinfree.github.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lilly"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/164.388ca211.js b/assets/js/164.98393809.js similarity index 98% rename from assets/js/164.388ca211.js rename to assets/js/164.98393809.js index da138351b..64e8fb313 100644 --- a/assets/js/164.388ca211.js +++ b/assets/js/164.98393809.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{697:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On the last community call on July 28"),a("sup",[e._v("th")]),e._v(", we heard David Raznick (an ex OKFer, now working at "),a("a",{attrs:{href:"https://opendataservices.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Services"),a("OutboundLink")],1),e._v(") presenting Flatterer, a tool he developed to convert structured JSON data into tabular data, using Frictionless Data specifications.")]),e._v(" "),a("p",[e._v("David has been working with many different open data standards functioning with deeply nested JSON. To make the data in standard formats more human readable, users often flatten JSON files with flattening tools, but the result they get are very large spreadsheets, which can be difficult to work with.")]),e._v(" "),a("p",[e._v("Flattening tools are also often used to unflatten tabular data in JSON. That way, the data, initially written in a more human readable format, can then be used according to the standards. Unfortunately the result is not optimal, the output of flattening tools is often not user-friendly and the user would probably still need to tweak it by hand, for example modifying headers’ names and/or the way tables are joined together.")]),e._v(" "),a("p",[e._v("Flatterer aims at making these processes easier and faster. It can convert in the blink of an eye your JSON file in the tabular format of your choice: csv, xlsx, parquet, postgres and sqlite. Flatterer will convert your JSON file into a main table, with keys to link one-to-many tables to their parents. That way the data is tidy and easier to work with.")]),e._v(" "),a("p",[e._v("If you are interested in knowing more about Flatterer, have a look at David’s presentation and demo:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Hi9tDGfteoA",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also read more about the project here: "),a("a",{attrs:{href:"https://flatterer.opendata.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://flatterer.opendata.coop/"),a("OutboundLink")],1),e._v(", or have a look at "),a("a",{attrs:{href:"https://deepnote.com/@david-raznick/Flatterer-Demo-15678671-ca7f-40a0-aed5-6004190d2611",target:"_blank",rel:"noopener noreferrer"}},[e._v("the project documentation"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on August 25"),a("sup",[e._v("th")]),e._v(". Frictionless Data developer Shashi Gharti will discuss with the community a tool she would like to add to the Frictionless Framework. Stay tuned to know more!")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Join our community on "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),a("OutboundLink")],1),e._v(" (also via "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),a("OutboundLink")],1),e._v(") or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/hfGT6vAjjwU",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[164],{699:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On the last community call on July 28"),a("sup",[e._v("th")]),e._v(", we heard David Raznick (an ex OKFer, now working at "),a("a",{attrs:{href:"https://opendataservices.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Services"),a("OutboundLink")],1),e._v(") presenting Flatterer, a tool he developed to convert structured JSON data into tabular data, using Frictionless Data specifications.")]),e._v(" "),a("p",[e._v("David has been working with many different open data standards functioning with deeply nested JSON. To make the data in standard formats more human readable, users often flatten JSON files with flattening tools, but the result they get are very large spreadsheets, which can be difficult to work with.")]),e._v(" "),a("p",[e._v("Flattening tools are also often used to unflatten tabular data in JSON. That way, the data, initially written in a more human readable format, can then be used according to the standards. Unfortunately the result is not optimal, the output of flattening tools is often not user-friendly and the user would probably still need to tweak it by hand, for example modifying headers’ names and/or the way tables are joined together.")]),e._v(" "),a("p",[e._v("Flatterer aims at making these processes easier and faster. It can convert in the blink of an eye your JSON file in the tabular format of your choice: csv, xlsx, parquet, postgres and sqlite. Flatterer will convert your JSON file into a main table, with keys to link one-to-many tables to their parents. That way the data is tidy and easier to work with.")]),e._v(" "),a("p",[e._v("If you are interested in knowing more about Flatterer, have a look at David’s presentation and demo:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/Hi9tDGfteoA",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also read more about the project here: "),a("a",{attrs:{href:"https://flatterer.opendata.coop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://flatterer.opendata.coop/"),a("OutboundLink")],1),e._v(", or have a look at "),a("a",{attrs:{href:"https://deepnote.com/@david-raznick/Flatterer-Demo-15678671-ca7f-40a0-aed5-6004190d2611",target:"_blank",rel:"noopener noreferrer"}},[e._v("the project documentation"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on August 25"),a("sup",[e._v("th")]),e._v(". Frictionless Data developer Shashi Gharti will discuss with the community a tool she would like to add to the Frictionless Framework. Stay tuned to know more!")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Join our community on "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),a("OutboundLink")],1),e._v(" (also via "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),a("OutboundLink")],1),e._v(") or "),a("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/hfGT6vAjjwU",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/166.7552b535.js b/assets/js/166.97b54b92.js similarity index 98% rename from assets/js/166.7552b535.js rename to assets/js/166.97b54b92.js index 254f671d1..8f7572c04 100644 --- a/assets/js/166.7552b535.js +++ b/assets/js/166.97b54b92.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{699:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On the last community call on August 25"),r("sup",[e._v("th")]),e._v(", we had our very own Frictionless Data developer Shashi Gharti presenting to the community the new Frictionless GitHub integration, to read and write data packages from/to GitHub repositories.")]),e._v(" "),r("p",[e._v("Besides reading and writing packages, the integration also allows the creation of containers for data packages: the "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/framework/catalog.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("catalog"),r("OutboundLink")],1),e._v(", a list of packages from multiple repositories in GitHub. To select which repository you want to be in the catalog, you can use any GitHub qualifier.")]),e._v(" "),r("p",[e._v("The Frictionless GitHub integration is part of the beta release of "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2022/08/29/frictionless-framework-release/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Framework version 5"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("If you are interested in knowing more about the Frictionless GitHub integration, have a look at Shashi’s presentation and demo:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/gURZK9WDpp0",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("You can also check out "),r("a",{attrs:{href:"https://docs.google.com/presentation/d/1hhHEgEqzIkIpzCZ_FW-DjJtImxPI8jdi7Ck5OXiiDsM/edit?usp=sharing",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shashi’s slides"),r("OutboundLink")],1),e._v(" or have a look at "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/portals/github.html#reference-portals.githubcontrol",target:"_blank",rel:"noopener noreferrer"}},[e._v("the project documentation"),r("OutboundLink")],1),e._v(". If you use the Frictionless Framework v5 and its GitHub integration, please let us know! And if you have any feedback, feel free to open an issue in the "),r("a",{attrs:{href:"https://github.com/frictionlessdata/framework",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository"),r("OutboundLink")],1)]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Next community call is on September 29"),r("sup",[e._v("th")]),e._v(". Frictionless Data lead developer Evgeny Karev will be presenting the Frictionless Framework version 5, so make sure not to miss it!")]),e._v(" "),r("p",[e._v("You can sign up for the call already "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),r("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),r("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Join our community on "),r("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),r("OutboundLink")],1),e._v(" (also via "),r("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(") or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/9_VwniN4JKE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[166],{700:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("On the last community call on August 25"),r("sup",[e._v("th")]),e._v(", we had our very own Frictionless Data developer Shashi Gharti presenting to the community the new Frictionless GitHub integration, to read and write data packages from/to GitHub repositories.")]),e._v(" "),r("p",[e._v("Besides reading and writing packages, the integration also allows the creation of containers for data packages: the "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/framework/catalog.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("catalog"),r("OutboundLink")],1),e._v(", a list of packages from multiple repositories in GitHub. To select which repository you want to be in the catalog, you can use any GitHub qualifier.")]),e._v(" "),r("p",[e._v("The Frictionless GitHub integration is part of the beta release of "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2022/08/29/frictionless-framework-release/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Framework version 5"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("If you are interested in knowing more about the Frictionless GitHub integration, have a look at Shashi’s presentation and demo:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/gURZK9WDpp0",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),e._v(" "),r("p",[e._v("You can also check out "),r("a",{attrs:{href:"https://docs.google.com/presentation/d/1hhHEgEqzIkIpzCZ_FW-DjJtImxPI8jdi7Ck5OXiiDsM/edit?usp=sharing",target:"_blank",rel:"noopener noreferrer"}},[e._v("Shashi’s slides"),r("OutboundLink")],1),e._v(" or have a look at "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/docs/portals/github.html#reference-portals.githubcontrol",target:"_blank",rel:"noopener noreferrer"}},[e._v("the project documentation"),r("OutboundLink")],1),e._v(". If you use the Frictionless Framework v5 and its GitHub integration, please let us know! And if you have any feedback, feel free to open an issue in the "),r("a",{attrs:{href:"https://github.com/frictionlessdata/framework",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository"),r("OutboundLink")],1)]),e._v(" "),r("h1",{attrs:{id:"join-us-next-month"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),r("p",[e._v("Next community call is on September 29"),r("sup",[e._v("th")]),e._v(". Frictionless Data lead developer Evgeny Karev will be presenting the Frictionless Framework version 5, so make sure not to miss it!")]),e._v(" "),r("p",[e._v("You can sign up for the call already "),r("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),r("p",[e._v("Would you like to present at one of the next community calls? Please fill out "),r("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Join our community on "),r("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),r("OutboundLink")],1),e._v(" (also via "),r("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),r("OutboundLink")],1),e._v(") or "),r("a",{attrs:{href:"https://twitter.com/frictionlessd8a",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),r("OutboundLink")],1),e._v(". See you there!")]),e._v(" "),r("h1",{attrs:{id:"call-recording"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),r("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),r("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/9_VwniN4JKE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/169.aaa04e44.js b/assets/js/169.e06ca116.js similarity index 99% rename from assets/js/169.aaa04e44.js rename to assets/js/169.e06ca116.js index 7b92b55fb..f4e7bf502 100644 --- a/assets/js/169.aaa04e44.js +++ b/assets/js/169.e06ca116.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[169],{704:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On December 22"),a("sup",[e._v("nd")]),e._v(", for our last community call of the year, we had a nice discussion with Oleg Lavrovsky, an old friend of Open Knowledge Foundation, board member of the Swiss chapter, and valued member of the Frictionless Data community, about Data Package as a Service.")]),e._v(" "),a("p",[e._v("Oleg together with Thorben Westerhuys (remember his "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/29/february-virtual-hangout/#a-recap-from-our-march-community-call",target:"_blank",rel:"noopener noreferrer"}},[e._v("spatiotemporal covid 19 vaccination tracker he presented in March 2021"),a("OutboundLink")],1),e._v("?) already made a first attempt at this in 2019, as you can see in this "),a("a",{attrs:{href:"https://github.com/datalets/daats",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo here"),a("OutboundLink")],1),e._v(". The repository works as a template to create a quick API around your Frictionless Data Package. This solution is based on the "),a("a",{attrs:{href:"http://falconframework.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Falcon micro framework"),a("OutboundLink")],1),e._v(" and the "),a("a",{attrs:{href:"https://github.com/rgieseke/pandas-datapackage-reader",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pandas Data Package Reader"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("More recently Edgar Zanella from the Frictionless Data core team also worked on an "),a("a",{attrs:{href:"https://github.com/aivuk/datapackage-api",target:"_blank",rel:"noopener noreferrer"}},[e._v("experimental solution"),a("OutboundLink")],1),e._v(", converting a Data Package to SQLite database and using "),a("a",{attrs:{href:"https://datasette.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette"),a("OutboundLink")],1),e._v(" to have a "),a("a",{attrs:{href:"https://github.com/aivuk/datapackage-api/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JSON API"),a("OutboundLink")],1),e._v(" over the data. The advantage of this solution is that the way of querying the data is going to be familiar for those that knows "),a("a",{attrs:{href:"https://docs.datasette.io/en/stable/sql_queries.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("SQL"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Then in November 2022, during the GLAMhack 2022 in Mendrisio, an API for Frictionless Data Packages was needed again to be able to sort data and view it on a map. The end result was a "),a("a",{attrs:{href:"https://hack.glam.opendata.ch/project/177",target:"_blank",rel:"noopener noreferrer"}},[e._v("Living Herbarium app"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("So Oleg decided to pitch the idea of Frictionless Data Packages as services, as a challenge at the "),a("a",{attrs:{href:"https://hacknight.dinacon.ch/project/60",target:"_blank",rel:"noopener noreferrer"}},[e._v("DINAcon hacknights"),a("OutboundLink")],1),e._v(" in Bern. The challenge was not picked by anyone at the hackathon itself, but it sparked a conversation "),a("a",{attrs:{href:"https://frictionlessdata.slack.com/archives/C0369JLDJ1Z/p1668597797541189",target:"_blank",rel:"noopener noreferrer"}},[e._v("in our community chat"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("If you are also interested in joining the conversation, just get on the thread in the community chat. If you need a bit of context, you can of course rewatch Oleg’s presentation:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/n_neCrY02jg",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("p",[e._v("It was also noted during the call that 2 other excellent ways to get a quick API for Frictionless Data Packages are:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("The "),a("a",{attrs:{href:"https://githubnext.com/projects/flat-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flat Data project"),a("OutboundLink")],1),e._v(", developed on top of an idea by Simon Willison, allows (among other things) to have a quick API for your Data Package.")])]),e._v(" "),a("li",[a("p",[e._v("CKAN, since CKAN provides APIs. For example via "),a("a",{attrs:{href:"https://github.com/datalets/ckan-embed",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN-embed"),a("OutboundLink")],1),e._v(", a widget for embedding live data searches from CKAN data portals into external websites.")])])]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on January 26"),a("sup",[e._v("th")]),e._v(" and we are going to hear about Frictionless Data and DCAT from Matteo Fortini.")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("p",[e._v("And if you have a cool project that you would like to show to the community, please let us know! You can just fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our community chat on "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),a("OutboundLink")],1),e._v(" (also via "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),a("OutboundLink")],1),e._v("). See you there!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/hmr18OhY578",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[169],{705:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("On December 22"),a("sup",[e._v("nd")]),e._v(", for our last community call of the year, we had a nice discussion with Oleg Lavrovsky, an old friend of Open Knowledge Foundation, board member of the Swiss chapter, and valued member of the Frictionless Data community, about Data Package as a Service.")]),e._v(" "),a("p",[e._v("Oleg together with Thorben Westerhuys (remember his "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/03/29/february-virtual-hangout/#a-recap-from-our-march-community-call",target:"_blank",rel:"noopener noreferrer"}},[e._v("spatiotemporal covid 19 vaccination tracker he presented in March 2021"),a("OutboundLink")],1),e._v("?) already made a first attempt at this in 2019, as you can see in this "),a("a",{attrs:{href:"https://github.com/datalets/daats",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo here"),a("OutboundLink")],1),e._v(". The repository works as a template to create a quick API around your Frictionless Data Package. This solution is based on the "),a("a",{attrs:{href:"http://falconframework.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Falcon micro framework"),a("OutboundLink")],1),e._v(" and the "),a("a",{attrs:{href:"https://github.com/rgieseke/pandas-datapackage-reader",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pandas Data Package Reader"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("More recently Edgar Zanella from the Frictionless Data core team also worked on an "),a("a",{attrs:{href:"https://github.com/aivuk/datapackage-api",target:"_blank",rel:"noopener noreferrer"}},[e._v("experimental solution"),a("OutboundLink")],1),e._v(", converting a Data Package to SQLite database and using "),a("a",{attrs:{href:"https://datasette.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datasette"),a("OutboundLink")],1),e._v(" to have a "),a("a",{attrs:{href:"https://github.com/aivuk/datapackage-api/",target:"_blank",rel:"noopener noreferrer"}},[e._v("JSON API"),a("OutboundLink")],1),e._v(" over the data. The advantage of this solution is that the way of querying the data is going to be familiar for those that knows "),a("a",{attrs:{href:"https://docs.datasette.io/en/stable/sql_queries.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("SQL"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Then in November 2022, during the GLAMhack 2022 in Mendrisio, an API for Frictionless Data Packages was needed again to be able to sort data and view it on a map. The end result was a "),a("a",{attrs:{href:"https://hack.glam.opendata.ch/project/177",target:"_blank",rel:"noopener noreferrer"}},[e._v("Living Herbarium app"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("So Oleg decided to pitch the idea of Frictionless Data Packages as services, as a challenge at the "),a("a",{attrs:{href:"https://hacknight.dinacon.ch/project/60",target:"_blank",rel:"noopener noreferrer"}},[e._v("DINAcon hacknights"),a("OutboundLink")],1),e._v(" in Bern. The challenge was not picked by anyone at the hackathon itself, but it sparked a conversation "),a("a",{attrs:{href:"https://frictionlessdata.slack.com/archives/C0369JLDJ1Z/p1668597797541189",target:"_blank",rel:"noopener noreferrer"}},[e._v("in our community chat"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("If you are also interested in joining the conversation, just get on the thread in the community chat. If you need a bit of context, you can of course rewatch Oleg’s presentation:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/n_neCrY02jg",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("p",[e._v("It was also noted during the call that 2 other excellent ways to get a quick API for Frictionless Data Packages are:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("The "),a("a",{attrs:{href:"https://githubnext.com/projects/flat-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("Flat Data project"),a("OutboundLink")],1),e._v(", developed on top of an idea by Simon Willison, allows (among other things) to have a quick API for your Data Package.")])]),e._v(" "),a("li",[a("p",[e._v("CKAN, since CKAN provides APIs. For example via "),a("a",{attrs:{href:"https://github.com/datalets/ckan-embed",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN-embed"),a("OutboundLink")],1),e._v(", a widget for embedding live data searches from CKAN data portals into external websites.")])])]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on January 26"),a("sup",[e._v("th")]),e._v(" and we are going to hear about Frictionless Data and DCAT from Matteo Fortini.")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("p",[e._v("And if you have a cool project that you would like to show to the community, please let us know! You can just fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our community chat on "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("Slack"),a("OutboundLink")],1),e._v(" (also via "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix"),a("OutboundLink")],1),e._v("). See you there!")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/hmr18OhY578",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/170.7a64b1c0.js b/assets/js/170.e11e2e40.js similarity index 98% rename from assets/js/170.7a64b1c0.js rename to assets/js/170.e11e2e40.js index 74839921e..00848a0d7 100644 --- a/assets/js/170.7a64b1c0.js +++ b/assets/js/170.e11e2e40.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[170],{705:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that we are going back to FOSDEM this year! Frictionless Data Technical Leader at Open Knowledge Foundation, Evgeny Karev, will give an overview of the main functionalities of the upcoming and much awaited Frictionless Application.")]),e._v(" "),a("p",[e._v("The talk will be featured in the Open Research Tools and Technology devroom, alongside other super interesting talks. Have a look at the schedule "),a("a",{attrs:{href:"https://fosdem.org/2023/schedule/track/open_research_tools_and_technology/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" to know more. This devroom provides a place and time to discuss the issues related to the creation and usage of open research technologies, with the ambition to foster discussions between designers, developers and users, bridging multiple knowledge-based communities together, and with the broader FLOSS community.")]),e._v(" "),a("p",[e._v("While FOSDEM is going back to Brussels for a physical event this year, the decision was made to keep part of the programme online to allow a broader audience to join. The Frictionless Application overview will be online as well, so you can follow it and participate in the discussion from wherever you are, even if you are not in Brussels.")]),e._v(" "),a("p",[e._v("This will be our 4th year at FOSDEM, and we are very proud to have been part of the Open Research devroom since its creation 4 years ago. To celebrate this, let’s look back at some of the great moments we shared:")]),e._v(" "),a("p",[e._v("In 2020 Lilly Winfree presented on-site “Frictionless Data for Reproducible Research” (you can watch the video recording "),a("a",{attrs:{href:"https://www.youtube.com/watch?v=lFgZTfCZu5U&t=317s",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v("), a talk in which she discussed the technical ideas behind Frictionless Data for research, and showcased collaborative use cases, particularly the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BCO-DMO pilot"),a("OutboundLink")],1),e._v(", which was quite new at the time. Lilly showed how implementing Frictionless Data tooling into their data ingest pipelines allowed BCO-DMO to integrate disparate data while maintaining quality metadata in an easy to use interface. You can find all the info about this talk into the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2020/schedule/event/open_research_frictionless_data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("In 2021, for the first online FOSDEM due to Covid 19, Carles Pina i Estany presented "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Schema-collaboration"),a("OutboundLink")],1),e._v(", an open tool for reproducible research that helps data managers and researchers to collaborate on documenting datasets, built using the Frictionless Data specifications and software. Schema-collaboration was developed during the 2020 Tool Fund. For the FOSDEM presentation Carles gave an overview of the tool and did a demo as well."),a("br"),e._v("\nFind all the info (including a video recording of the presentation) on the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2021/schedule/event/open_research_schema_collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("In 2022 our Technical Lead, Evgeny Karev, presented the newly released (at the time) "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),a("OutboundLink")],1),e._v(", a tool to publish data articles with interactive tables, charts, and other elements very easily, without leaving a text editor."),a("br"),e._v("\nHave a look at the presentation and find all the information about it on the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2022/schedule/event/open_research_livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("And what about this year? We wanted to release the Frictionless Application for FOSDEM, but we had to push that back a little bit. But as we said above, Evgeny is still giving "),a("a",{attrs:{href:"https://fosdem.org/2023/schedule/room/dresearch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("an overview of the Application"),a("OutboundLink")],1),e._v(" and some of its main features, which you should definitely not miss! See you online on Saturday, and happy FOSDEM weekend to you all!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[170],{707:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("We are very excited to announce that we are going back to FOSDEM this year! Frictionless Data Technical Leader at Open Knowledge Foundation, Evgeny Karev, will give an overview of the main functionalities of the upcoming and much awaited Frictionless Application.")]),e._v(" "),a("p",[e._v("The talk will be featured in the Open Research Tools and Technology devroom, alongside other super interesting talks. Have a look at the schedule "),a("a",{attrs:{href:"https://fosdem.org/2023/schedule/track/open_research_tools_and_technology/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" to know more. This devroom provides a place and time to discuss the issues related to the creation and usage of open research technologies, with the ambition to foster discussions between designers, developers and users, bridging multiple knowledge-based communities together, and with the broader FLOSS community.")]),e._v(" "),a("p",[e._v("While FOSDEM is going back to Brussels for a physical event this year, the decision was made to keep part of the programme online to allow a broader audience to join. The Frictionless Application overview will be online as well, so you can follow it and participate in the discussion from wherever you are, even if you are not in Brussels.")]),e._v(" "),a("p",[e._v("This will be our 4th year at FOSDEM, and we are very proud to have been part of the Open Research devroom since its creation 4 years ago. To celebrate this, let’s look back at some of the great moments we shared:")]),e._v(" "),a("p",[e._v("In 2020 Lilly Winfree presented on-site “Frictionless Data for Reproducible Research” (you can watch the video recording "),a("a",{attrs:{href:"https://www.youtube.com/watch?v=lFgZTfCZu5U&t=317s",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v("), a talk in which she discussed the technical ideas behind Frictionless Data for research, and showcased collaborative use cases, particularly the "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BCO-DMO pilot"),a("OutboundLink")],1),e._v(", which was quite new at the time. Lilly showed how implementing Frictionless Data tooling into their data ingest pipelines allowed BCO-DMO to integrate disparate data while maintaining quality metadata in an easy to use interface. You can find all the info about this talk into the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2020/schedule/event/open_research_frictionless_data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("In 2021, for the first online FOSDEM due to Covid 19, Carles Pina i Estany presented "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/01/18/schema-collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Schema-collaboration"),a("OutboundLink")],1),e._v(", an open tool for reproducible research that helps data managers and researchers to collaborate on documenting datasets, built using the Frictionless Data specifications and software. Schema-collaboration was developed during the 2020 Tool Fund. For the FOSDEM presentation Carles gave an overview of the tool and did a demo as well."),a("br"),e._v("\nFind all the info (including a video recording of the presentation) on the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2021/schedule/event/open_research_schema_collaboration/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("In 2022 our Technical Lead, Evgeny Karev, presented the newly released (at the time) "),a("a",{attrs:{href:"https://frictionlessdata.io/blog/2021/06/22/livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),a("OutboundLink")],1),e._v(", a tool to publish data articles with interactive tables, charts, and other elements very easily, without leaving a text editor."),a("br"),e._v("\nHave a look at the presentation and find all the information about it on the FOSDEM archive "),a("a",{attrs:{href:"https://archive.fosdem.org/2022/schedule/event/open_research_livemark/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("And what about this year? We wanted to release the Frictionless Application for FOSDEM, but we had to push that back a little bit. But as we said above, Evgeny is still giving "),a("a",{attrs:{href:"https://fosdem.org/2023/schedule/room/dresearch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("an overview of the Application"),a("OutboundLink")],1),e._v(" and some of its main features, which you should definitely not miss! See you online on Saturday, and happy FOSDEM weekend to you all!")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/172.49ea49c4.js b/assets/js/172.edf8b83c.js similarity index 98% rename from assets/js/172.49ea49c4.js rename to assets/js/172.edf8b83c.js index be89c3726..600edc3b6 100644 --- a/assets/js/172.49ea49c4.js +++ b/assets/js/172.edf8b83c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{707:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last community call on February 28th, we heard about generating spreadsheet templates from Tabular Data Package metadata from Ethan Welty.")]),e._v(" "),a("p",[e._v("Ethan works for the "),a("a",{attrs:{href:"https://wgms.ch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("World Glacier Monitoring Service (WGMS)"),a("OutboundLink")],1),e._v(", which maintains and curates a single longrunning dataset (with entries dating back to 1894!) combining both satellite measurements, and manual submissions of scientists from around the world who go out to glaciers and measure the mass changes on the ground.")]),e._v(" "),a("p",[e._v("One of their biggest challenges is that parts of the data are not machine-generated, but inserted by humans. It is therefore important to review the data submissions to try and catch any possible error. To do that, Ethan adopted the Frictionless Tabular Data Package approach, getting as much of the organisation logic and data management into a centralised metadata.")]),e._v(" "),a("p",[e._v("Plus, to help people doing their data entry, they have spreadsheet templates automatically generated. The file is built in markup language, and is generated from the validation pipeline (which works in a slightly different way than in Frictionless Data, as it scales to a much longer pipeline). The template generator, called "),a("em",[e._v("Tablecloth")]),e._v(", currently supports Excel - as it is what most people who work with the WGMS are comfortable using, and it is soon going to support Google Sheets too.")]),e._v(" "),a("p",[e._v("If you want to know more about "),a("em",[e._v("Tablecloth")]),e._v(" and are interested in having a look at the demo Ethan did on the call, go ahead and have a look at the recording of the presentation:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/79CrD5O96vk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also check out "),a("em",[e._v("Tablecloth")]),e._v(" on "),a("a",{attrs:{href:"https://github.com/ezwelty/tablecloth",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://gitlab.com/wgms/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitLab"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on March 30"),a("sup",[e._v("th")]),e._v(" and guess what? We do not have any presentations scheduled yet! So this could be your moment to come and tell us about your project! If you are interested in doing so just fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our community chat.")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/_k7NlWztGlc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[172],{708:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last community call on February 28th, we heard about generating spreadsheet templates from Tabular Data Package metadata from Ethan Welty.")]),e._v(" "),a("p",[e._v("Ethan works for the "),a("a",{attrs:{href:"https://wgms.ch/",target:"_blank",rel:"noopener noreferrer"}},[e._v("World Glacier Monitoring Service (WGMS)"),a("OutboundLink")],1),e._v(", which maintains and curates a single longrunning dataset (with entries dating back to 1894!) combining both satellite measurements, and manual submissions of scientists from around the world who go out to glaciers and measure the mass changes on the ground.")]),e._v(" "),a("p",[e._v("One of their biggest challenges is that parts of the data are not machine-generated, but inserted by humans. It is therefore important to review the data submissions to try and catch any possible error. To do that, Ethan adopted the Frictionless Tabular Data Package approach, getting as much of the organisation logic and data management into a centralised metadata.")]),e._v(" "),a("p",[e._v("Plus, to help people doing their data entry, they have spreadsheet templates automatically generated. The file is built in markup language, and is generated from the validation pipeline (which works in a slightly different way than in Frictionless Data, as it scales to a much longer pipeline). The template generator, called "),a("em",[e._v("Tablecloth")]),e._v(", currently supports Excel - as it is what most people who work with the WGMS are comfortable using, and it is soon going to support Google Sheets too.")]),e._v(" "),a("p",[e._v("If you want to know more about "),a("em",[e._v("Tablecloth")]),e._v(" and are interested in having a look at the demo Ethan did on the call, go ahead and have a look at the recording of the presentation:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/79CrD5O96vk",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("p",[e._v("You can also check out "),a("em",[e._v("Tablecloth")]),e._v(" on "),a("a",{attrs:{href:"https://github.com/ezwelty/tablecloth",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://gitlab.com/wgms/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitLab"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on March 30"),a("sup",[e._v("th")]),e._v(" and guess what? We do not have any presentations scheduled yet! So this could be your moment to come and tell us about your project! If you are interested in doing so just fill out "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our community chat.")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/_k7NlWztGlc",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/173.738038e0.js b/assets/js/173.f03ca13d.js similarity index 98% rename from assets/js/173.738038e0.js rename to assets/js/173.f03ca13d.js index d668ad00d..c27b6a0dd 100644 --- a/assets/js/173.738038e0.js +++ b/assets/js/173.f03ca13d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{708:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last community call on March 30"),a("sup",[e._v("th")]),e._v(", our very own Evgeny Karev - tech lead of the Frictionless Data project at "),a("a",{attrs:{href:"http://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),a("OutboundLink")],1),e._v(", presented the new Frictionless command line features.")]),e._v(" "),a("p",[e._v("The new commands have been developed as part of the effort of building recommended data workflows for different needs, and might be particularly useful for data wrangling and data exploration. Here they are:")]),e._v(" "),a("ul",[a("li",[a("strong",[e._v("List")]),e._v(" function is a new command to quickly see lists of resources in a dataset.")]),e._v(" "),a("li",[a("strong",[e._v("Describe")]),e._v(", an old command actually, but that can be part of the exploration workflow as it infers Table Schemas for all tabular resources.")]),e._v(" "),a("li",[a("strong",[e._v("Extract")]),e._v(", also an old command, can be used to understand what kind of data is in the table, and get a preview of it.")]),e._v(" "),a("li",[a("strong",[e._v("Explore")]),e._v(", to use in combination with "),a("a",{attrs:{href:"https://www.visidata.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Visidata"),a("OutboundLink")],1),e._v(" to edit tables directly in the command line.")]),e._v(" "),a("li",[a("strong",[e._v("Query")]),e._v(" which will put a dataset into a SQLite database, with everything indexed, adding nice functionalities, like the possibility of saving queries as CSV files.")]),e._v(" "),a("li",[a("strong",[e._v("Script")]),e._v(" is a feature that allows dataset indexing and will create Pandas dataframes for you.")]),e._v(" "),a("li",[a("strong",[e._v("Convert")]),e._v(", a work-in-progress command that can be used to convert from one format to the other, something that was historically done with the Extract function in the Framework.")]),e._v(" "),a("li",[a("strong",[e._v("Publish")]),e._v(" is also a work-in-progress command, and you can use it to upload your dataset to a data portal (e.g. a CKAN instance) just providing an API key.")])]),e._v(" "),a("p",[e._v("To better understand how you can use all these new commands, have a look at Evgeny’s presentation and demo:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/yNYAGMcAGl4",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on April 27"),a("sup",[e._v("th")]),e._v(". Keith Hughitt will share with us his ideas on how to improve support for non-tabular data, a proposed abstract data model, and a specification for describing the relationship between datasets.")]),e._v(" "),a("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),a("OutboundLink")],1),e._v("(also accessible via a "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),a("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call, including the short presentation and community discussion on the project governance:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/vgeXcDd5KEE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[173],{709:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("At our last community call on March 30"),a("sup",[e._v("th")]),e._v(", our very own Evgeny Karev - tech lead of the Frictionless Data project at "),a("a",{attrs:{href:"http://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation"),a("OutboundLink")],1),e._v(", presented the new Frictionless command line features.")]),e._v(" "),a("p",[e._v("The new commands have been developed as part of the effort of building recommended data workflows for different needs, and might be particularly useful for data wrangling and data exploration. Here they are:")]),e._v(" "),a("ul",[a("li",[a("strong",[e._v("List")]),e._v(" function is a new command to quickly see lists of resources in a dataset.")]),e._v(" "),a("li",[a("strong",[e._v("Describe")]),e._v(", an old command actually, but that can be part of the exploration workflow as it infers Table Schemas for all tabular resources.")]),e._v(" "),a("li",[a("strong",[e._v("Extract")]),e._v(", also an old command, can be used to understand what kind of data is in the table, and get a preview of it.")]),e._v(" "),a("li",[a("strong",[e._v("Explore")]),e._v(", to use in combination with "),a("a",{attrs:{href:"https://www.visidata.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Visidata"),a("OutboundLink")],1),e._v(" to edit tables directly in the command line.")]),e._v(" "),a("li",[a("strong",[e._v("Query")]),e._v(" which will put a dataset into a SQLite database, with everything indexed, adding nice functionalities, like the possibility of saving queries as CSV files.")]),e._v(" "),a("li",[a("strong",[e._v("Script")]),e._v(" is a feature that allows dataset indexing and will create Pandas dataframes for you.")]),e._v(" "),a("li",[a("strong",[e._v("Convert")]),e._v(", a work-in-progress command that can be used to convert from one format to the other, something that was historically done with the Extract function in the Framework.")]),e._v(" "),a("li",[a("strong",[e._v("Publish")]),e._v(" is also a work-in-progress command, and you can use it to upload your dataset to a data portal (e.g. a CKAN instance) just providing an API key.")])]),e._v(" "),a("p",[e._v("To better understand how you can use all these new commands, have a look at Evgeny’s presentation and demo:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/yNYAGMcAGl4",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),a("h1",{attrs:{id:"join-us-next-month"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),a("p",[e._v("Next community call is on April 27"),a("sup",[e._v("th")]),e._v(". Keith Hughitt will share with us his ideas on how to improve support for non-tabular data, a proposed abstract data model, and a specification for describing the relationship between datasets.")]),e._v(" "),a("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),a("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),a("OutboundLink")],1),e._v(", or come and tell us on our "),a("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),a("OutboundLink")],1),e._v("(also accessible via a "),a("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),a("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),a("p",[e._v("You can sign up for the call already "),a("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),a("h1",{attrs:{id:"call-recording"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),a("p",[e._v("On a final note, here is the recording of the full call, including the short presentation and community discussion on the project governance:")]),e._v(" "),a("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/vgeXcDd5KEE",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/174.a383a588.js b/assets/js/174.f9d7ef54.js similarity index 98% rename from assets/js/174.a383a588.js rename to assets/js/174.f9d7ef54.js index 0584a0dab..708b827eb 100644 --- a/assets/js/174.a383a588.js +++ b/assets/js/174.f9d7ef54.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{709:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on April 27"),o("sup",[e._v("th")]),e._v(" Keith Hughitt presented his ideas on how we can improve support for non-tabular data, and on how we could build a specification for describing the relationship between datasets. It took me some time to write this recap blog, because some of the reflections that Keith shared with us resonated very much with some of the thinking we have been doing at Open Knowledge Foundation around governance. I had explained during the "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2023/04/06/march-community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("March community call"),o("OutboundLink")],1),e._v(" that the governance of the specs has been recently unblocked, and we are starting to think about how to get to v2. It was actually Keith who urged me to do that presentation to clarify the project governance (and I am so glad he did!).")]),e._v(" "),o("p",[e._v("Keith’s main goals are pretty clear: 1. He wants datasets to be soft contained and well defined enough to be combinable with minimal effort. Datasets should function like lego blocks, which is the way Frictionless Data works too. 2. He wants transparency on how the data is processed and communicated, as this is key to reproducibility.")]),e._v(" "),o("p",[e._v("At the moment the Frictionless Data specs have a strong focus on tabular data, and Keith would like to extend that same kind of support to other types of data as well. Having some kind of common spec would be very useful for all those who work with more than one type of data, and he feels something can be done to make that work easier.")]),e._v(" "),o("h3",{attrs:{id:"so-what-does-keith-have-in-mind"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#so-what-does-keith-have-in-mind"}},[e._v("#")]),e._v(" So what does Keith have in mind?")]),e._v(" "),o("p",[e._v("He argues that we should separate the description of structure (data types) and domain (fields that are included in one discipline). This is easy to achieve because Frictionless is modular by design.")]),e._v(" "),o("p",[e._v("We should take some intentional action to design a high-level model, so that even if we leave it to community members to build domain-specific specs, the core Frictionless team at Open Knowledge Foundation would oversee that they all still have a common core data model which allows all the different extensions to interact easily.")]),e._v(" "),o("p",[e._v("Keith suggests using a mix-in approach, where the domain-specific schema would be made by combining specs (data type/structure + data domain). This would make sense to avoid redundancy in the code structure.")]),e._v(" "),o("p",[e._v("It would be important to have a working group with representatives from different disciplines, and working in different capacities, to build together this common data model in a way that really fits the needs of everyone (or at least find some minimal common ground). This is exactly the direction we would like the project to move forward. We are working on it, so stay tuned!")]),e._v(" "),o("p",[e._v("Meanwhile, if you want to know more about Keith’s ideas, you can watch the recording of his presentation:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/UhRYtkYDHsM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on May 25"),o("sup",[e._v("th")]),e._v(".")]),e._v(" "),o("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(", or come and tell us on our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),o("OutboundLink")],1),e._v("(also accessible via a "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/qL3uBfer1sA",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[174],{710:function(e,t,o){"use strict";o.r(t);var a=o(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("At our last community call on April 27"),o("sup",[e._v("th")]),e._v(" Keith Hughitt presented his ideas on how we can improve support for non-tabular data, and on how we could build a specification for describing the relationship between datasets. It took me some time to write this recap blog, because some of the reflections that Keith shared with us resonated very much with some of the thinking we have been doing at Open Knowledge Foundation around governance. I had explained during the "),o("a",{attrs:{href:"https://frictionlessdata.io/blog/2023/04/06/march-community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("March community call"),o("OutboundLink")],1),e._v(" that the governance of the specs has been recently unblocked, and we are starting to think about how to get to v2. It was actually Keith who urged me to do that presentation to clarify the project governance (and I am so glad he did!).")]),e._v(" "),o("p",[e._v("Keith’s main goals are pretty clear: 1. He wants datasets to be soft contained and well defined enough to be combinable with minimal effort. Datasets should function like lego blocks, which is the way Frictionless Data works too. 2. He wants transparency on how the data is processed and communicated, as this is key to reproducibility.")]),e._v(" "),o("p",[e._v("At the moment the Frictionless Data specs have a strong focus on tabular data, and Keith would like to extend that same kind of support to other types of data as well. Having some kind of common spec would be very useful for all those who work with more than one type of data, and he feels something can be done to make that work easier.")]),e._v(" "),o("h3",{attrs:{id:"so-what-does-keith-have-in-mind"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#so-what-does-keith-have-in-mind"}},[e._v("#")]),e._v(" So what does Keith have in mind?")]),e._v(" "),o("p",[e._v("He argues that we should separate the description of structure (data types) and domain (fields that are included in one discipline). This is easy to achieve because Frictionless is modular by design.")]),e._v(" "),o("p",[e._v("We should take some intentional action to design a high-level model, so that even if we leave it to community members to build domain-specific specs, the core Frictionless team at Open Knowledge Foundation would oversee that they all still have a common core data model which allows all the different extensions to interact easily.")]),e._v(" "),o("p",[e._v("Keith suggests using a mix-in approach, where the domain-specific schema would be made by combining specs (data type/structure + data domain). This would make sense to avoid redundancy in the code structure.")]),e._v(" "),o("p",[e._v("It would be important to have a working group with representatives from different disciplines, and working in different capacities, to build together this common data model in a way that really fits the needs of everyone (or at least find some minimal common ground). This is exactly the direction we would like the project to move forward. We are working on it, so stay tuned!")]),e._v(" "),o("p",[e._v("Meanwhile, if you want to know more about Keith’s ideas, you can watch the recording of his presentation:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/UhRYtkYDHsM",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),o("h1",{attrs:{id:"join-us-next-month"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-next-month"}},[e._v("#")]),e._v(" Join us next month!")]),e._v(" "),o("p",[e._v("Next community call is on May 25"),o("sup",[e._v("th")]),e._v(".")]),e._v(" "),o("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(", or come and tell us on our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),o("OutboundLink")],1),e._v("(also accessible via a "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/qL3uBfer1sA",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/177.76c81c00.js b/assets/js/177.6c30d8b5.js similarity index 98% rename from assets/js/177.76c81c00.js rename to assets/js/177.6c30d8b5.js index aec5864c3..1cbade261 100644 --- a/assets/js/177.76c81c00.js +++ b/assets/js/177.6c30d8b5.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[177],{713:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("After 2 long months of absence, our monthly community call was finally back on September 28"),o("sup",[e._v("th")]),e._v(", with some very exciting news! Our Tech Lead Evgeny Karev presented the work that has absorbed so much of his and Shashi Gharti’s time in the last months: the Frictionless no-code application "),o("a",{attrs:{href:"https://opendataeditor.okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Editor"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The problem that inspired this new tool is that still today there is no easy tool to manage and publish data for those who don’t have technical skills. The new Open Data Editor offers the possibility to access all Frictionless functionalities without having to write one single line of code, nor open your shell. Like most Frictionless products, Open Data Editor focuses on tabular data, and it can easily open big files because it uses the "),o("code",[e._v("database")]),e._v(" under the hood (similarly to CKAN). You can use it to edit metadata, and declare some rules for opening that you can share with your collaborators, making your data more reproducible.")]),e._v(" "),o("p",[e._v("You can use it to create data visualisation with VegaLite, but Open Data Editor has also an AI support, which you can use to create charts for you, in case you don’t know how to use the VegaLite specifications. You can also publish data stories, and much much more! Check out Evgeny’s presentation to see all the great features of the Open Data Editor:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/a0IyJPSmJyY?si=xOfI7YmS4EsVcKlp",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),o("p",[e._v("The application is still a work in progress, but if you would like to try it out that’s of course absolutely possible, and we would love it if you could give us feedback, so please let us know if you spot anything weird. To make the experience smoother, we have a detailed "),o("a",{attrs:{href:"https://opendataeditor.okfn.org/documentation/getting-started/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation website"),o("OutboundLink")],1),e._v(" you can consult.")]),e._v(" "),o("h1",{attrs:{id:"join-us-in-october"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-in-october"}},[e._v("#")]),e._v(" Join us in October!")]),e._v(" "),o("p",[e._v("Next community call is on October 26"),o("sup",[e._v("th")]),e._v(", join us to hear exciting news about the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless specs"),o("OutboundLink")],1),e._v(" update!")]),e._v(" "),o("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(", or come and tell us on our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),o("OutboundLink")],1),e._v("(also accessible via a "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kxB7NZiXF4A?si=5tb2LrJFJaChP-dR",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[177],{715:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("After 2 long months of absence, our monthly community call was finally back on September 28"),o("sup",[e._v("th")]),e._v(", with some very exciting news! Our Tech Lead Evgeny Karev presented the work that has absorbed so much of his and Shashi Gharti’s time in the last months: the Frictionless no-code application "),o("a",{attrs:{href:"https://opendataeditor.okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Editor"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The problem that inspired this new tool is that still today there is no easy tool to manage and publish data for those who don’t have technical skills. The new Open Data Editor offers the possibility to access all Frictionless functionalities without having to write one single line of code, nor open your shell. Like most Frictionless products, Open Data Editor focuses on tabular data, and it can easily open big files because it uses the "),o("code",[e._v("database")]),e._v(" under the hood (similarly to CKAN). You can use it to edit metadata, and declare some rules for opening that you can share with your collaborators, making your data more reproducible.")]),e._v(" "),o("p",[e._v("You can use it to create data visualisation with VegaLite, but Open Data Editor has also an AI support, which you can use to create charts for you, in case you don’t know how to use the VegaLite specifications. You can also publish data stories, and much much more! Check out Evgeny’s presentation to see all the great features of the Open Data Editor:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/a0IyJPSmJyY?si=xOfI7YmS4EsVcKlp",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}}),e._v(" "),o("p",[e._v("The application is still a work in progress, but if you would like to try it out that’s of course absolutely possible, and we would love it if you could give us feedback, so please let us know if you spot anything weird. To make the experience smoother, we have a detailed "),o("a",{attrs:{href:"https://opendataeditor.okfn.org/documentation/getting-started/",target:"_blank",rel:"noopener noreferrer"}},[e._v("documentation website"),o("OutboundLink")],1),e._v(" you can consult.")]),e._v(" "),o("h1",{attrs:{id:"join-us-in-october"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#join-us-in-october"}},[e._v("#")]),e._v(" Join us in October!")]),e._v(" "),o("p",[e._v("Next community call is on October 26"),o("sup",[e._v("th")]),e._v(", join us to hear exciting news about the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless specs"),o("OutboundLink")],1),e._v(" update!")]),e._v(" "),o("p",[e._v("Do you have something you would like to present to the community at one of the upcoming calls? Let us know via "),o("a",{attrs:{href:"https://forms.gle/AWpbxyiGESNSUFK2A",target:"_blank",rel:"noopener noreferrer"}},[e._v("this form"),o("OutboundLink")],1),e._v(", or come and tell us on our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[e._v("community chat on Slack"),o("OutboundLink")],1),e._v("(also accessible via a "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Matrix bridge"),o("OutboundLink")],1),e._v(" if you prefer to use an open protocol) .")]),e._v(" "),o("p",[e._v("You can sign up for the call already "),o("a",{attrs:{href:"https://docs.google.com/forms/d/e/1FAIpQLSeuNCopxXauMkrWvF6VHqOyHMcy54SfNDOseVXfWRQZWkvqjQ/viewform?usp=sf_link",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(". Do you want to share something with the community? Let us know when you sign up.")]),e._v(" "),o("h1",{attrs:{id:"call-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#call-recording"}},[e._v("#")]),e._v(" Call Recording")]),e._v(" "),o("p",[e._v("On a final note, here is the recording of the full call:")]),e._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/kxB7NZiXF4A?si=5tb2LrJFJaChP-dR",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:""}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/179.f682fc74.js b/assets/js/179.f8776ac9.js similarity index 99% rename from assets/js/179.f682fc74.js rename to assets/js/179.f8776ac9.js index 9e256b939..7f15d8d21 100644 --- a/assets/js/179.f682fc74.js +++ b/assets/js/179.f8776ac9.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{715:function(e,t,i){"use strict";i.r(t);var a=i(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("p",[e._v("We are very pleased to announce that thanks to the generous support of "),i("a",{attrs:{href:"https://nlnet.nl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("NLnet"),i("OutboundLink")],1),e._v(" we have kickstarted the "),i("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless specifications"),i("OutboundLink")],1),e._v(" update.")]),e._v(" "),i("p",[e._v("After a first discussion with the community in "),i("a",{attrs:{href:"https://frictionlessdata.io/blog/2023/11/06/community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the last call"),i("OutboundLink")],1),e._v(", we are setting up a working group to help us with the v2 release.")]),e._v(" "),i("p",[e._v("Taking into account the group’s concerns about the shortness of the initial timeline we proposed, we were able to work out an extension of the initial time frame until mid-2024. We are now aiming at "),i("strong",[e._v("releasing the v2 of the Frictionless specs by June 2024")]),e._v(".")]),e._v(" "),i("h1",{attrs:{id:"goal"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#goal"}},[e._v("#")]),e._v(" Goal")]),e._v(" "),i("p",[i("strong",[e._v("Our overarching goal is to make the Frictionless specs")]),e._v(", namely the Data Package, Data Resource, File Dialect, and Table Schema standards, "),i("strong",[e._v("a finished product")]),e._v(", establishing a sustainable mechanism for future maintenance extension.")]),e._v(" "),i("p",[e._v("The modular approach will of course still be the cornerstone of the Frictionless specs v2, and we won’t introduce any breaking changes.")]),e._v(" "),i("h2",{attrs:{id:"additional-deliverables"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#additional-deliverables"}},[e._v("#")]),e._v(" Additional deliverables:")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Together with the working group, we will start a reference collection of data types we want the v2 to support in a GitHub issue.")])]),e._v(" "),i("li",[i("p",[e._v("We will work with leading data publishing portals, namely CKAN and Zenodo, to provide native Data Package export integration.")])]),e._v(" "),i("li",[i("p",[e._v("The Frictionless core team at OKFN, will work on a new small Python library, a metadata mapper, with the objective of making it simpler to create standard extensions, and being able to use it in the data publishing systems integrations (Zenodo/CKAN/etc).")])]),e._v(" "),i("li",[i("p",[e._v("A new website and new documentation will be published, with improved technical language and better accessibility.")])])]),e._v(" "),i("h1",{attrs:{id:"roadmap"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#roadmap"}},[e._v("#")]),e._v(" Roadmap")]),e._v(" "),i("p",[e._v("The project roadmap will be mainly guided by the list of issues submitted by the community throughout the years, and collected "),i("a",{attrs:{href:"https://github.com/frictionlessdata/specs/milestone/6",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),i("OutboundLink")],1),e._v(".")]),e._v(" "),i("h1",{attrs:{id:"social-aspect"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#social-aspect"}},[e._v("#")]),e._v(" Social Aspect")]),e._v(" "),i("p",[e._v("We will hold "),i("strong",[e._v("monthly update calls")]),e._v(" for the working group, which are of course not compulsory, and which will be open to the broader community too. In parallel "),i("strong",[e._v("we will work asynchronously with the working group, using a review model")]),e._v(" for any changes in the specifications themselves.")]),e._v(" "),i("h1",{attrs:{id:"decision-making"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#decision-making"}},[e._v("#")]),e._v(" Decision-making")]),e._v(" "),i("p",[e._v("For every GitHub issue on the specs submitted by the community throughout the years, the Frictionless core team or any working group member will propose a recommended action to the working group. The action proposed will be "),i("strong",[e._v("accepted if consensus with the working group is reached")]),e._v(", meaning we have arrived at a decision, or at least a compromise, that everyone can live with.")]),e._v(" "),i("p",[e._v("The working group will be invited to share their view in a devoted GitHub issue. If a broader conversation is needed, the proposal discussion can be elevated to the monthly call for deliberation. The working group will be given a reasonable amount of time to review the proposed action.")]),e._v(" "),i("p",[i("strong",[e._v("Consensus is reached and the issue is closed if at least ⅔ of the working group members participate in the discussion and express their favourable opinion")]),e._v(". In case of serious and explicitly stated concerns, working group members who are core library investors (at the moment: OKFN, INBO, Datopian) may veto a proposed action.")]),e._v(" "),i("p",[e._v("The community manager at OKFN will reach out to working group members who did not participate in the discussion to make sure their opinion is also captured. We want to ensure that reminders of your participation are handled with care. You can expect a gentle and considerate approach, such as receiving an email once every two weeks highlighting any issues where your vote is pending. Our goal is to keep you informed without causing any unnecessary inconvenience, so you can feel confident and at ease with the process")]),e._v(" "),i("p",[e._v("Decision-making on the technical maintenance of the specs will be centralised by OKFN.")]),e._v(" "),i("h1",{attrs:{id:"diversity"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#diversity"}},[e._v("#")]),e._v(" Diversity")]),e._v(" "),i("p",[e._v("Leveraging diversity is an opportunity that we must embrace for the benefits it brings. Extensive research consistently demonstrates that diverse participation leads to better outcomes and more resilient technologies — diverse communities are unequivocally stronger communities.")]),e._v(" "),i("p",[e._v("We acknowledge the need for greater diversity in our community, and we understand that fostering diversity, equity, and inclusion requires substantial effort. We cannot underestimate the challenges before us. Confronting the deep-rooted and centuries-old racist components of our system is a huge challenge, and we understand that achieving racial equity is a continual journey with no predefined endpoint.")]),e._v(" "),i("p",[e._v("Our mission is to build equity within our community, fostering inclusion and amplifying diversity across all aspects of the Frictionless project. For our specs update, we are proactively encouraging every member of the community involved in the working group to identify and invite candidates interested in contributing to the update work, with a particular emphasis on enhancing the diversity of our group.")]),e._v(" "),i("p",[e._v("We welcome contributors from diverse backgrounds, recognising that individuals with varied experiences bring forth new and innovative ideas that help create an inclusive and welcoming ecosystem. Our goal is to create an inclusive and friendly environment based on mutual respect and exchange, ensuring that no one feels isolated, and everyone is motivated to actively contribute to the project’s development.")]),e._v(" "),i("p",[e._v("Acknowledging the ethical imperative, we understand that recruiting individuals into a community historically designed to exclude them is neither ethical nor effective without adequate support. We therefore prioritise transparency with new community members, providing a "),i("a",{attrs:{href:"https://frictionlessdata.io/work-with-us/contribute/",target:"_blank",rel:"noopener noreferrer"}},[e._v("contributor’s guide"),i("OutboundLink")],1),e._v(", a "),i("a",{attrs:{href:"https://frictionlessdata.io/development/roadmap/",target:"_blank",rel:"noopener noreferrer"}},[e._v("published roadmap"),i("OutboundLink")],1),e._v(", and comprehensive documentation to ensure clarity and support throughout their engagement. Our "),i("a",{attrs:{href:"https://frictionlessdata.io/work-with-us/code-of-conduct/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Code of Conduct"),i("OutboundLink")],1),e._v(" applies to all activities linked to the Frictionless Data project, and it is enforced by our community manager. As part of this project, we will make it a priority to enhance the accessibility of our documentation and website, aiming to make them as inclusive as possible.")]),e._v(" "),i("p",[e._v("We welcome any other suggestions that would help us enhance diversity, equity, and inclusion in our work. Please let us know if you have a good idea to share!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[179],{717:function(e,t,i){"use strict";i.r(t);var a=i(29),n=Object(a.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("p",[e._v("We are very pleased to announce that thanks to the generous support of "),i("a",{attrs:{href:"https://nlnet.nl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("NLnet"),i("OutboundLink")],1),e._v(" we have kickstarted the "),i("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless specifications"),i("OutboundLink")],1),e._v(" update.")]),e._v(" "),i("p",[e._v("After a first discussion with the community in "),i("a",{attrs:{href:"https://frictionlessdata.io/blog/2023/11/06/community-call/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the last call"),i("OutboundLink")],1),e._v(", we are setting up a working group to help us with the v2 release.")]),e._v(" "),i("p",[e._v("Taking into account the group’s concerns about the shortness of the initial timeline we proposed, we were able to work out an extension of the initial time frame until mid-2024. We are now aiming at "),i("strong",[e._v("releasing the v2 of the Frictionless specs by June 2024")]),e._v(".")]),e._v(" "),i("h1",{attrs:{id:"goal"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#goal"}},[e._v("#")]),e._v(" Goal")]),e._v(" "),i("p",[i("strong",[e._v("Our overarching goal is to make the Frictionless specs")]),e._v(", namely the Data Package, Data Resource, File Dialect, and Table Schema standards, "),i("strong",[e._v("a finished product")]),e._v(", establishing a sustainable mechanism for future maintenance extension.")]),e._v(" "),i("p",[e._v("The modular approach will of course still be the cornerstone of the Frictionless specs v2, and we won’t introduce any breaking changes.")]),e._v(" "),i("h2",{attrs:{id:"additional-deliverables"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#additional-deliverables"}},[e._v("#")]),e._v(" Additional deliverables:")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Together with the working group, we will start a reference collection of data types we want the v2 to support in a GitHub issue.")])]),e._v(" "),i("li",[i("p",[e._v("We will work with leading data publishing portals, namely CKAN and Zenodo, to provide native Data Package export integration.")])]),e._v(" "),i("li",[i("p",[e._v("The Frictionless core team at OKFN, will work on a new small Python library, a metadata mapper, with the objective of making it simpler to create standard extensions, and being able to use it in the data publishing systems integrations (Zenodo/CKAN/etc).")])]),e._v(" "),i("li",[i("p",[e._v("A new website and new documentation will be published, with improved technical language and better accessibility.")])])]),e._v(" "),i("h1",{attrs:{id:"roadmap"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#roadmap"}},[e._v("#")]),e._v(" Roadmap")]),e._v(" "),i("p",[e._v("The project roadmap will be mainly guided by the list of issues submitted by the community throughout the years, and collected "),i("a",{attrs:{href:"https://github.com/frictionlessdata/specs/milestone/6",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),i("OutboundLink")],1),e._v(".")]),e._v(" "),i("h1",{attrs:{id:"social-aspect"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#social-aspect"}},[e._v("#")]),e._v(" Social Aspect")]),e._v(" "),i("p",[e._v("We will hold "),i("strong",[e._v("monthly update calls")]),e._v(" for the working group, which are of course not compulsory, and which will be open to the broader community too. In parallel "),i("strong",[e._v("we will work asynchronously with the working group, using a review model")]),e._v(" for any changes in the specifications themselves.")]),e._v(" "),i("h1",{attrs:{id:"decision-making"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#decision-making"}},[e._v("#")]),e._v(" Decision-making")]),e._v(" "),i("p",[e._v("For every GitHub issue on the specs submitted by the community throughout the years, the Frictionless core team or any working group member will propose a recommended action to the working group. The action proposed will be "),i("strong",[e._v("accepted if consensus with the working group is reached")]),e._v(", meaning we have arrived at a decision, or at least a compromise, that everyone can live with.")]),e._v(" "),i("p",[e._v("The working group will be invited to share their view in a devoted GitHub issue. If a broader conversation is needed, the proposal discussion can be elevated to the monthly call for deliberation. The working group will be given a reasonable amount of time to review the proposed action.")]),e._v(" "),i("p",[i("strong",[e._v("Consensus is reached and the issue is closed if at least ⅔ of the working group members participate in the discussion and express their favourable opinion")]),e._v(". In case of serious and explicitly stated concerns, working group members who are core library investors (at the moment: OKFN, INBO, Datopian) may veto a proposed action.")]),e._v(" "),i("p",[e._v("The community manager at OKFN will reach out to working group members who did not participate in the discussion to make sure their opinion is also captured. We want to ensure that reminders of your participation are handled with care. You can expect a gentle and considerate approach, such as receiving an email once every two weeks highlighting any issues where your vote is pending. Our goal is to keep you informed without causing any unnecessary inconvenience, so you can feel confident and at ease with the process")]),e._v(" "),i("p",[e._v("Decision-making on the technical maintenance of the specs will be centralised by OKFN.")]),e._v(" "),i("h1",{attrs:{id:"diversity"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#diversity"}},[e._v("#")]),e._v(" Diversity")]),e._v(" "),i("p",[e._v("Leveraging diversity is an opportunity that we must embrace for the benefits it brings. Extensive research consistently demonstrates that diverse participation leads to better outcomes and more resilient technologies — diverse communities are unequivocally stronger communities.")]),e._v(" "),i("p",[e._v("We acknowledge the need for greater diversity in our community, and we understand that fostering diversity, equity, and inclusion requires substantial effort. We cannot underestimate the challenges before us. Confronting the deep-rooted and centuries-old racist components of our system is a huge challenge, and we understand that achieving racial equity is a continual journey with no predefined endpoint.")]),e._v(" "),i("p",[e._v("Our mission is to build equity within our community, fostering inclusion and amplifying diversity across all aspects of the Frictionless project. For our specs update, we are proactively encouraging every member of the community involved in the working group to identify and invite candidates interested in contributing to the update work, with a particular emphasis on enhancing the diversity of our group.")]),e._v(" "),i("p",[e._v("We welcome contributors from diverse backgrounds, recognising that individuals with varied experiences bring forth new and innovative ideas that help create an inclusive and welcoming ecosystem. Our goal is to create an inclusive and friendly environment based on mutual respect and exchange, ensuring that no one feels isolated, and everyone is motivated to actively contribute to the project’s development.")]),e._v(" "),i("p",[e._v("Acknowledging the ethical imperative, we understand that recruiting individuals into a community historically designed to exclude them is neither ethical nor effective without adequate support. We therefore prioritise transparency with new community members, providing a "),i("a",{attrs:{href:"https://frictionlessdata.io/work-with-us/contribute/",target:"_blank",rel:"noopener noreferrer"}},[e._v("contributor’s guide"),i("OutboundLink")],1),e._v(", a "),i("a",{attrs:{href:"https://frictionlessdata.io/development/roadmap/",target:"_blank",rel:"noopener noreferrer"}},[e._v("published roadmap"),i("OutboundLink")],1),e._v(", and comprehensive documentation to ensure clarity and support throughout their engagement. Our "),i("a",{attrs:{href:"https://frictionlessdata.io/work-with-us/code-of-conduct/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Code of Conduct"),i("OutboundLink")],1),e._v(" applies to all activities linked to the Frictionless Data project, and it is enforced by our community manager. As part of this project, we will make it a priority to enhance the accessibility of our documentation and website, aiming to make them as inclusive as possible.")]),e._v(" "),i("p",[e._v("We welcome any other suggestions that would help us enhance diversity, equity, and inclusion in our work. Please let us know if you have a good idea to share!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/18.d28fc2eb.js b/assets/js/18.c75398be.js similarity index 96% rename from assets/js/18.d28fc2eb.js rename to assets/js/18.c75398be.js index f469867a2..e27b63a35 100644 --- a/assets/js/18.d28fc2eb.js +++ b/assets/js/18.c75398be.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{426:function(t,e,a){t.exports=a.p+"assets/img/zegami-2.bea8693b.gif"},427:function(t,e,a){t.exports=a.p+"assets/img/zegami-3.78fb1690.gif"},428:function(t,e,a){t.exports=a.p+"assets/img/zegami-1.3b35c73b.jpg"},576:function(t,e,a){"use strict";a.r(e);var s=a(29),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[s("a",{attrs:{href:"https://www.zegami.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Zegami"),s("OutboundLink")],1),t._v(" makes information more visual and accessible, enabling intuitive exploration, search and discovery of large data sets. Zegami combines the power of machine learning and human pattern recognition to reveal hidden insights and new perspectives.")]),t._v(" "),s("p",[s("img",{attrs:{src:a(426),alt:"imagesearch"}}),t._v(" "),s("br"),t._v(" "),s("em",[t._v("image search on Zegami")])]),t._v(" "),s("p",[t._v("It provides a more powerful tool for visual data than what’s possible with spreadsheets or typical business intelligence tools. By presenting data within a single field of view, Zegami enables users to easily discover patterns and correlations. Facilitating new insights and discoveries that would otherwise not be possible.")]),t._v(" "),s("p",[s("img",{attrs:{src:a(427),alt:"metadatasearch"}}),t._v(" "),s("br"),t._v(" "),s("em",[t._v("metadata search on Zegami")])]),t._v(" "),s("p",[t._v("For Zegami to shine, our users need to be able to easily import their data so they can get actionable insight with minimal fuss. In building an analytics platform we face the unique challenge of having to support a wide variety of data sources and formats. The challenge is compounded by the fact that the data we deal with is rarely clean.")]),t._v(" "),s("p",[t._v("At the onset, we also faced the challenge of how best to store and transmit data between our components and micro-services. In addition to an open, extensible and simple yet powerful data format, we wanted one that can preserve data types and formatting, and be parsed by all the client applications we use, which includes server-side applications, web clients and visualisation frameworks.")]),t._v(" "),s("p",[t._v("We first heard about messytables"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn1",id:"fnref1"}},[t._v("[1]")])]),t._v(" and of the data protocols site (currently Frictionless Data Specifications"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn2",id:"fnref2"}},[t._v("[2]")])]),t._v(") through a lightning talk at EuroSciPy 2015. This meant when we searched for various things around jsontableschema (now tableschema"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn3",id:"fnref3"}},[t._v("[3]")])]),t._v("), we landed on the Frictionless Data project.")]),t._v(" "),s("p",[t._v("We are currently using the specifications in the following ways:")]),t._v(" "),s("ul",[s("li",[t._v("We use tabulator.Stream"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn4",id:"fnref4"}},[t._v("[4]")])]),t._v(" to parse data on our back end.")]),t._v(" "),s("li",[t._v("We use schema infer from tableschema-py"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn5",id:"fnref5"}},[t._v("[5]")])]),t._v(" to store an extended json table schema to represent data structures in our system. We are also developing custom json parsers using json paths and the ijson library")])]),t._v(" "),s("p",[t._v("In the coming days, We plan on using")]),t._v(" "),s("ul",[s("li",[t._v("datapackage-pipelines"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn6",id:"fnref6"}},[t._v("[6]")])]),t._v(" as a spec for the way we treat joins and multi-step data operations in our system")]),t._v(" "),s("li",[t._v("tabulator in a polyglot persistence scenario"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn7",id:"fnref7"}},[t._v("[7]")])]),t._v(" - storing data in both storage buckets and either elasticsearch"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn8",id:"fnref8"}},[t._v("[8]")])]),t._v(" or another column store like "),s("a",{attrs:{href:"http://druid.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("druid.io"),s("OutboundLink")],1),t._v(".")])]),t._v(" "),s("p",[s("img",{attrs:{src:a(428),alt:"Diagram"}})]),t._v(" "),s("p",[t._v("Moving forward it would be interesting to see tableschema and tabulator as a communication protocol over websockets. This would allow for a really smooth experience when using handsontable"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn9",id:"fnref9"}},[t._v("[9]")])]),t._v(" spreadsheets with a datapackage of some kind. A socket-to-socket version of datapackage-pipelines which runs on container orchestration systems would also be interesting. There are few protocols similar to datapackage-pipelines, such as Dask"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn10",id:"fnref10"}},[t._v("[10]")])]),t._v(" which, although similar, is not serialisable and therefor unsuitable for applications where front end communication is necessary or where the pipelines need to be used by non-coders.")]),t._v(" "),s("p",[t._v("We are also keen to know more about repositories around the world that use datapackages"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn11",id:"fnref11"}},[t._v("[11]")])]),t._v(" so that we can import the data and show users and owners of those repositories the benefits of browsing and visualising data in Zegami.")]),t._v(" "),s("p",[t._v("In terms of other potential use cases, it would be useful to create a python-based alternative to the dreamfactory API server"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn12",id:"fnref12"}},[t._v("[12]")])]),t._v(". "),s("a",{attrs:{href:"http://wq.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("wqio"),s("OutboundLink")],1),t._v(" is one example, but it is quite hard to use and a lighter version would be great. Perhaps CKAN"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn13",id:"fnref13"}},[t._v("[13]")])]),t._v(" datastore could be licensed in a more open way?")]),t._v(" "),s("p",[t._v("In terms of the next steps for us, we are currently working on a SaaS implementation of Zegami which will dramatically reduce the effort required in order to start working with Zegami. We are then planning on developing a series of APIs so developers can create their own data transformation pipelines. One of our developers, Andrew Stretton, will be running Frictionless Data sessions at PyData London"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn14",id:"fnref14"}},[t._v("[14]")])]),t._v(" on Tuesday, October 3 and PyCon UK"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn15",id:"fnref15"}},[t._v("[15]")])]),t._v(" on Friday, October 27.")]),t._v(" "),s("hr",{staticClass:"footnotes-sep"}),t._v(" "),s("section",{staticClass:"footnotes"},[s("ol",{staticClass:"footnotes-list"},[s("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[s("p",[t._v("Library for parsing messy tabular data: "),s("a",{attrs:{href:"https://github.com/okfn/messytables",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/okfn/messytables"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[s("p",[t._v("Frictionless Data Specifications: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("specs"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[s("p",[t._v("Table Schema: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/table-schema"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[s("p",[t._v("Tabulator: library for reading and writing tabular data "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/tabulator-py"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[s("p",[t._v("Table Schema Python Library: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/tableschema-py"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[s("p",[t._v("Data Package Pipelines: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[s("p",[t._v("Polyglot Persistence: "),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Polyglot_persistence",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://en.wikipedia.org/wiki/Polyglot_persistence"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn8"}},[s("p",[t._v("Elastic Search: "),s("a",{attrs:{href:"https://www.elastic.co/products/elasticsearch",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.elastic.co/products/elasticsearch"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref8"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn9"}},[s("p",[t._v("Handsontable: Javascript spreadsheet component for web apps: "),s("a",{attrs:{href:"https://handsontable.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://handsontable.com"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref9"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn10"}},[s("p",[t._v("Dask Custom Graphs: "),s("a",{attrs:{href:"http://dask.pydata.org/en/latest/custom-graphs.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://dask.pydata.org/en/latest/custom-graphs.html"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref10"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn11"}},[s("p",[t._v("Data Packages: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/data-package"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref11"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn12"}},[s("p",[t._v("Dream Factory: "),s("a",{attrs:{href:"https://www.dreamfactory.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.dreamfactory.com/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref12"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn13"}},[s("p",[t._v("CKAN: Open Source Data Portal Platform: "),s("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://ckan.org"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref13"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn14"}},[s("p",[t._v("PyData London, October 2017 Meetup: "),s("a",{attrs:{href:"https://www.meetup.com/PyData-London-Meetup/events/243584161/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.meetup.com/PyData-London-Meetup/events/243584161/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref14"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn15"}},[s("p",[t._v("PyCon UK 2017 Schedule: "),s("a",{attrs:{href:"http://2017.pyconuk.org/schedule/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://2017.pyconuk.org/schedule/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref15"}},[t._v("↩︎")])])])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{425:function(t,e,a){t.exports=a.p+"assets/img/zegami-2.bea8693b.gif"},426:function(t,e,a){t.exports=a.p+"assets/img/zegami-3.78fb1690.gif"},427:function(t,e,a){t.exports=a.p+"assets/img/zegami-1.3b35c73b.jpg"},575:function(t,e,a){"use strict";a.r(e);var s=a(29),r=Object(s.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[s("a",{attrs:{href:"https://www.zegami.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Zegami"),s("OutboundLink")],1),t._v(" makes information more visual and accessible, enabling intuitive exploration, search and discovery of large data sets. Zegami combines the power of machine learning and human pattern recognition to reveal hidden insights and new perspectives.")]),t._v(" "),s("p",[s("img",{attrs:{src:a(425),alt:"imagesearch"}}),t._v(" "),s("br"),t._v(" "),s("em",[t._v("image search on Zegami")])]),t._v(" "),s("p",[t._v("It provides a more powerful tool for visual data than what’s possible with spreadsheets or typical business intelligence tools. By presenting data within a single field of view, Zegami enables users to easily discover patterns and correlations. Facilitating new insights and discoveries that would otherwise not be possible.")]),t._v(" "),s("p",[s("img",{attrs:{src:a(426),alt:"metadatasearch"}}),t._v(" "),s("br"),t._v(" "),s("em",[t._v("metadata search on Zegami")])]),t._v(" "),s("p",[t._v("For Zegami to shine, our users need to be able to easily import their data so they can get actionable insight with minimal fuss. In building an analytics platform we face the unique challenge of having to support a wide variety of data sources and formats. The challenge is compounded by the fact that the data we deal with is rarely clean.")]),t._v(" "),s("p",[t._v("At the onset, we also faced the challenge of how best to store and transmit data between our components and micro-services. In addition to an open, extensible and simple yet powerful data format, we wanted one that can preserve data types and formatting, and be parsed by all the client applications we use, which includes server-side applications, web clients and visualisation frameworks.")]),t._v(" "),s("p",[t._v("We first heard about messytables"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn1",id:"fnref1"}},[t._v("[1]")])]),t._v(" and of the data protocols site (currently Frictionless Data Specifications"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn2",id:"fnref2"}},[t._v("[2]")])]),t._v(") through a lightning talk at EuroSciPy 2015. This meant when we searched for various things around jsontableschema (now tableschema"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn3",id:"fnref3"}},[t._v("[3]")])]),t._v("), we landed on the Frictionless Data project.")]),t._v(" "),s("p",[t._v("We are currently using the specifications in the following ways:")]),t._v(" "),s("ul",[s("li",[t._v("We use tabulator.Stream"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn4",id:"fnref4"}},[t._v("[4]")])]),t._v(" to parse data on our back end.")]),t._v(" "),s("li",[t._v("We use schema infer from tableschema-py"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn5",id:"fnref5"}},[t._v("[5]")])]),t._v(" to store an extended json table schema to represent data structures in our system. We are also developing custom json parsers using json paths and the ijson library")])]),t._v(" "),s("p",[t._v("In the coming days, We plan on using")]),t._v(" "),s("ul",[s("li",[t._v("datapackage-pipelines"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn6",id:"fnref6"}},[t._v("[6]")])]),t._v(" as a spec for the way we treat joins and multi-step data operations in our system")]),t._v(" "),s("li",[t._v("tabulator in a polyglot persistence scenario"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn7",id:"fnref7"}},[t._v("[7]")])]),t._v(" - storing data in both storage buckets and either elasticsearch"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn8",id:"fnref8"}},[t._v("[8]")])]),t._v(" or another column store like "),s("a",{attrs:{href:"http://druid.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("druid.io"),s("OutboundLink")],1),t._v(".")])]),t._v(" "),s("p",[s("img",{attrs:{src:a(427),alt:"Diagram"}})]),t._v(" "),s("p",[t._v("Moving forward it would be interesting to see tableschema and tabulator as a communication protocol over websockets. This would allow for a really smooth experience when using handsontable"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn9",id:"fnref9"}},[t._v("[9]")])]),t._v(" spreadsheets with a datapackage of some kind. A socket-to-socket version of datapackage-pipelines which runs on container orchestration systems would also be interesting. There are few protocols similar to datapackage-pipelines, such as Dask"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn10",id:"fnref10"}},[t._v("[10]")])]),t._v(" which, although similar, is not serialisable and therefor unsuitable for applications where front end communication is necessary or where the pipelines need to be used by non-coders.")]),t._v(" "),s("p",[t._v("We are also keen to know more about repositories around the world that use datapackages"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn11",id:"fnref11"}},[t._v("[11]")])]),t._v(" so that we can import the data and show users and owners of those repositories the benefits of browsing and visualising data in Zegami.")]),t._v(" "),s("p",[t._v("In terms of other potential use cases, it would be useful to create a python-based alternative to the dreamfactory API server"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn12",id:"fnref12"}},[t._v("[12]")])]),t._v(". "),s("a",{attrs:{href:"http://wq.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("wqio"),s("OutboundLink")],1),t._v(" is one example, but it is quite hard to use and a lighter version would be great. Perhaps CKAN"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn13",id:"fnref13"}},[t._v("[13]")])]),t._v(" datastore could be licensed in a more open way?")]),t._v(" "),s("p",[t._v("In terms of the next steps for us, we are currently working on a SaaS implementation of Zegami which will dramatically reduce the effort required in order to start working with Zegami. We are then planning on developing a series of APIs so developers can create their own data transformation pipelines. One of our developers, Andrew Stretton, will be running Frictionless Data sessions at PyData London"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn14",id:"fnref14"}},[t._v("[14]")])]),t._v(" on Tuesday, October 3 and PyCon UK"),s("sup",{staticClass:"footnote-ref"},[s("a",{attrs:{href:"#fn15",id:"fnref15"}},[t._v("[15]")])]),t._v(" on Friday, October 27.")]),t._v(" "),s("hr",{staticClass:"footnotes-sep"}),t._v(" "),s("section",{staticClass:"footnotes"},[s("ol",{staticClass:"footnotes-list"},[s("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[s("p",[t._v("Library for parsing messy tabular data: "),s("a",{attrs:{href:"https://github.com/okfn/messytables",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/okfn/messytables"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[s("p",[t._v("Frictionless Data Specifications: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("specs"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[s("p",[t._v("Table Schema: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/table-schema"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[s("p",[t._v("Tabulator: library for reading and writing tabular data "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/tabulator-py"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[s("p",[t._v("Table Schema Python Library: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/tableschema-py"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[s("p",[t._v("Data Package Pipelines: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[s("p",[t._v("Polyglot Persistence: "),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Polyglot_persistence",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://en.wikipedia.org/wiki/Polyglot_persistence"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn8"}},[s("p",[t._v("Elastic Search: "),s("a",{attrs:{href:"https://www.elastic.co/products/elasticsearch",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.elastic.co/products/elasticsearch"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref8"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn9"}},[s("p",[t._v("Handsontable: Javascript spreadsheet component for web apps: "),s("a",{attrs:{href:"https://handsontable.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://handsontable.com"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref9"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn10"}},[s("p",[t._v("Dask Custom Graphs: "),s("a",{attrs:{href:"http://dask.pydata.org/en/latest/custom-graphs.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://dask.pydata.org/en/latest/custom-graphs.html"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref10"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn11"}},[s("p",[t._v("Data Packages: "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/data-package"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref11"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn12"}},[s("p",[t._v("Dream Factory: "),s("a",{attrs:{href:"https://www.dreamfactory.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.dreamfactory.com/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref12"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn13"}},[s("p",[t._v("CKAN: Open Source Data Portal Platform: "),s("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://ckan.org"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref13"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn14"}},[s("p",[t._v("PyData London, October 2017 Meetup: "),s("a",{attrs:{href:"https://www.meetup.com/PyData-London-Meetup/events/243584161/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.meetup.com/PyData-London-Meetup/events/243584161/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref14"}},[t._v("↩︎")])])]),t._v(" "),s("li",{staticClass:"footnote-item",attrs:{id:"fn15"}},[s("p",[t._v("PyCon UK 2017 Schedule: "),s("a",{attrs:{href:"http://2017.pyconuk.org/schedule/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://2017.pyconuk.org/schedule/"),s("OutboundLink")],1),t._v(" "),s("a",{staticClass:"footnote-backref",attrs:{href:"#fnref15"}},[t._v("↩︎")])])])])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/180.ff3a738b.js b/assets/js/180.65abe5f6.js similarity index 88% rename from assets/js/180.ff3a738b.js rename to assets/js/180.65abe5f6.js index a1da5ab00..ebb4e799b 100644 --- a/assets/js/180.ff3a738b.js +++ b/assets/js/180.65abe5f6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[180],{717:function(t,s,e){"use strict";e.r(s);var r=e(29),i=Object(r.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"frictionless-architecture"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-architecture"}},[this._v("#")]),this._v(" Frictionless Architecture")]),this._v(" "),s("p",[s("img",{attrs:{src:"/img/structure.png",alt:"Design"}})])])}),[],!1,null,null,null);s.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[180],{718:function(t,s,e){"use strict";e.r(s);var r=e(29),i=Object(r.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"frictionless-architecture"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-architecture"}},[this._v("#")]),this._v(" Frictionless Architecture")]),this._v(" "),s("p",[s("img",{attrs:{src:"/img/structure.png",alt:"Design"}})])])}),[],!1,null,null,null);s.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/181.823598de.js b/assets/js/181.acb29b3a.js similarity index 99% rename from assets/js/181.823598de.js rename to assets/js/181.acb29b3a.js index 6c72be984..55d41174f 100644 --- a/assets/js/181.823598de.js +++ b/assets/js/181.acb29b3a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[181],{718:function(e,s,t){"use strict";t.r(s);var r=t(29),o=Object(r.a)({},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"frictionless-process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-process"}},[e._v("#")]),e._v(" Frictionless Process")]),e._v(" "),t("p",[e._v("This document proposes a process to work on the technical side of the Frictionless Data project. The goal - have things manageable for a minimal price.")]),e._v(" "),t("h2",{attrs:{id:"project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#project"}},[e._v("#")]),e._v(" Project")]),e._v(" "),t("p",[e._v("The specific of the project is a huge amount of components and actors (repositories, issues, contributors etc). The process should be effective in handling this specific.")]),e._v(" "),t("h2",{attrs:{id:"process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#process"}},[e._v("#")]),e._v(" Process")]),e._v(" "),t("p",[e._v("The main idea to focus on getting things done and reduce the price of maintaining the process instead of trying to fully mimic some popular methodologies. We use different ideas from different methodologies.")]),e._v(" "),t("h2",{attrs:{id:"roles"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#roles"}},[e._v("#")]),e._v(" Roles")]),e._v(" "),t("ul",[t("li",[e._v("Product Owner (PO)")]),e._v(" "),t("li",[e._v("Product Manager (PM)")]),e._v(" "),t("li",[e._v("Developer Advocate (DA)")]),e._v(" "),t("li",[e._v("Technical Lead (TL)")]),e._v(" "),t("li",[e._v("Senior Developer (SD)")]),e._v(" "),t("li",[e._v("Junior Developer (JD)")])]),e._v(" "),t("h2",{attrs:{id:"board"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#board"}},[e._v("#")]),e._v(" Board")]),e._v(" "),t("p",[e._v("We use a kanban board located at "),t("a",{attrs:{href:"https://github.com/orgs/frictionlessdata/projects/2?fullscreen=true",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/orgs/frictionlessdata/projects/2?fullscreen=true"),t("OutboundLink")],1),e._v(" to work on the project. The board has following columns (ordered by issue stage):")]),e._v(" "),t("ul",[t("li",[e._v("Backlog - unprocessed issues without labels and processed issues with labels")]),e._v(" "),t("li",[e._v("Priority - prioritized issues planned for the next iterations (estimated and assigned)")]),e._v(" "),t("li",[e._v("Current - current iteration issues promoted on iteration planning (estimated and assigned)")]),e._v(" "),t("li",[e._v("Review - issues under review process")]),e._v(" "),t("li",[e._v("Done - completed issues")])]),e._v(" "),t("h2",{attrs:{id:"workflow"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#workflow"}},[e._v("#")]),e._v(" Workflow")]),e._v(" "),t("p",[e._v("The work on the project is a live process splitted into 2 weeks iterations between iteration plannings (including retrospection):")]),e._v(" "),t("ul",[t("li",[e._v("Inside an iteration assigned persons work on their current issues and subset of roles do issues processing and prioritizing")]),e._v(" "),t("li",[e._v("During the iteration planning the team moves issues from the Priority column to the Current column and assign persons. Instead of issue estimations assigned person approves amount of work for the current iteration as a high-level estimation.")])]),e._v(" "),t("h2",{attrs:{id:"milestones"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#milestones"}},[e._v("#")]),e._v(" Milestones")]),e._v(" "),t("p",[e._v("As milestones we use concrete achievements e.g. from our roadmap. It could be tools or spec versions like “spec-v1”. We don’t use the workflow related milestones like “current” of “backlog” managing it via the board labeling system.")]),e._v(" "),t("h2",{attrs:{id:"labels"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#labels"}},[e._v("#")]),e._v(" Labels")]),e._v(" "),t("p",[e._v("Aside internal waffle labels and helpers labels like “question” etc we use core color-coded labels based on SemVer. The main point of processing issues from Inbox to Backlog is to add one of this labels because we need to plan releases, breaking announces etc:")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://cloud.githubusercontent.com/assets/557395/17673693/f6391676-632a-11e6-9971-945623b68e16.png",alt:"labels"}})]),e._v(" "),t("h2",{attrs:{id:"assignments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#assignments"}},[e._v("#")]),e._v(" Assignments")]),e._v(" "),t("p",[e._v("Every issue in the Current column should be assigned to some person with meaning “this person should do some work on this issue to unblock it”. Assigned person should re-assign an issue for a current blocker. It provides a good real-time overview of the project.")]),e._v(" "),t("h2",{attrs:{id:"analysis"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#analysis"}},[e._v("#")]),e._v(" Analysis")]),e._v(" "),t("p",[e._v("After planning it’s highly recommended for an assigned person to write a short plan of how to solve the issue (could be a list of steps) and ask someone to check. This work could be done on some previous stages by subset of roles.")]),e._v(" "),t("h2",{attrs:{id:"branching"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#branching"}},[e._v("#")]),e._v(" Branching")]),e._v(" "),t("p",[e._v("We use Git Flow with some simplifications (see OKI coding standards). Master branch should always be “green” on tests and new features/fixes should go from pull requests. Direct committing to master could be allowed by subset of roles in some cases.")]),e._v(" "),t("h2",{attrs:{id:"pull-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-requests"}},[e._v("#")]),e._v(" Pull Requests")]),e._v(" "),t("p",[e._v("A pull request should be visually merged on the board to the corresponding issue using “It fixes #issue-number” sentence in the pull request description (initial comment). If there is no corresponding issue for the pull request it should be handled as an issue with labeling etc.")]),e._v(" "),t("h2",{attrs:{id:"reviews"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reviews"}},[e._v("#")]),e._v(" Reviews")]),e._v(" "),t("p",[e._v("After sending a pull request the author should assign the pull request to another person “asking” for a code review. After the review code should be merged to the codebase by the pull request author (or person having enough rights).")]),e._v(" "),t("h2",{attrs:{id:"documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),t("p",[e._v("By default documentation for a tool should be written in "),t("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),t("OutboundLink")],1),e._v(" not using additional files and folders. It should be clean and well-structured. API should be documented in the code as docstrings. We compile project level docs automatically.")]),e._v(" "),t("h2",{attrs:{id:"testings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#testings"}},[e._v("#")]),e._v(" Testings")]),e._v(" "),t("p",[e._v("Tests should be written using OKI coding standards. Start write tests from top (match high-level requirements) to bottom (if needed). The most high-level tests are implemented as testsuites on project level (integration tests between different tools).")]),e._v(" "),t("h2",{attrs:{id:"releasing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#releasing"}},[e._v("#")]),e._v(" Releasing")]),e._v(" "),t("p",[e._v("We use SemVer for versioning and Github Actions for testing and releasing/deployments. We prefer short release cycle (features and fixes could be released immediately). Releases should be configured using tags based on package examples workflow provided by OKI.")]),e._v(" "),t("p",[e._v("The release process:")]),e._v(" "),t("ul",[t("li",[e._v("merge changes to the main branch on GitHub\n"),t("ul",[t("li",[e._v("use “Squash and Merge”")]),e._v(" "),t("li",[e._v("use clean commit message")])])]),e._v(" "),t("li",[e._v("pull the changes locally")]),e._v(" "),t("li",[e._v("update the software version according to SemVer rules\n"),t("ul",[t("li",[e._v("in Python projets we use "),t("code",[e._v("/assets/VERSION")])]),e._v(" "),t("li",[e._v("in JavaScript projects we use standard "),t("code",[e._v("package.json")])])])]),e._v(" "),t("li",[e._v("update a CHANGELOG file adding info about new feature or important changes")]),e._v(" "),t("li",[e._v("run "),t("code",[e._v("main release")]),e._v(" (it will release automatically)")])]),e._v(" "),t("h2",{attrs:{id:"references"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#references"}},[e._v("#")]),e._v(" References")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/okfn/coding-standards",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International Coding Standards"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://mui.com/versions/#versioning-strategy",target:"_blank",rel:"noopener noreferrer"}},[e._v("MUI Versioning Strategy"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[181],{719:function(e,s,t){"use strict";t.r(s);var r=t(29),o=Object(r.a)({},(function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h1",{attrs:{id:"frictionless-process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-process"}},[e._v("#")]),e._v(" Frictionless Process")]),e._v(" "),t("p",[e._v("This document proposes a process to work on the technical side of the Frictionless Data project. The goal - have things manageable for a minimal price.")]),e._v(" "),t("h2",{attrs:{id:"project"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#project"}},[e._v("#")]),e._v(" Project")]),e._v(" "),t("p",[e._v("The specific of the project is a huge amount of components and actors (repositories, issues, contributors etc). The process should be effective in handling this specific.")]),e._v(" "),t("h2",{attrs:{id:"process"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#process"}},[e._v("#")]),e._v(" Process")]),e._v(" "),t("p",[e._v("The main idea to focus on getting things done and reduce the price of maintaining the process instead of trying to fully mimic some popular methodologies. We use different ideas from different methodologies.")]),e._v(" "),t("h2",{attrs:{id:"roles"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#roles"}},[e._v("#")]),e._v(" Roles")]),e._v(" "),t("ul",[t("li",[e._v("Product Owner (PO)")]),e._v(" "),t("li",[e._v("Product Manager (PM)")]),e._v(" "),t("li",[e._v("Developer Advocate (DA)")]),e._v(" "),t("li",[e._v("Technical Lead (TL)")]),e._v(" "),t("li",[e._v("Senior Developer (SD)")]),e._v(" "),t("li",[e._v("Junior Developer (JD)")])]),e._v(" "),t("h2",{attrs:{id:"board"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#board"}},[e._v("#")]),e._v(" Board")]),e._v(" "),t("p",[e._v("We use a kanban board located at "),t("a",{attrs:{href:"https://github.com/orgs/frictionlessdata/projects/2?fullscreen=true",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/orgs/frictionlessdata/projects/2?fullscreen=true"),t("OutboundLink")],1),e._v(" to work on the project. The board has following columns (ordered by issue stage):")]),e._v(" "),t("ul",[t("li",[e._v("Backlog - unprocessed issues without labels and processed issues with labels")]),e._v(" "),t("li",[e._v("Priority - prioritized issues planned for the next iterations (estimated and assigned)")]),e._v(" "),t("li",[e._v("Current - current iteration issues promoted on iteration planning (estimated and assigned)")]),e._v(" "),t("li",[e._v("Review - issues under review process")]),e._v(" "),t("li",[e._v("Done - completed issues")])]),e._v(" "),t("h2",{attrs:{id:"workflow"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#workflow"}},[e._v("#")]),e._v(" Workflow")]),e._v(" "),t("p",[e._v("The work on the project is a live process splitted into 2 weeks iterations between iteration plannings (including retrospection):")]),e._v(" "),t("ul",[t("li",[e._v("Inside an iteration assigned persons work on their current issues and subset of roles do issues processing and prioritizing")]),e._v(" "),t("li",[e._v("During the iteration planning the team moves issues from the Priority column to the Current column and assign persons. Instead of issue estimations assigned person approves amount of work for the current iteration as a high-level estimation.")])]),e._v(" "),t("h2",{attrs:{id:"milestones"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#milestones"}},[e._v("#")]),e._v(" Milestones")]),e._v(" "),t("p",[e._v("As milestones we use concrete achievements e.g. from our roadmap. It could be tools or spec versions like “spec-v1”. We don’t use the workflow related milestones like “current” of “backlog” managing it via the board labeling system.")]),e._v(" "),t("h2",{attrs:{id:"labels"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#labels"}},[e._v("#")]),e._v(" Labels")]),e._v(" "),t("p",[e._v("Aside internal waffle labels and helpers labels like “question” etc we use core color-coded labels based on SemVer. The main point of processing issues from Inbox to Backlog is to add one of this labels because we need to plan releases, breaking announces etc:")]),e._v(" "),t("p",[t("img",{attrs:{src:"https://cloud.githubusercontent.com/assets/557395/17673693/f6391676-632a-11e6-9971-945623b68e16.png",alt:"labels"}})]),e._v(" "),t("h2",{attrs:{id:"assignments"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#assignments"}},[e._v("#")]),e._v(" Assignments")]),e._v(" "),t("p",[e._v("Every issue in the Current column should be assigned to some person with meaning “this person should do some work on this issue to unblock it”. Assigned person should re-assign an issue for a current blocker. It provides a good real-time overview of the project.")]),e._v(" "),t("h2",{attrs:{id:"analysis"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#analysis"}},[e._v("#")]),e._v(" Analysis")]),e._v(" "),t("p",[e._v("After planning it’s highly recommended for an assigned person to write a short plan of how to solve the issue (could be a list of steps) and ask someone to check. This work could be done on some previous stages by subset of roles.")]),e._v(" "),t("h2",{attrs:{id:"branching"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#branching"}},[e._v("#")]),e._v(" Branching")]),e._v(" "),t("p",[e._v("We use Git Flow with some simplifications (see OKI coding standards). Master branch should always be “green” on tests and new features/fixes should go from pull requests. Direct committing to master could be allowed by subset of roles in some cases.")]),e._v(" "),t("h2",{attrs:{id:"pull-requests"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#pull-requests"}},[e._v("#")]),e._v(" Pull Requests")]),e._v(" "),t("p",[e._v("A pull request should be visually merged on the board to the corresponding issue using “It fixes #issue-number” sentence in the pull request description (initial comment). If there is no corresponding issue for the pull request it should be handled as an issue with labeling etc.")]),e._v(" "),t("h2",{attrs:{id:"reviews"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#reviews"}},[e._v("#")]),e._v(" Reviews")]),e._v(" "),t("p",[e._v("After sending a pull request the author should assign the pull request to another person “asking” for a code review. After the review code should be merged to the codebase by the pull request author (or person having enough rights).")]),e._v(" "),t("h2",{attrs:{id:"documentation"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),t("p",[e._v("By default documentation for a tool should be written in "),t("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),t("OutboundLink")],1),e._v(" not using additional files and folders. It should be clean and well-structured. API should be documented in the code as docstrings. We compile project level docs automatically.")]),e._v(" "),t("h2",{attrs:{id:"testings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#testings"}},[e._v("#")]),e._v(" Testings")]),e._v(" "),t("p",[e._v("Tests should be written using OKI coding standards. Start write tests from top (match high-level requirements) to bottom (if needed). The most high-level tests are implemented as testsuites on project level (integration tests between different tools).")]),e._v(" "),t("h2",{attrs:{id:"releasing"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#releasing"}},[e._v("#")]),e._v(" Releasing")]),e._v(" "),t("p",[e._v("We use SemVer for versioning and Github Actions for testing and releasing/deployments. We prefer short release cycle (features and fixes could be released immediately). Releases should be configured using tags based on package examples workflow provided by OKI.")]),e._v(" "),t("p",[e._v("The release process:")]),e._v(" "),t("ul",[t("li",[e._v("merge changes to the main branch on GitHub\n"),t("ul",[t("li",[e._v("use “Squash and Merge”")]),e._v(" "),t("li",[e._v("use clean commit message")])])]),e._v(" "),t("li",[e._v("pull the changes locally")]),e._v(" "),t("li",[e._v("update the software version according to SemVer rules\n"),t("ul",[t("li",[e._v("in Python projets we use "),t("code",[e._v("/assets/VERSION")])]),e._v(" "),t("li",[e._v("in JavaScript projects we use standard "),t("code",[e._v("package.json")])])])]),e._v(" "),t("li",[e._v("update a CHANGELOG file adding info about new feature or important changes")]),e._v(" "),t("li",[e._v("run "),t("code",[e._v("main release")]),e._v(" (it will release automatically)")])]),e._v(" "),t("h2",{attrs:{id:"references"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#references"}},[e._v("#")]),e._v(" References")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/okfn/coding-standards",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International Coding Standards"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("a",{attrs:{href:"https://mui.com/versions/#versioning-strategy",target:"_blank",rel:"noopener noreferrer"}},[e._v("MUI Versioning Strategy"),t("OutboundLink")],1)])])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/182.1a76ab0d.js b/assets/js/182.f00b8e77.js similarity index 98% rename from assets/js/182.1a76ab0d.js rename to assets/js/182.f00b8e77.js index c845cc74a..9fde4726f 100644 --- a/assets/js/182.1a76ab0d.js +++ b/assets/js/182.f00b8e77.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[182],{720:function(e,a,r){"use strict";r.r(a);var o=r(29),t=Object(o.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"junte-se-a-comunidade-de-frictionless-data-para-dois-dias-de-hackathon-virtual-em-7-e-8-de-outubro"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#junte-se-a-comunidade-de-frictionless-data-para-dois-dias-de-hackathon-virtual-em-7-e-8-de-outubro"}},[e._v("#")]),e._v(" Junte-se à comunidade de Frictionless Data para dois dias de Hackathon virtual em 7 e 8 de Outubro!")]),e._v(" "),r("blockquote",[r("p",[e._v("As inscrições já estão abertas no formulário: "),r("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://forms.gle/ZhrVfSBrNy2UPRZc9"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"o-que-e-um-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#o-que-e-um-hackathon"}},[e._v("#")]),e._v(" O que é um hackathon?")]),e._v(" "),r("p",[e._v("Você irá trabalhar com um grupo de outros usuários do Frictionless para criar novos protótipos baseados no código aberto do projeto. Por exemplo: usar a nova ferramenta "),r("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),r("OutboundLink")],1),e._v(" para criar sites de storytelling de dados ou o "),r("a",{attrs:{href:"https://components.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("React Components"),r("OutboundLink")],1),e._v(" para adicionar a camada de validação de dados da sua aplicação.")]),e._v(" "),r("h2",{attrs:{id:"quem-pode-participar-deste-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quem-pode-participar-deste-hackathon"}},[e._v("#")]),e._v(" Quem pode participar deste hackathon?")]),e._v(" "),r("p",[e._v("Nós estamos buscando contribuições de todos os tamanhos e níveis de habilidades! Algumas habilidades que você poderá trazer incluem: programação em Python (ou outras linguagens também!), escrever documentação, gestão de projetos, design, muitas ideias e muito entusiasmo! Você estará em um time para que vocês possam aprender e ajudar uns aos outros. Você não precisa ser familiarizado com o Frictionless ainda - poderá aprender durante o evento.")]),e._v(" "),r("h2",{attrs:{id:"por-que-eu-deveria-participar"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#por-que-eu-deveria-participar"}},[e._v("#")]),e._v(" Por que eu deveria participar?")]),e._v(" "),r("p",[e._v("Em primeiro lugar, porque vai ser divertido! Você conhecerá outros usuários do Frictionless e aprenderá algo novo. Esta também é uma oportunidade em que você terá o suporte contínuo da principal equipe do Frictionless para ajudar a realizar seu protótipo. Além disso, haverá prêmios (detalhes em breve).")]),e._v(" "),r("h2",{attrs:{id:"quando-o-hackathon-ocorrera"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quando-o-hackathon-ocorrera"}},[e._v("#")]),e._v(" Quando o hackathon ocorrerá?")]),e._v(" "),r("p",[e._v("O hackathon será virtual e ocorrerá de 7 a 8 de outubro. O evento terá início de madrugada em 7 de outubro e terminará de tarde em 8 de outubro no horário brasileiro (os horários exatos serão anunciados em breve). Isso permitirá que pessoas de todo o mundo participem em um período que seja bom para elas. Estaremos usando Github e Zoom para coordenar e trabalhar virtualmente. As equipes serão capazes de se formar desde antes para que possam se organizar e estarem prontos quando a hora chegar.")]),e._v(" "),r("h2",{attrs:{id:"quero-me-inscrever"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quero-me-inscrever"}},[e._v("#")]),e._v(" Quero me inscrever!")]),e._v(" "),r("p",[e._v("Use "),r("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[e._v("este formulário"),r("OutboundLink")],1),e._v(" para se registrar. O evento será gratuito e também teremos algumas bolsas para participantes que, de outra forma, não poderiam comparecer. Inscreva-se para uma bolsa de U$ 300 usando este "),r("a",{attrs:{href:"https://forms.gle/jwxVYjDYs31t1YmKA",target:"_blank",rel:"noopener noreferrer"}},[e._v("formulário de bolsa"),r("OutboundLink")],1)]),e._v(" "),r("h2",{attrs:{id:"quais-projetos-estarao-no-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quais-projetos-estarao-no-hackathon"}},[e._v("#")]),e._v(" Quais projetos estarão no Hackathon?")]),e._v(" "),r("p",[e._v("Os projetos vão desde um plug-in GeoJSON para frictionless-py, à código Python para trabalhar com Datapackages em CKAN, à criação de um site estático para listar todos os conjuntos de dados Frictionless no GitHub até à criação de novos tutoriais para código Frictionless."),r("br"),e._v("\nTodos os projetos serão adicionados ao painel do evento em "),r("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionless-hackathon.herokuapp.com/event/1#top"),r("OutboundLink")],1),e._v(", mantido por "),r("a",{attrs:{href:"https://dribdat.cc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DribDat"),r("OutboundLink")],1),e._v("."),r("br"),e._v("\nInteressado em trabalhar em seu próprio projeto? Envia-nos um email!")]),e._v(" "),r("h2",{attrs:{id:"eu-tenho-duvidas"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#eu-tenho-duvidas"}},[e._v("#")]),e._v(" Eu tenho dúvidas…")]),e._v(" "),r("p",[e._v("Envie um e-mail para "),r("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(" se você tiver dúvidas ou quiser apoiar o Hackathon.")])])}),[],!1,null,null,null);a.default=t.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[182],{721:function(e,a,r){"use strict";r.r(a);var o=r(29),t=Object(o.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"junte-se-a-comunidade-de-frictionless-data-para-dois-dias-de-hackathon-virtual-em-7-e-8-de-outubro"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#junte-se-a-comunidade-de-frictionless-data-para-dois-dias-de-hackathon-virtual-em-7-e-8-de-outubro"}},[e._v("#")]),e._v(" Junte-se à comunidade de Frictionless Data para dois dias de Hackathon virtual em 7 e 8 de Outubro!")]),e._v(" "),r("blockquote",[r("p",[e._v("As inscrições já estão abertas no formulário: "),r("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://forms.gle/ZhrVfSBrNy2UPRZc9"),r("OutboundLink")],1)])]),e._v(" "),r("h2",{attrs:{id:"o-que-e-um-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#o-que-e-um-hackathon"}},[e._v("#")]),e._v(" O que é um hackathon?")]),e._v(" "),r("p",[e._v("Você irá trabalhar com um grupo de outros usuários do Frictionless para criar novos protótipos baseados no código aberto do projeto. Por exemplo: usar a nova ferramenta "),r("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Livemark"),r("OutboundLink")],1),e._v(" para criar sites de storytelling de dados ou o "),r("a",{attrs:{href:"https://components.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("React Components"),r("OutboundLink")],1),e._v(" para adicionar a camada de validação de dados da sua aplicação.")]),e._v(" "),r("h2",{attrs:{id:"quem-pode-participar-deste-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quem-pode-participar-deste-hackathon"}},[e._v("#")]),e._v(" Quem pode participar deste hackathon?")]),e._v(" "),r("p",[e._v("Nós estamos buscando contribuições de todos os tamanhos e níveis de habilidades! Algumas habilidades que você poderá trazer incluem: programação em Python (ou outras linguagens também!), escrever documentação, gestão de projetos, design, muitas ideias e muito entusiasmo! Você estará em um time para que vocês possam aprender e ajudar uns aos outros. Você não precisa ser familiarizado com o Frictionless ainda - poderá aprender durante o evento.")]),e._v(" "),r("h2",{attrs:{id:"por-que-eu-deveria-participar"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#por-que-eu-deveria-participar"}},[e._v("#")]),e._v(" Por que eu deveria participar?")]),e._v(" "),r("p",[e._v("Em primeiro lugar, porque vai ser divertido! Você conhecerá outros usuários do Frictionless e aprenderá algo novo. Esta também é uma oportunidade em que você terá o suporte contínuo da principal equipe do Frictionless para ajudar a realizar seu protótipo. Além disso, haverá prêmios (detalhes em breve).")]),e._v(" "),r("h2",{attrs:{id:"quando-o-hackathon-ocorrera"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quando-o-hackathon-ocorrera"}},[e._v("#")]),e._v(" Quando o hackathon ocorrerá?")]),e._v(" "),r("p",[e._v("O hackathon será virtual e ocorrerá de 7 a 8 de outubro. O evento terá início de madrugada em 7 de outubro e terminará de tarde em 8 de outubro no horário brasileiro (os horários exatos serão anunciados em breve). Isso permitirá que pessoas de todo o mundo participem em um período que seja bom para elas. Estaremos usando Github e Zoom para coordenar e trabalhar virtualmente. As equipes serão capazes de se formar desde antes para que possam se organizar e estarem prontos quando a hora chegar.")]),e._v(" "),r("h2",{attrs:{id:"quero-me-inscrever"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quero-me-inscrever"}},[e._v("#")]),e._v(" Quero me inscrever!")]),e._v(" "),r("p",[e._v("Use "),r("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[e._v("este formulário"),r("OutboundLink")],1),e._v(" para se registrar. O evento será gratuito e também teremos algumas bolsas para participantes que, de outra forma, não poderiam comparecer. Inscreva-se para uma bolsa de U$ 300 usando este "),r("a",{attrs:{href:"https://forms.gle/jwxVYjDYs31t1YmKA",target:"_blank",rel:"noopener noreferrer"}},[e._v("formulário de bolsa"),r("OutboundLink")],1)]),e._v(" "),r("h2",{attrs:{id:"quais-projetos-estarao-no-hackathon"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#quais-projetos-estarao-no-hackathon"}},[e._v("#")]),e._v(" Quais projetos estarão no Hackathon?")]),e._v(" "),r("p",[e._v("Os projetos vão desde um plug-in GeoJSON para frictionless-py, à código Python para trabalhar com Datapackages em CKAN, à criação de um site estático para listar todos os conjuntos de dados Frictionless no GitHub até à criação de novos tutoriais para código Frictionless."),r("br"),e._v("\nTodos os projetos serão adicionados ao painel do evento em "),r("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionless-hackathon.herokuapp.com/event/1#top"),r("OutboundLink")],1),e._v(", mantido por "),r("a",{attrs:{href:"https://dribdat.cc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DribDat"),r("OutboundLink")],1),e._v("."),r("br"),e._v("\nInteressado em trabalhar em seu próprio projeto? Envia-nos um email!")]),e._v(" "),r("h2",{attrs:{id:"eu-tenho-duvidas"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#eu-tenho-duvidas"}},[e._v("#")]),e._v(" Eu tenho dúvidas…")]),e._v(" "),r("p",[e._v("Envie um e-mail para "),r("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("frictionlessdata@okfn.org")]),e._v(" se você tiver dúvidas ou quiser apoiar o Hackathon.")])])}),[],!1,null,null,null);a.default=t.exports}}]); \ No newline at end of file diff --git a/assets/js/183.6efd5d62.js b/assets/js/183.35379f02.js similarity index 98% rename from assets/js/183.6efd5d62.js rename to assets/js/183.35379f02.js index 68f9ad888..becd16fac 100644 --- a/assets/js/183.6efd5d62.js +++ b/assets/js/183.35379f02.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[183],{721:function(t,e,a){"use strict";a.r(e);var o=a(29),r=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"join-the-frictionless-data-community-for-a-two-day-virtual-hackathon-on-7-8-october"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-the-frictionless-data-community-for-a-two-day-virtual-hackathon-on-7-8-october"}},[t._v("#")]),t._v(" Join the Frictionless Data community for a two-day virtual Hackathon on 7-8 October!")]),t._v(" "),a("blockquote",[a("p",[t._v("Registration is now open using this form: "),a("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://forms.gle/ZhrVfSBrNy2UPRZc9"),a("OutboundLink")],1)])]),t._v(" "),a("blockquote",[a("p",[t._v("See the Participation Guide at the bottom for more info!")])]),t._v(" "),a("h2",{attrs:{id:"what-s-a-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-s-a-hackathon"}},[t._v("#")]),t._v(" What’s a hackathon?")]),t._v(" "),a("p",[t._v("You’ll work within a group of other Frictionless users to create new project prototypes based on existing Frictionless open source code. For example, use the new "),a("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Livemark"),a("OutboundLink")],1),t._v(" tool to create websites that display data-driven storytelling, or use Frictionless React "),a("a",{attrs:{href:"https://components.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Components"),a("OutboundLink")],1),t._v(" to add data validation to your application.")]),t._v(" "),a("h2",{attrs:{id:"who-should-participate-in-this-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#who-should-participate-in-this-hackathon"}},[t._v("#")]),t._v(" Who should participate in this hackathon?")]),t._v(" "),a("p",[t._v("We’re looking for contributions of all sizes and skill levels! Some skills that you would bring include: coding in Python (other languages supported too!), writing documentation, project management, having ideas, design skills, and general enthusiasm! You’ll be in a team, so you can learn from each other and help each other. You don’t have to be familiar with Frictionless yet - you can learn that during the event.")]),t._v(" "),a("h2",{attrs:{id:"why-should-i-participate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-should-i-participate"}},[t._v("#")]),t._v(" Why should I participate?")]),t._v(" "),a("p",[t._v("First of all, it will be fun! You’ll meet other Frictionless users and learn something new. This is also an opportunity where you’ll have the uninterrupted support of the Frictionless core team to help you realize your prototype. Also, there will be prizes (details to be announced later).")]),t._v(" "),a("h2",{attrs:{id:"when-will-the-hackathon-occur"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#when-will-the-hackathon-occur"}},[t._v("#")]),t._v(" When will the hackathon occur?")]),t._v(" "),a("p",[t._v("The hackathon will be virtual and occur on 7-8 October. The event will start at 9am CEST on 7 October, and will end at 6pm CEST on 8 October. This will allow people from around the world to participate during a time that works for them. We will be using Github and Zoom to coordinate and work virtually. Teams will be able to form before the event occurs so you can start coordinating early and hit the ground running.")]),t._v(" "),a("h2",{attrs:{id:"sign-me-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sign-me-up"}},[t._v("#")]),t._v(" Sign me up!")]),t._v(" "),a("p",[t._v("Use "),a("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[t._v("this form"),a("OutboundLink")],1),t._v(" to register. The event will be free, and we will also have some scholarships for attendees that would otherwise be unable to attend. Apply for a $300 scholarship using this "),a("a",{attrs:{href:"https://forms.gle/jwxVYjDYs31t1YmKA",target:"_blank",rel:"noopener noreferrer"}},[t._v("scholarship form"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"what-projects-will-be-at-the-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-projects-will-be-at-the-hackathon"}},[t._v("#")]),t._v(" What projects will be at the Hackathon?")]),t._v(" "),a("p",[t._v("Projects will range from a GeoJSON Plugin for frictionless-py, to Python code to work with Datapackages in CKAN, to creating a static site to list all the Frictionless datasets on GitHub, to creating new tutorials for Frictionless code."),a("br"),t._v("\nAll of the projects will be added to the event dashboard at "),a("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://frictionless-hackathon.herokuapp.com/event/1#top"),a("OutboundLink")],1),t._v(", powered by "),a("a",{attrs:{href:"https://dribdat.cc/",target:"_blank",rel:"noopener noreferrer"}},[t._v("DribDat"),a("OutboundLink")],1),t._v("."),a("br"),t._v("\nInterested in working on your own project? Email us!")]),t._v(" "),a("h2",{attrs:{id:"i-have-questions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-have-questions"}},[t._v("#")]),t._v(" I have questions…")]),t._v(" "),a("p",[t._v("Please email us at "),a("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[t._v("frictionlessdata@okfn.org")]),t._v(" if you have questions or would like to support the Hackathon.")]),t._v(" "),a("h1",{attrs:{id:"participation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#participation-guide"}},[t._v("#")]),t._v(" Participation Guide")]),t._v(" "),a("p",[t._v("("),a("a",{attrs:{href:"https://docs.google.com/document/d/e/2PACX-1vReWY9N26SbveoCM7Ra4wEry8k7a5rCa3UzpBijfU_mmyME58DRDKmu0QUmx75mif4367IZdtLijFzO/pub",target:"_blank",rel:"noopener noreferrer"}},[t._v("Here is a link to the Guide"),a("OutboundLink")],1),t._v(")")]),t._v(" "),a("iframe",{attrs:{width:"730",height:"500",src:"https://docs.google.com/document/d/e/2PACX-1vReWY9N26SbveoCM7Ra4wEry8k7a5rCa3UzpBijfU_mmyME58DRDKmu0QUmx75mif4367IZdtLijFzO/pub?embedded=true"}})])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[183],{724:function(t,e,a){"use strict";a.r(e);var o=a(29),r=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"join-the-frictionless-data-community-for-a-two-day-virtual-hackathon-on-7-8-october"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#join-the-frictionless-data-community-for-a-two-day-virtual-hackathon-on-7-8-october"}},[t._v("#")]),t._v(" Join the Frictionless Data community for a two-day virtual Hackathon on 7-8 October!")]),t._v(" "),a("blockquote",[a("p",[t._v("Registration is now open using this form: "),a("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://forms.gle/ZhrVfSBrNy2UPRZc9"),a("OutboundLink")],1)])]),t._v(" "),a("blockquote",[a("p",[t._v("See the Participation Guide at the bottom for more info!")])]),t._v(" "),a("h2",{attrs:{id:"what-s-a-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-s-a-hackathon"}},[t._v("#")]),t._v(" What’s a hackathon?")]),t._v(" "),a("p",[t._v("You’ll work within a group of other Frictionless users to create new project prototypes based on existing Frictionless open source code. For example, use the new "),a("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Livemark"),a("OutboundLink")],1),t._v(" tool to create websites that display data-driven storytelling, or use Frictionless React "),a("a",{attrs:{href:"https://components.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Components"),a("OutboundLink")],1),t._v(" to add data validation to your application.")]),t._v(" "),a("h2",{attrs:{id:"who-should-participate-in-this-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#who-should-participate-in-this-hackathon"}},[t._v("#")]),t._v(" Who should participate in this hackathon?")]),t._v(" "),a("p",[t._v("We’re looking for contributions of all sizes and skill levels! Some skills that you would bring include: coding in Python (other languages supported too!), writing documentation, project management, having ideas, design skills, and general enthusiasm! You’ll be in a team, so you can learn from each other and help each other. You don’t have to be familiar with Frictionless yet - you can learn that during the event.")]),t._v(" "),a("h2",{attrs:{id:"why-should-i-participate"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-should-i-participate"}},[t._v("#")]),t._v(" Why should I participate?")]),t._v(" "),a("p",[t._v("First of all, it will be fun! You’ll meet other Frictionless users and learn something new. This is also an opportunity where you’ll have the uninterrupted support of the Frictionless core team to help you realize your prototype. Also, there will be prizes (details to be announced later).")]),t._v(" "),a("h2",{attrs:{id:"when-will-the-hackathon-occur"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#when-will-the-hackathon-occur"}},[t._v("#")]),t._v(" When will the hackathon occur?")]),t._v(" "),a("p",[t._v("The hackathon will be virtual and occur on 7-8 October. The event will start at 9am CEST on 7 October, and will end at 6pm CEST on 8 October. This will allow people from around the world to participate during a time that works for them. We will be using Github and Zoom to coordinate and work virtually. Teams will be able to form before the event occurs so you can start coordinating early and hit the ground running.")]),t._v(" "),a("h2",{attrs:{id:"sign-me-up"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#sign-me-up"}},[t._v("#")]),t._v(" Sign me up!")]),t._v(" "),a("p",[t._v("Use "),a("a",{attrs:{href:"https://forms.gle/ZhrVfSBrNy2UPRZc9",target:"_blank",rel:"noopener noreferrer"}},[t._v("this form"),a("OutboundLink")],1),t._v(" to register. The event will be free, and we will also have some scholarships for attendees that would otherwise be unable to attend. Apply for a $300 scholarship using this "),a("a",{attrs:{href:"https://forms.gle/jwxVYjDYs31t1YmKA",target:"_blank",rel:"noopener noreferrer"}},[t._v("scholarship form"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h2",{attrs:{id:"what-projects-will-be-at-the-hackathon"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-projects-will-be-at-the-hackathon"}},[t._v("#")]),t._v(" What projects will be at the Hackathon?")]),t._v(" "),a("p",[t._v("Projects will range from a GeoJSON Plugin for frictionless-py, to Python code to work with Datapackages in CKAN, to creating a static site to list all the Frictionless datasets on GitHub, to creating new tutorials for Frictionless code."),a("br"),t._v("\nAll of the projects will be added to the event dashboard at "),a("a",{attrs:{href:"https://frictionless-hackathon.herokuapp.com/event/1#top",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://frictionless-hackathon.herokuapp.com/event/1#top"),a("OutboundLink")],1),t._v(", powered by "),a("a",{attrs:{href:"https://dribdat.cc/",target:"_blank",rel:"noopener noreferrer"}},[t._v("DribDat"),a("OutboundLink")],1),t._v("."),a("br"),t._v("\nInterested in working on your own project? Email us!")]),t._v(" "),a("h2",{attrs:{id:"i-have-questions"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#i-have-questions"}},[t._v("#")]),t._v(" I have questions…")]),t._v(" "),a("p",[t._v("Please email us at "),a("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[t._v("frictionlessdata@okfn.org")]),t._v(" if you have questions or would like to support the Hackathon.")]),t._v(" "),a("h1",{attrs:{id:"participation-guide"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#participation-guide"}},[t._v("#")]),t._v(" Participation Guide")]),t._v(" "),a("p",[t._v("("),a("a",{attrs:{href:"https://docs.google.com/document/d/e/2PACX-1vReWY9N26SbveoCM7Ra4wEry8k7a5rCa3UzpBijfU_mmyME58DRDKmu0QUmx75mif4367IZdtLijFzO/pub",target:"_blank",rel:"noopener noreferrer"}},[t._v("Here is a link to the Guide"),a("OutboundLink")],1),t._v(")")]),t._v(" "),a("iframe",{attrs:{width:"730",height:"500",src:"https://docs.google.com/document/d/e/2PACX-1vReWY9N26SbveoCM7Ra4wEry8k7a5rCa3UzpBijfU_mmyME58DRDKmu0QUmx75mif4367IZdtLijFzO/pub?embedded=true"}})])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/184.8567a2ad.js b/assets/js/184.182aaf99.js similarity index 99% rename from assets/js/184.8567a2ad.js rename to assets/js/184.182aaf99.js index 34be4b182..054585c0e 100644 --- a/assets/js/184.8567a2ad.js +++ b/assets/js/184.182aaf99.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{722:function(t,a,e){"use strict";e.r(a);var r=e(29),s=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data"}},[t._v("#")]),t._v(" Frictionless Data")]),t._v(" "),e("p",[e("big",[e("strong",[t._v("Get a quick introduction to Frictionless in “5 minutes”.")])])],1),t._v(" "),e("p",[t._v("Frictionless Data is a progressive open-source framework for building data infrastructure – data management, data integration, data flows, etc. It includes various data standards and provides software to work with data.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("This introduction assumes some basic knowledge about data. If you are new to working with data we recommend starting with the first module, “What is Data?”, at "),e("a",{attrs:{href:"https://schoolofdata.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("School of Data"),e("OutboundLink")],1),t._v(".")])]),t._v(" "),e("h2",{attrs:{id:"why-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#why-frictionless"}},[t._v("#")]),t._v(" Why Frictionless?")]),t._v(" "),e("p",[t._v("The Frictionless Data project aims to make it easier to work with data - by reducing common data workflow issues (what we call "),e("em",[t._v("friction")]),t._v("). Frictionless Data consists of two main parts, software and standards.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/structure.png",alt:"Structure"}})]),t._v(" "),e("h3",{attrs:{id:"frictionless-software"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-software"}},[t._v("#")]),t._v(" Frictionless Software")]),t._v(" "),e("p",[t._v("The software is based on a suite of data standards that have been designed to make it easy to describe data structure and content so that data is more interoperable, easier to understand, and quicker to use. There are several aspects to the Frictionless software, including two high-level data frameworks (for Python and JavaScript), 10 low-level libraries for other languages, like R, and also visual interfaces and applications. You can read more about how to use the software (and find documentation) on the "),e("a",{attrs:{href:"/projects"}},[t._v("projects")]),t._v(" page.")]),t._v(" "),e("p",[t._v("For example, here is a validation report created by the "),e("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Repository"),e("OutboundLink")],1),t._v(" software. Data validation is one of the main focuses of Frictionless Data and this is a good visual representation of how the project might help to reveal common problems working with data.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/report.png",alt:"Report"}})]),t._v(" "),e("h3",{attrs:{id:"frictionless-standards"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-standards"}},[t._v("#")]),t._v(" Frictionless Standards")]),t._v(" "),e("p",[t._v("The Standards (aka Specifications) help to describe data. The core specification is called a "),e("strong",[t._v("Data Package")]),t._v(", which is a simple container format used to describe and package a collection of data files. The format provides a contract for data interoperability that supports frictionless delivery, installation and management of data.")]),t._v(" "),e("p",[t._v("A Data Package can contain any kind of data. At the same time, Data Packages can be specialized and enriched for specific types of data so there are, for example, Tabular Data Packages for tabular data, Geo Data Packages for geo data, etc.")]),t._v(" "),e("p",[t._v("To learn more about Data Packages and the other specifications, check out the "),e("a",{attrs:{href:"/projects"}},[t._v("projects")]),t._v(" page or watch this video to learn more about the motivation behind packaging data.")]),t._v(" "),e("iframe",{attrs:{width:"730",height:"400",src:"https://www.youtube.com/embed/lWHKVXxuci0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),t._v(" "),e("h2",{attrs:{id:"how-can-i-use-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-can-i-use-frictionless"}},[t._v("#")]),t._v(" How can I use Frictionless?")]),t._v(" "),e("p",[t._v("You can use Frictionless to describe your data (add metadata and schemas), validate your data, and transform your data. You can also write custom data standards based on the Frictionless specifications. For example, you can use Frictionless to:")]),t._v(" "),e("ul",[e("li",[t._v("easily add metadata to your data before you publish it.")]),t._v(" "),e("li",[t._v("quickly validate your data to check the data quality before you share it.")]),t._v(" "),e("li",[t._v("build a declarative pipeline to clean and process data before analyzing it.")])]),t._v(" "),e("p",[t._v("Usually, new users start by trying out the software. The software gives you an ability to work with Frictionless using visual interfaces or programming languages.")]),t._v(" "),e("p",[t._v("As a new user you might not need to dive too deeply into the standards as our software incapsulates its concepts. On the other hand, once you feel comfortable with Frictionless Software you might start reading Frictionless Standards to get a better understanding of the things happening under the hood or to start creating your metadata descriptors more proficiently.")]),t._v(" "),e("h2",{attrs:{id:"who-uses-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#who-uses-frictionless"}},[t._v("#")]),t._v(" Who uses Frictionless?")]),t._v(" "),e("p",[t._v("The Frictionless Data project has a very diverse audience, ranging from climate scientists, to humanities researchers, to government data centers.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/audience.png",alt:"Audience"}})]),t._v(" "),e("p",[t._v("During our project development we have had various collaborations with institutions and individuals. We keep track of our "),e("a",{attrs:{href:"/tag/pilot"}},[t._v("Pilots")]),t._v(" and "),e("a",{attrs:{href:"/tag/case-studies"}},[t._v("Case Studies")]),t._v(" with blog posts, and we welcome our community to share their experiences using our standards and software. Generally speaking, you can apply Frictionless in almost every field where you work with data. Your Frictionless use case could range from a simple data table validation to writing complex data pipelines.")]),t._v(" "),e("h2",{attrs:{id:"ready-for-more"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ready-for-more"}},[t._v("#")]),t._v(" Ready for more?")]),t._v(" "),e("p",[t._v("As a next step, we recommend you start using one of our "),e("a",{attrs:{href:"/projects"}},[t._v("Software")]),t._v(" projects, get known our "),e("a",{attrs:{href:"/projects"}},[t._v("Standards")]),t._v(" or read about other user experience in "),e("a",{attrs:{href:"/tag/pilot"}},[t._v("Pilots")]),t._v(" and "),e("a",{attrs:{href:"/tag/case-studies"}},[t._v("Case Studies")]),t._v(" sections. Also, we welcome you to reach out on "),e("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Slack"),e("OutboundLink")],1),t._v(" or "),e("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Matrix"),e("OutboundLink")],1),t._v(" to say hi or ask questions!")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[184],{723:function(t,a,e){"use strict";e.r(a);var r=e(29),s=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data"}},[t._v("#")]),t._v(" Frictionless Data")]),t._v(" "),e("p",[e("big",[e("strong",[t._v("Get a quick introduction to Frictionless in “5 minutes”.")])])],1),t._v(" "),e("p",[t._v("Frictionless Data is a progressive open-source framework for building data infrastructure – data management, data integration, data flows, etc. It includes various data standards and provides software to work with data.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("This introduction assumes some basic knowledge about data. If you are new to working with data we recommend starting with the first module, “What is Data?”, at "),e("a",{attrs:{href:"https://schoolofdata.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("School of Data"),e("OutboundLink")],1),t._v(".")])]),t._v(" "),e("h2",{attrs:{id:"why-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#why-frictionless"}},[t._v("#")]),t._v(" Why Frictionless?")]),t._v(" "),e("p",[t._v("The Frictionless Data project aims to make it easier to work with data - by reducing common data workflow issues (what we call "),e("em",[t._v("friction")]),t._v("). Frictionless Data consists of two main parts, software and standards.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/structure.png",alt:"Structure"}})]),t._v(" "),e("h3",{attrs:{id:"frictionless-software"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-software"}},[t._v("#")]),t._v(" Frictionless Software")]),t._v(" "),e("p",[t._v("The software is based on a suite of data standards that have been designed to make it easy to describe data structure and content so that data is more interoperable, easier to understand, and quicker to use. There are several aspects to the Frictionless software, including two high-level data frameworks (for Python and JavaScript), 10 low-level libraries for other languages, like R, and also visual interfaces and applications. You can read more about how to use the software (and find documentation) on the "),e("a",{attrs:{href:"/projects"}},[t._v("projects")]),t._v(" page.")]),t._v(" "),e("p",[t._v("For example, here is a validation report created by the "),e("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Repository"),e("OutboundLink")],1),t._v(" software. Data validation is one of the main focuses of Frictionless Data and this is a good visual representation of how the project might help to reveal common problems working with data.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/report.png",alt:"Report"}})]),t._v(" "),e("h3",{attrs:{id:"frictionless-standards"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-standards"}},[t._v("#")]),t._v(" Frictionless Standards")]),t._v(" "),e("p",[t._v("The Standards (aka Specifications) help to describe data. The core specification is called a "),e("strong",[t._v("Data Package")]),t._v(", which is a simple container format used to describe and package a collection of data files. The format provides a contract for data interoperability that supports frictionless delivery, installation and management of data.")]),t._v(" "),e("p",[t._v("A Data Package can contain any kind of data. At the same time, Data Packages can be specialized and enriched for specific types of data so there are, for example, Tabular Data Packages for tabular data, Geo Data Packages for geo data, etc.")]),t._v(" "),e("p",[t._v("To learn more about Data Packages and the other specifications, check out the "),e("a",{attrs:{href:"/projects"}},[t._v("projects")]),t._v(" page or watch this video to learn more about the motivation behind packaging data.")]),t._v(" "),e("iframe",{attrs:{width:"730",height:"400",src:"https://www.youtube.com/embed/lWHKVXxuci0",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}}),t._v(" "),e("h2",{attrs:{id:"how-can-i-use-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-can-i-use-frictionless"}},[t._v("#")]),t._v(" How can I use Frictionless?")]),t._v(" "),e("p",[t._v("You can use Frictionless to describe your data (add metadata and schemas), validate your data, and transform your data. You can also write custom data standards based on the Frictionless specifications. For example, you can use Frictionless to:")]),t._v(" "),e("ul",[e("li",[t._v("easily add metadata to your data before you publish it.")]),t._v(" "),e("li",[t._v("quickly validate your data to check the data quality before you share it.")]),t._v(" "),e("li",[t._v("build a declarative pipeline to clean and process data before analyzing it.")])]),t._v(" "),e("p",[t._v("Usually, new users start by trying out the software. The software gives you an ability to work with Frictionless using visual interfaces or programming languages.")]),t._v(" "),e("p",[t._v("As a new user you might not need to dive too deeply into the standards as our software incapsulates its concepts. On the other hand, once you feel comfortable with Frictionless Software you might start reading Frictionless Standards to get a better understanding of the things happening under the hood or to start creating your metadata descriptors more proficiently.")]),t._v(" "),e("h2",{attrs:{id:"who-uses-frictionless"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#who-uses-frictionless"}},[t._v("#")]),t._v(" Who uses Frictionless?")]),t._v(" "),e("p",[t._v("The Frictionless Data project has a very diverse audience, ranging from climate scientists, to humanities researchers, to government data centers.")]),t._v(" "),e("p",[e("img",{attrs:{src:"/img/introduction/audience.png",alt:"Audience"}})]),t._v(" "),e("p",[t._v("During our project development we have had various collaborations with institutions and individuals. We keep track of our "),e("a",{attrs:{href:"/tag/pilot"}},[t._v("Pilots")]),t._v(" and "),e("a",{attrs:{href:"/tag/case-studies"}},[t._v("Case Studies")]),t._v(" with blog posts, and we welcome our community to share their experiences using our standards and software. Generally speaking, you can apply Frictionless in almost every field where you work with data. Your Frictionless use case could range from a simple data table validation to writing complex data pipelines.")]),t._v(" "),e("h2",{attrs:{id:"ready-for-more"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ready-for-more"}},[t._v("#")]),t._v(" Ready for more?")]),t._v(" "),e("p",[t._v("As a next step, we recommend you start using one of our "),e("a",{attrs:{href:"/projects"}},[t._v("Software")]),t._v(" projects, get known our "),e("a",{attrs:{href:"/projects"}},[t._v("Standards")]),t._v(" or read about other user experience in "),e("a",{attrs:{href:"/tag/pilot"}},[t._v("Pilots")]),t._v(" and "),e("a",{attrs:{href:"/tag/case-studies"}},[t._v("Case Studies")]),t._v(" sections. Also, we welcome you to reach out on "),e("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Slack"),e("OutboundLink")],1),t._v(" or "),e("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Matrix"),e("OutboundLink")],1),t._v(" to say hi or ask questions!")])])}),[],!1,null,null,null);a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/185.a6925388.js b/assets/js/185.7201d7c2.js similarity index 99% rename from assets/js/185.a6925388.js rename to assets/js/185.7201d7c2.js index 7b9cb706d..9b8544089 100644 --- a/assets/js/185.a6925388.js +++ b/assets/js/185.7201d7c2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[185],{723:function(a,t,e){"use strict";e.r(t);var r=e(29),i=Object(r.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-projects"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-projects"}},[a._v("#")]),a._v(" Frictionless Projects")]),a._v(" "),e("p",[e("big",[e("strong",[a._v("Open source projects for working with data.")])])],1),a._v(" "),e("p",[a._v("The Frictionless Data project provides a rich set of open source projects for working with data. There are tools, a visual application, and software for many programming platforms.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("This document is an overview of the Frictionless Projects - for more in-depth information, please click on one of the projects below and you will be redirected to a corresponding documentation portal.")])]),a._v(" "),e("h2",{attrs:{id:"software-and-standards"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#software-and-standards"}},[a._v("#")]),a._v(" Software and Standards")]),a._v(" "),e("p",[a._v("It’s a list of core Frictionless Projects developed by the core Frictionless Team:")]),a._v(" "),e("div",{staticClass:"main-section black-text"},[e("div",{staticClass:"features flex flex-row flex-wrap py-4"},[e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://application.frictionlessdata.io/",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/components.png"}}),a._v(" "),e("h3",[a._v("Frictionless Application")])]),a._v(" "),e("p",[a._v("Data management application for Browser and Desktop for working with tabular data.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://framework.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/framework.png"}}),a._v(" "),e("h3",[a._v("Frictionless Framework")])]),a._v(" "),e("p",[a._v("Python framework to describe, extract, validate, and transform tabular data.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://livemark.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/livemark.png"}}),a._v(" "),e("h3",[a._v("Livemark")])]),a._v(" "),e("p",[a._v("Static site generator that extends Markdown with charts, tables, scripts, and more.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://repository.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/repository.png"}}),a._v(" "),e("h3",[a._v("Frictionless Repository")])]),a._v(" "),e("p",[a._v("Github Action allowing you to validate tabular data on every commit to your repository.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://specs.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/libraries.png"}}),a._v(" "),e("h3",[a._v("Frictionless Standards")])]),a._v(" "),e("p",[a._v("Lightweight yet comprehensive data standards as Data Package and Table Schema.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://datahub.io/",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/datahub.png"}}),a._v(" "),e("h3",[a._v("Datahub")])]),a._v(" "),e("p",[a._v("A web platform built on Frictionless Data that allows discovering, publishing, and sharing data.")])])])])]),a._v(" "),e("h2",{attrs:{id:"which-software-is-right-for-me"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#which-software-is-right-for-me"}},[a._v("#")]),a._v(" Which software is right for me?")]),a._v(" "),e("p",[a._v("Choosing the right tool for the job can be challenging. Here are our recommendations:")]),a._v(" "),e("h3",{attrs:{id:"visual-interfaces"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#visual-interfaces"}},[a._v("#")]),a._v(" Visual Interfaces")]),a._v(" "),e("p",[a._v("If you prefer to use a visual interface:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Application (coming soon):")]),a._v(" We’re working on our brand-new Frictionless Application that will be released in 2021. Until then, you can use "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package Creator"),e("OutboundLink")],1),a._v(" to create and edit data packages and "),e("a",{attrs:{href:"http://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Goodtables On-Demand"),e("OutboundLink")],1),a._v(" for data validation.")]),a._v(" "),e("li",[e("strong",[a._v("Frictionless Repository:")]),a._v(" For ensuring the quality of your data on Github, Frictionless provides "),e("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Repository"),e("OutboundLink")],1),a._v(". This creates visual quality reports and validation statuses on Github everytime you commit your data.")]),a._v(" "),e("li",[e("strong",[a._v("Datahub:")]),a._v(" For discovering, publishing, and sharing data we have "),e("a",{attrs:{href:"https://datahub.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Datahub"),e("OutboundLink")],1),a._v(" which is built on Frictionless software. Using this software as a service, you can sign-in and find, share, and publish quality data.")])]),a._v(" "),e("h3",{attrs:{id:"command-line-interfaces"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#command-line-interfaces"}},[a._v("#")]),a._v(" Command-line Interfaces")]),a._v(" "),e("p",[a._v("If you like to write commands in the command-line interface:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Framework:")]),a._v(" For describing, extracting, validating, and transforming data, Frictionless provides the "),e("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Framework’s"),e("OutboundLink")],1),a._v(" command-line interface. Using the “frictionless” command you can achieve many goals without needing to write Python code.")]),a._v(" "),e("li",[e("strong",[a._v("Livemark:")]),a._v(" For data journalists and technical writers we have a project called "),e("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Livemark"),e("OutboundLink")],1),a._v(". Using the “livemark” command in the CLI you can publish a website that incorporates Frictionless functions and is powered by markdown articles.")]),a._v(" "),e("li",[e("strong",[a._v("Datahub:")]),a._v(" Frictionless provides a command-line tool called "),e("a",{attrs:{href:"https://datahub.io/docs/features/data-cli",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data"),e("OutboundLink")],1),a._v(" which is an important part of the Datahub project. The “data” command is available for a JavaScript environment and it helps you to interact with data stored on Datahub.")])]),a._v(" "),e("h3",{attrs:{id:"programming-languages"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#programming-languages"}},[a._v("#")]),a._v(" Programming Languages")]),a._v(" "),e("p",[a._v("If you want to use or write your own Frictionless code:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Framework:")]),a._v(" For general data programming in Python, the "),e("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Framework"),e("OutboundLink")],1),a._v(" is the way to go. You can describe, extract, validate, and transform your data. It’s also possible to extend the framework by adding new validation checks, transformation steps, etc. In addition, there is a lightweight version of the framework written in "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js",target:"_blank",rel:"noopener noreferrer"}},[a._v("JavaScript"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("li",[e("strong",[a._v("Frictionless Universe:")]),a._v(" For Frictionless implementations in other languages like "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("R"),e("OutboundLink")],1),a._v(" or Java and visual components, we have "),e("RouterLink",{attrs:{to:"/universe/"}},[a._v("Frictionless Universe")]),a._v(". Each library provides metadata validation and editing along with other low-level data operations like reading or writing tabular files.")],1)]),a._v(" "),e("h2",{attrs:{id:"which-standard-is-right-for-me"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#which-standard-is-right-for-me"}},[a._v("#")]),a._v(" Which standard is right for me?")]),a._v(" "),e("p",[a._v("To help you pick a standard to use, we’ve categorized them according to how many files you are working with.")]),a._v(" "),e("h3",{attrs:{id:"collection-of-files"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#collection-of-files"}},[a._v("#")]),a._v(" Collection of Files")]),a._v(" "),e("p",[a._v("If you have more than one file:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Data Package")]),a._v(": Use a "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package"),e("OutboundLink")],1),a._v(" for describing datasets of any file format. Data Package is a basic container format for describing a collection of data in a single “package”. It provides a basis for convenient delivery, installation and management of datasets.")]),a._v(" "),e("li",[e("strong",[a._v("Fiscal Data Package")]),a._v(": For fiscal data, use a "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/fiscal-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Fiscal Data Package"),e("OutboundLink")],1),a._v(". This lightweight and user-oriented format is for publishing and consuming fiscal data. It concerns with how fiscal data should be packaged and providing means for publishers to best convey the meaning of the data - so it can be optimally used by consumers.")])]),a._v(" "),e("h3",{attrs:{id:"individual-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#individual-file"}},[a._v("#")]),a._v(" Individual File")]),a._v(" "),e("p",[a._v("If you need to describe an individual file:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Data Resource")]),a._v(": Use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Resource"),e("OutboundLink")],1),a._v(" for describing individual files. Data Resource is a format to describe and package a single data resource of any file format, such as an individual table or file. It can also be extended for specific use cases.")]),a._v(" "),e("li",[e("strong",[a._v("Tabular Data Resource")]),a._v(": For tabular data, use the Data Resource extension called "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Resource"),e("OutboundLink")],1),a._v(". Tabular Data Resource describes a single "),e("em",[a._v("tabular")]),a._v(" data resource such as a CSV file. It includes support for metadata and schemas to describe the data content and structure.")]),a._v(" "),e("li",[e("strong",[a._v("Table Schema")]),a._v(": To describe only the schema of a tabular data file, use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),e("OutboundLink")],1),a._v(". Table Schema is a format to declare a schema for tabular data. The schema is designed to be expressible in JSON. You can have a schema as independent metadata or use it with a Tabular Data Resource.")]),a._v(" "),e("li",[e("strong",[a._v("CSV Dialect")]),a._v(": To specify the CSV dialect within a schema, use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/csv-dialect/",target:"_blank",rel:"noopener noreferrer"}},[a._v("CSV Dialect"),e("OutboundLink")],1),a._v(". This defines a format to describe the various dialects of CSV files in a language agnostic manner. This is important because CSV files might be published in different forms, making it harder to read the data without errors. CSV Dialect can be used with a Tabular Data Resource to provide additional information.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[185],{729:function(a,t,e){"use strict";e.r(t);var r=e(29),i=Object(r.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-projects"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-projects"}},[a._v("#")]),a._v(" Frictionless Projects")]),a._v(" "),e("p",[e("big",[e("strong",[a._v("Open source projects for working with data.")])])],1),a._v(" "),e("p",[a._v("The Frictionless Data project provides a rich set of open source projects for working with data. There are tools, a visual application, and software for many programming platforms.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("This document is an overview of the Frictionless Projects - for more in-depth information, please click on one of the projects below and you will be redirected to a corresponding documentation portal.")])]),a._v(" "),e("h2",{attrs:{id:"software-and-standards"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#software-and-standards"}},[a._v("#")]),a._v(" Software and Standards")]),a._v(" "),e("p",[a._v("It’s a list of core Frictionless Projects developed by the core Frictionless Team:")]),a._v(" "),e("div",{staticClass:"main-section black-text"},[e("div",{staticClass:"features flex flex-row flex-wrap py-4"},[e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://application.frictionlessdata.io/",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/components.png"}}),a._v(" "),e("h3",[a._v("Frictionless Application")])]),a._v(" "),e("p",[a._v("Data management application for Browser and Desktop for working with tabular data.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://framework.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/framework.png"}}),a._v(" "),e("h3",[a._v("Frictionless Framework")])]),a._v(" "),e("p",[a._v("Python framework to describe, extract, validate, and transform tabular data.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://livemark.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/livemark.png"}}),a._v(" "),e("h3",[a._v("Livemark")])]),a._v(" "),e("p",[a._v("Static site generator that extends Markdown with charts, tables, scripts, and more.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://repository.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/repository.png"}}),a._v(" "),e("h3",[a._v("Frictionless Repository")])]),a._v(" "),e("p",[a._v("Github Action allowing you to validate tabular data on every commit to your repository.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://specs.frictionlessdata.io",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/libraries.png"}}),a._v(" "),e("h3",[a._v("Frictionless Standards")])]),a._v(" "),e("p",[a._v("Lightweight yet comprehensive data standards as Data Package and Table Schema.")])])]),a._v(" "),e("div",{staticClass:"w-full md:w-1/3 feature flex justify-center"},[e("div",{staticClass:"px-8 text-center"},[e("a",{attrs:{href:"https://datahub.io/",target:"_blank"}},[e("img",{staticStyle:{width:"200px",border:"dashed 1px #555",padding:"10px","border-radius":"10px"},attrs:{src:"/img/software/datahub.png"}}),a._v(" "),e("h3",[a._v("Datahub")])]),a._v(" "),e("p",[a._v("A web platform built on Frictionless Data that allows discovering, publishing, and sharing data.")])])])])]),a._v(" "),e("h2",{attrs:{id:"which-software-is-right-for-me"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#which-software-is-right-for-me"}},[a._v("#")]),a._v(" Which software is right for me?")]),a._v(" "),e("p",[a._v("Choosing the right tool for the job can be challenging. Here are our recommendations:")]),a._v(" "),e("h3",{attrs:{id:"visual-interfaces"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#visual-interfaces"}},[a._v("#")]),a._v(" Visual Interfaces")]),a._v(" "),e("p",[a._v("If you prefer to use a visual interface:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Application (coming soon):")]),a._v(" We’re working on our brand-new Frictionless Application that will be released in 2021. Until then, you can use "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package Creator"),e("OutboundLink")],1),a._v(" to create and edit data packages and "),e("a",{attrs:{href:"http://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Goodtables On-Demand"),e("OutboundLink")],1),a._v(" for data validation.")]),a._v(" "),e("li",[e("strong",[a._v("Frictionless Repository:")]),a._v(" For ensuring the quality of your data on Github, Frictionless provides "),e("a",{attrs:{href:"https://repository.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Repository"),e("OutboundLink")],1),a._v(". This creates visual quality reports and validation statuses on Github everytime you commit your data.")]),a._v(" "),e("li",[e("strong",[a._v("Datahub:")]),a._v(" For discovering, publishing, and sharing data we have "),e("a",{attrs:{href:"https://datahub.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Datahub"),e("OutboundLink")],1),a._v(" which is built on Frictionless software. Using this software as a service, you can sign-in and find, share, and publish quality data.")])]),a._v(" "),e("h3",{attrs:{id:"command-line-interfaces"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#command-line-interfaces"}},[a._v("#")]),a._v(" Command-line Interfaces")]),a._v(" "),e("p",[a._v("If you like to write commands in the command-line interface:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Framework:")]),a._v(" For describing, extracting, validating, and transforming data, Frictionless provides the "),e("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Framework’s"),e("OutboundLink")],1),a._v(" command-line interface. Using the “frictionless” command you can achieve many goals without needing to write Python code.")]),a._v(" "),e("li",[e("strong",[a._v("Livemark:")]),a._v(" For data journalists and technical writers we have a project called "),e("a",{attrs:{href:"https://livemark.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Livemark"),e("OutboundLink")],1),a._v(". Using the “livemark” command in the CLI you can publish a website that incorporates Frictionless functions and is powered by markdown articles.")]),a._v(" "),e("li",[e("strong",[a._v("Datahub:")]),a._v(" Frictionless provides a command-line tool called "),e("a",{attrs:{href:"https://datahub.io/docs/features/data-cli",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data"),e("OutboundLink")],1),a._v(" which is an important part of the Datahub project. The “data” command is available for a JavaScript environment and it helps you to interact with data stored on Datahub.")])]),a._v(" "),e("h3",{attrs:{id:"programming-languages"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#programming-languages"}},[a._v("#")]),a._v(" Programming Languages")]),a._v(" "),e("p",[a._v("If you want to use or write your own Frictionless code:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Frictionless Framework:")]),a._v(" For general data programming in Python, the "),e("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Framework"),e("OutboundLink")],1),a._v(" is the way to go. You can describe, extract, validate, and transform your data. It’s also possible to extend the framework by adding new validation checks, transformation steps, etc. In addition, there is a lightweight version of the framework written in "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js",target:"_blank",rel:"noopener noreferrer"}},[a._v("JavaScript"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("li",[e("strong",[a._v("Frictionless Universe:")]),a._v(" For Frictionless implementations in other languages like "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("R"),e("OutboundLink")],1),a._v(" or Java and visual components, we have "),e("RouterLink",{attrs:{to:"/universe/"}},[a._v("Frictionless Universe")]),a._v(". Each library provides metadata validation and editing along with other low-level data operations like reading or writing tabular files.")],1)]),a._v(" "),e("h2",{attrs:{id:"which-standard-is-right-for-me"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#which-standard-is-right-for-me"}},[a._v("#")]),a._v(" Which standard is right for me?")]),a._v(" "),e("p",[a._v("To help you pick a standard to use, we’ve categorized them according to how many files you are working with.")]),a._v(" "),e("h3",{attrs:{id:"collection-of-files"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#collection-of-files"}},[a._v("#")]),a._v(" Collection of Files")]),a._v(" "),e("p",[a._v("If you have more than one file:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Data Package")]),a._v(": Use a "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package"),e("OutboundLink")],1),a._v(" for describing datasets of any file format. Data Package is a basic container format for describing a collection of data in a single “package”. It provides a basis for convenient delivery, installation and management of datasets.")]),a._v(" "),e("li",[e("strong",[a._v("Fiscal Data Package")]),a._v(": For fiscal data, use a "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/fiscal-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Fiscal Data Package"),e("OutboundLink")],1),a._v(". This lightweight and user-oriented format is for publishing and consuming fiscal data. It concerns with how fiscal data should be packaged and providing means for publishers to best convey the meaning of the data - so it can be optimally used by consumers.")])]),a._v(" "),e("h3",{attrs:{id:"individual-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#individual-file"}},[a._v("#")]),a._v(" Individual File")]),a._v(" "),e("p",[a._v("If you need to describe an individual file:")]),a._v(" "),e("ul",[e("li",[e("strong",[a._v("Data Resource")]),a._v(": Use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Resource"),e("OutboundLink")],1),a._v(" for describing individual files. Data Resource is a format to describe and package a single data resource of any file format, such as an individual table or file. It can also be extended for specific use cases.")]),a._v(" "),e("li",[e("strong",[a._v("Tabular Data Resource")]),a._v(": For tabular data, use the Data Resource extension called "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Resource"),e("OutboundLink")],1),a._v(". Tabular Data Resource describes a single "),e("em",[a._v("tabular")]),a._v(" data resource such as a CSV file. It includes support for metadata and schemas to describe the data content and structure.")]),a._v(" "),e("li",[e("strong",[a._v("Table Schema")]),a._v(": To describe only the schema of a tabular data file, use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),e("OutboundLink")],1),a._v(". Table Schema is a format to declare a schema for tabular data. The schema is designed to be expressible in JSON. You can have a schema as independent metadata or use it with a Tabular Data Resource.")]),a._v(" "),e("li",[e("strong",[a._v("CSV Dialect")]),a._v(": To specify the CSV dialect within a schema, use "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/csv-dialect/",target:"_blank",rel:"noopener noreferrer"}},[a._v("CSV Dialect"),e("OutboundLink")],1),a._v(". This defines a format to describe the various dialects of CSV files in a language agnostic manner. This is important because CSV files might be published in different forms, making it harder to read the data without errors. CSV Dialect can be used with a Tabular Data Resource to provide additional information.")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/186.bc72555b.js b/assets/js/186.a8c4d0dc.js similarity index 99% rename from assets/js/186.bc72555b.js rename to assets/js/186.a8c4d0dc.js index de0ea1b50..668f28e0b 100644 --- a/assets/js/186.bc72555b.js +++ b/assets/js/186.a8c4d0dc.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{724:function(t,a,e){"use strict";e.r(a);var r=e(29),n=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-universe"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-universe"}},[t._v("#")]),t._v(" Frictionless Universe")]),t._v(" "),e("p",[t._v("Community-driven projects based on Frictionless Software and Standards:")]),t._v(" "),e("h2",{attrs:{id:"visual"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#visual"}},[t._v("#")]),t._v(" Visual")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/qcif/data-curator",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Curator"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/delimiter",target:"_blank",rel:"noopener noreferrer"}},[t._v("Delimiter"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"python"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[t._v("#")]),t._v(" Python")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-py"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-py"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-pipelines"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-ckan-mapper",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-ckan-mapper"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"javascript"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#javascript"}},[t._v("#")]),t._v(" JavaScript")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-render-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-render-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/components",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-components"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"r"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#r"}},[t._v("#")]),t._v(" R")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-r"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-r"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-r"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"ruby"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ruby"}},[t._v("#")]),t._v(" Ruby")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-rb"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-rb"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"php"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#php"}},[t._v("#")]),t._v(" PHP")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-php"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-php"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"java"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#java"}},[t._v("#")]),t._v(" Java")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-java"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-java"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"swift"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#swift"}},[t._v("#")]),t._v(" Swift")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-swift"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-swift"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"go"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#go"}},[t._v("#")]),t._v(" Go")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-go"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-go"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"julia"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#julia"}},[t._v("#")]),t._v(" Julia")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage.jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-jl"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema.jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-jl"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[186],{726:function(t,a,e){"use strict";e.r(a);var r=e(29),n=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-universe"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-universe"}},[t._v("#")]),t._v(" Frictionless Universe")]),t._v(" "),e("p",[t._v("Community-driven projects based on Frictionless Software and Standards:")]),t._v(" "),e("h2",{attrs:{id:"visual"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#visual"}},[t._v("#")]),t._v(" Visual")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/qcif/data-curator",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Curator"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/delimiter",target:"_blank",rel:"noopener noreferrer"}},[t._v("Delimiter"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"python"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[t._v("#")]),t._v(" Python")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-py"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-py"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-pipelines"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-ckan-mapper",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-ckan-mapper"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"javascript"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#javascript"}},[t._v("#")]),t._v(" JavaScript")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-render-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-render-js"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/components",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-components"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"r"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#r"}},[t._v("#")]),t._v(" R")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("frictionless-r"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-r"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-r"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"ruby"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#ruby"}},[t._v("#")]),t._v(" Ruby")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-rb"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-rb"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"php"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#php"}},[t._v("#")]),t._v(" PHP")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-php"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-php"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"java"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#java"}},[t._v("#")]),t._v(" Java")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-java"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-java"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"swift"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#swift"}},[t._v("#")]),t._v(" Swift")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-swift"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-swift"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"go"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#go"}},[t._v("#")]),t._v(" Go")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-go"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-go"),e("OutboundLink")],1)])]),t._v(" "),e("h2",{attrs:{id:"julia"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#julia"}},[t._v("#")]),t._v(" Julia")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage.jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-jl"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema.jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-jl"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/188.68bf139f.js b/assets/js/188.2b9da1e2.js similarity index 98% rename from assets/js/188.68bf139f.js rename to assets/js/188.2b9da1e2.js index 74f186535..4a8a24bf5 100644 --- a/assets/js/188.68bf139f.js +++ b/assets/js/188.2b9da1e2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[188],{726:function(e,t,s){"use strict";s.r(t);var o=s(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"contribute"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contribute"}},[e._v("#")]),e._v(" Contribute")]),e._v(" "),s("h2",{attrs:{id:"introduction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),s("p",[e._v("We welcome contributions – and you don’t have to be a software developer to get involved! The first step to becoming a Frictionless Data contributor is to become a Frictionless Data user. Please read the following guidelines, and feel free to reach out to us if you have any questions. Thanks for your interest in helping make Frictionless awesome!")]),e._v(" "),s("h2",{attrs:{id:"general-guidelines"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#general-guidelines"}},[e._v("#")]),e._v(" General Guidelines")]),e._v(" "),s("h3",{attrs:{id:"reporting-a-bug-or-issue"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#reporting-a-bug-or-issue"}},[e._v("#")]),e._v(" Reporting a bug or issue:")]),e._v(" "),s("p",[e._v("We use "),s("a",{attrs:{href:"https://github.com/frictionlessdata/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),s("OutboundLink")],1),e._v(" as a code and issues hosting platform. To report a bug or propose a new feature, please open an issue. For issues with a specific code repository, please open an issue in that specific repository’s tracker on GitHub. For example: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),s("OutboundLink")],1)]),e._v(" "),s("h3",{attrs:{id:"give-us-feedback-suggestions-propose-a-new-idea"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#give-us-feedback-suggestions-propose-a-new-idea"}},[e._v("#")]),e._v(" Give us feedback/suggestions/propose a new idea:")]),e._v(" "),s("p",[e._v("What if the issue is not a bug but a question? Please head to the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/project/discussions",target:"_blank",rel:"noopener noreferrer"}},[e._v("discussion forum"),s("OutboundLink")],1),e._v(". This is an excellent place to give us thorough feedback about your experience as a whole. In the same way, you may participate in existing discussions and make your voice heard.")]),e._v(" "),s("h3",{attrs:{id:"pull-requests"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pull-requests"}},[e._v("#")]),e._v(" Pull requests:")]),e._v(" "),s("p",[e._v("For pull requests, we ask that you initially create an issue and then create a pull requests linked to this issue. Look for issues with “help wanted” or “first-time contributor.” We welcome pull requests from anyone!")]),e._v(" "),s("h3",{attrs:{id:"specific-guidelines"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specific-guidelines"}},[e._v("#")]),e._v(" Specific guidelines:")]),e._v(" "),s("p",[e._v("Each individual software project has more specific contribution guidelines that you can find in the README in the project’s repository. For example: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js#developers",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-js#developers"),s("OutboundLink")],1)]),e._v(" "),s("h2",{attrs:{id:"documentation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),s("p",[e._v("Are you seeking to advocate and educate people in the data space? We always welcome contributions to our documentation! You can help improve our documentation by opening pull requests if you find typos, have ideas to improve the clarity of the document, or want to translate the text to a non-English language. You can also write tutorials (like this one: "),s("a",{attrs:{href:"https://colab.research.google.com/drive/12RmGajHamGP5wOoAhy8N7Gchn9TmVnG-",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Describe and Extract Tutorial"),s("OutboundLink")],1),e._v("). Let us know if you would like to contribute or if you are interested but need some help!")]),e._v(" "),s("h2",{attrs:{id:"share-your-work-with-us"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#share-your-work-with-us"}},[e._v("#")]),e._v(" Share your work with us!")]),e._v(" "),s("p",[e._v("Are you using Frictionless with your data? Have you spoken at a conference about using Frictionless? We would love to hear about it! We also have opportunities for blog writing and presenting at our monthly community calls - "),s("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("contact us")]),e._v(" to learn more!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[188],{727:function(e,t,s){"use strict";s.r(t);var o=s(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"contribute"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contribute"}},[e._v("#")]),e._v(" Contribute")]),e._v(" "),s("h2",{attrs:{id:"introduction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),s("p",[e._v("We welcome contributions – and you don’t have to be a software developer to get involved! The first step to becoming a Frictionless Data contributor is to become a Frictionless Data user. Please read the following guidelines, and feel free to reach out to us if you have any questions. Thanks for your interest in helping make Frictionless awesome!")]),e._v(" "),s("h2",{attrs:{id:"general-guidelines"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#general-guidelines"}},[e._v("#")]),e._v(" General Guidelines")]),e._v(" "),s("h3",{attrs:{id:"reporting-a-bug-or-issue"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#reporting-a-bug-or-issue"}},[e._v("#")]),e._v(" Reporting a bug or issue:")]),e._v(" "),s("p",[e._v("We use "),s("a",{attrs:{href:"https://github.com/frictionlessdata/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),s("OutboundLink")],1),e._v(" as a code and issues hosting platform. To report a bug or propose a new feature, please open an issue. For issues with a specific code repository, please open an issue in that specific repository’s tracker on GitHub. For example: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/issues",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-py/issues"),s("OutboundLink")],1)]),e._v(" "),s("h3",{attrs:{id:"give-us-feedback-suggestions-propose-a-new-idea"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#give-us-feedback-suggestions-propose-a-new-idea"}},[e._v("#")]),e._v(" Give us feedback/suggestions/propose a new idea:")]),e._v(" "),s("p",[e._v("What if the issue is not a bug but a question? Please head to the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/project/discussions",target:"_blank",rel:"noopener noreferrer"}},[e._v("discussion forum"),s("OutboundLink")],1),e._v(". This is an excellent place to give us thorough feedback about your experience as a whole. In the same way, you may participate in existing discussions and make your voice heard.")]),e._v(" "),s("h3",{attrs:{id:"pull-requests"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#pull-requests"}},[e._v("#")]),e._v(" Pull requests:")]),e._v(" "),s("p",[e._v("For pull requests, we ask that you initially create an issue and then create a pull requests linked to this issue. Look for issues with “help wanted” or “first-time contributor.” We welcome pull requests from anyone!")]),e._v(" "),s("h3",{attrs:{id:"specific-guidelines"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#specific-guidelines"}},[e._v("#")]),e._v(" Specific guidelines:")]),e._v(" "),s("p",[e._v("Each individual software project has more specific contribution guidelines that you can find in the README in the project’s repository. For example: "),s("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js#developers",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/frictionless-js#developers"),s("OutboundLink")],1)]),e._v(" "),s("h2",{attrs:{id:"documentation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#documentation"}},[e._v("#")]),e._v(" Documentation")]),e._v(" "),s("p",[e._v("Are you seeking to advocate and educate people in the data space? We always welcome contributions to our documentation! You can help improve our documentation by opening pull requests if you find typos, have ideas to improve the clarity of the document, or want to translate the text to a non-English language. You can also write tutorials (like this one: "),s("a",{attrs:{href:"https://colab.research.google.com/drive/12RmGajHamGP5wOoAhy8N7Gchn9TmVnG-",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Describe and Extract Tutorial"),s("OutboundLink")],1),e._v("). Let us know if you would like to contribute or if you are interested but need some help!")]),e._v(" "),s("h2",{attrs:{id:"share-your-work-with-us"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#share-your-work-with-us"}},[e._v("#")]),e._v(" Share your work with us!")]),e._v(" "),s("p",[e._v("Are you using Frictionless with your data? Have you spoken at a conference about using Frictionless? We would love to hear about it! We also have opportunities for blog writing and presenting at our monthly community calls - "),s("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[e._v("contact us")]),e._v(" to learn more!")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/189.64739a42.js b/assets/js/189.2443dbd6.js similarity index 96% rename from assets/js/189.64739a42.js rename to assets/js/189.2443dbd6.js index 66ce97351..e6caf6a3c 100644 --- a/assets/js/189.64739a42.js +++ b/assets/js/189.2443dbd6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{727:function(t,a,e){"use strict";e.r(a);var r=e(29),n=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"events-calendar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#events-calendar"}},[t._v("#")]),t._v(" Events Calendar")]),t._v(" "),e("h2",{attrs:{id:"introduction"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[t._v("#")]),t._v(" Introduction")]),t._v(" "),e("p",[t._v("Frictionless Data calendar with a listing of our upcoming "),e("RouterLink",{attrs:{to:"/tag/events/"}},[t._v("events")]),t._v(" including webinars, virtual hangouts, etc.")],1),t._v(" "),e("h2",{attrs:{id:"frictionless-data-monthly-community-call"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data-monthly-community-call"}},[t._v("#")]),t._v(" Frictionless Data Monthly Community Call")]),t._v(" "),e("p",[t._v("Join the vibrant Frictionless Data community every last Thursday of the month on a call to hear about recent project developments! You can sign up here: "),e("a",{attrs:{href:"https://forms.gle/rtK7xZw5vrwouTE98",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://forms.gle/rtK7xZw5vrwouTE98"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"calendar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#calendar"}},[t._v("#")]),t._v(" Calendar")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("You can add any upcoming event to your calendar by clicking on a specific event and "),e("strong",[t._v("selecting copy to my calendar.")])])]),t._v(" "),e("iframe",{staticStyle:{border:"solid 1px #777"},attrs:{src:"https://calendar.google.com/calendar/embed?height=700&wkst=1&bgcolor=%23EF6C00&ctz=Europe%2FRome&src=b2tmbi5vcmdfaDk3bm05ZDhxcG50cXExc2ZzcWZnbTNwdTBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%23EF6C00",width:"740",height:"700",frameborder:"0",scrolling:"no"}})])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[189],{728:function(t,a,e){"use strict";e.r(a);var r=e(29),n=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"events-calendar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#events-calendar"}},[t._v("#")]),t._v(" Events Calendar")]),t._v(" "),e("h2",{attrs:{id:"introduction"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[t._v("#")]),t._v(" Introduction")]),t._v(" "),e("p",[t._v("Frictionless Data calendar with a listing of our upcoming "),e("RouterLink",{attrs:{to:"/tag/events/"}},[t._v("events")]),t._v(" including webinars, virtual hangouts, etc.")],1),t._v(" "),e("h2",{attrs:{id:"frictionless-data-monthly-community-call"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data-monthly-community-call"}},[t._v("#")]),t._v(" Frictionless Data Monthly Community Call")]),t._v(" "),e("p",[t._v("Join the vibrant Frictionless Data community every last Thursday of the month on a call to hear about recent project developments! You can sign up here: "),e("a",{attrs:{href:"https://forms.gle/rtK7xZw5vrwouTE98",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://forms.gle/rtK7xZw5vrwouTE98"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"calendar"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#calendar"}},[t._v("#")]),t._v(" Calendar")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("You can add any upcoming event to your calendar by clicking on a specific event and "),e("strong",[t._v("selecting copy to my calendar.")])])]),t._v(" "),e("iframe",{staticStyle:{border:"solid 1px #777"},attrs:{src:"https://calendar.google.com/calendar/embed?height=700&wkst=1&bgcolor=%23EF6C00&ctz=Europe%2FRome&src=b2tmbi5vcmdfaDk3bm05ZDhxcG50cXExc2ZzcWZnbTNwdTBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%23EF6C00",width:"740",height:"700",frameborder:"0",scrolling:"no"}})])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/190.7ad387a4.js b/assets/js/190.15c1d8c2.js similarity index 97% rename from assets/js/190.7ad387a4.js rename to assets/js/190.15c1d8c2.js index d5aeb2d68..fd620ebd8 100644 --- a/assets/js/190.7ad387a4.js +++ b/assets/js/190.15c1d8c2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{728:function(t,a,o){"use strict";o.r(a);var e=o(29),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"need-help"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#need-help"}},[t._v("#")]),t._v(" Need Help?")]),t._v(" "),o("p",{staticClass:"font-light text-xl"},[t._v(" We're happy to provide support! Please reach out to us by using one of the following methods:")]),t._v(" "),o("h2",{attrs:{id:"community-support"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#community-support"}},[t._v("#")]),t._v(" Community Support")]),t._v(" "),o("p",[t._v("You can ask any questions in our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Slack Community Chat room"),o("OutboundLink")],1),t._v(" (the Chat room is also accessible via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Matrix"),o("OutboundLink")],1),t._v("). You can also start a thread in "),o("a",{attrs:{href:"https://github.com/frictionlessdata/project/discussions",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub Discussions"),o("OutboundLink")],1),t._v(". Frictionless is a big community that consists of people having different expertise in different domains. Feel free to ask us any questions!")]),t._v(" "),o("h2",{attrs:{id:"school-of-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#school-of-data"}},[t._v("#")]),t._v(" School of Data")]),t._v(" "),o("p",[t._v("School of Data is a project overseen by the Open Knowledge Foundation consisting of a network of individuals and organizations working on empowering civil society organizations, journalists and citizens with skills they need to use data effectively. School of Data provides data literacy trainings and resources for learning how to work with data.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://schoolofdata.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("School of Data"),o("OutboundLink")],1)]),t._v(" "),o("h2",{attrs:{id:"paid-support"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#paid-support"}},[t._v("#")]),t._v(" Paid Support")]),t._v(" "),o("p",[t._v("Professional, timely support is available on a paid basis from the creators of Frictionless Data at Datopian and Open Knowledge Foundation. Please get in touch via:")]),t._v(" "),o("p",[o("a",{attrs:{href:"http://datopian.com/contact",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datopian"),o("OutboundLink")],1),o("br"),t._v("\nOpen Knowledge Foundation: "),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[t._v("frictionlessdata@okfn.org")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[190],{730:function(t,a,o){"use strict";o.r(a);var e=o(29),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("h1",{attrs:{id:"need-help"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#need-help"}},[t._v("#")]),t._v(" Need Help?")]),t._v(" "),o("p",{staticClass:"font-light text-xl"},[t._v(" We're happy to provide support! Please reach out to us by using one of the following methods:")]),t._v(" "),o("h2",{attrs:{id:"community-support"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#community-support"}},[t._v("#")]),t._v(" Community Support")]),t._v(" "),o("p",[t._v("You can ask any questions in our "),o("a",{attrs:{href:"https://join.slack.com/t/frictionlessdata/shared_invite/zt-17kpbffnm-tRfDW_wJgOw8tJVLvZTrBg",target:"_blank",rel:"noopener noreferrer"}},[t._v("Slack Community Chat room"),o("OutboundLink")],1),t._v(" (the Chat room is also accessible via "),o("a",{attrs:{href:"https://matrix.to/#/#frictionlessdata:matrix.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Matrix"),o("OutboundLink")],1),t._v("). You can also start a thread in "),o("a",{attrs:{href:"https://github.com/frictionlessdata/project/discussions",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub Discussions"),o("OutboundLink")],1),t._v(". Frictionless is a big community that consists of people having different expertise in different domains. Feel free to ask us any questions!")]),t._v(" "),o("h2",{attrs:{id:"school-of-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#school-of-data"}},[t._v("#")]),t._v(" School of Data")]),t._v(" "),o("p",[t._v("School of Data is a project overseen by the Open Knowledge Foundation consisting of a network of individuals and organizations working on empowering civil society organizations, journalists and citizens with skills they need to use data effectively. School of Data provides data literacy trainings and resources for learning how to work with data.")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://schoolofdata.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("School of Data"),o("OutboundLink")],1)]),t._v(" "),o("h2",{attrs:{id:"paid-support"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#paid-support"}},[t._v("#")]),t._v(" Paid Support")]),t._v(" "),o("p",[t._v("Professional, timely support is available on a paid basis from the creators of Frictionless Data at Datopian and Open Knowledge Foundation. Please get in touch via:")]),t._v(" "),o("p",[o("a",{attrs:{href:"http://datopian.com/contact",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datopian"),o("OutboundLink")],1),o("br"),t._v("\nOpen Knowledge Foundation: "),o("a",{attrs:{href:"mailto:frictionlessdata@okfn.org"}},[t._v("frictionlessdata@okfn.org")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/21.14c093bc.js b/assets/js/21.d08ad469.js similarity index 97% rename from assets/js/21.14c093bc.js rename to assets/js/21.d08ad469.js index daf9394a8..a0e5a3291 100644 --- a/assets/js/21.14c093bc.js +++ b/assets/js/21.d08ad469.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{458:function(a,t,e){a.exports=e.p+"assets/img/overview-of-data-packages.f9181de3.png"},459:function(a,t,e){a.exports=e.p+"assets/img/data-package-core-components.b5b4bcaf.png"},460:function(a,t,e){a.exports=e.p+"assets/img/tableschema-python.439ae5a1.png"},599:function(a,t,e){"use strict";e.r(t);var r=e(29),s=Object(r.a)({},(function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("p",[a._v("This guide introduces you to the Frictionless Data tool stack and how you can contribute to it. "),r("em",[a._v("Update note (2021): this blog is out of date. Please see the "),r("RouterLink",{attrs:{to:"/work-with-us/contribute/"}},[a._v("contributing guide")]),a._v(" for updated information.")],1)]),a._v(" "),r("h2",{attrs:{id:"asking-questions-and-getting-help"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#asking-questions-and-getting-help"}},[a._v("#")]),a._v(" Asking questions and getting help")]),a._v(" "),r("p",[a._v("If you have a question or want help the best way to get assistance is to join our public chat channel and ask there – prompt responses are guaranteed:")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://gitter.im/frictionlessdata/chat"),r("OutboundLink")],1)]),a._v(" "),r("h2",{attrs:{id:"example-and-test-data-packages"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#example-and-test-data-packages"}},[a._v("#")]),a._v(" Example and Test Data Packages")]),a._v(" "),r("p",[a._v("We have prepared a variety of example and test data packages for use in development:")]),a._v(" "),r("ul",[r("li",[a._v("Standard test data packages in the Python test suite: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py/tree/master/data",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/goodtables-py/tree/master/data"),r("OutboundLink")],1)]),a._v(" "),r("li",[a._v("Exemplar data packages (used in tutorials): "),r("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/example-data-packages"),r("OutboundLink")],1)]),a._v(" "),r("li",[a._v("Core Data Packages – variety of of high quality “real-world” reference and indicator datasets as data packages: "),r("a",{attrs:{href:"http://datahub.io/core",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core"),r("OutboundLink")],1)])]),a._v(" "),r("h2",{attrs:{id:"key-concepts-and-pre-requisites"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#key-concepts-and-pre-requisites"}},[a._v("#")]),a._v(" Key Concepts and Pre-requisites")]),a._v(" "),r("p",[a._v("This entity diagram gives an overview of how the main different objects fit together. The top row is a generic Data Package and the row below shows the case of Tabular Data Package.")]),a._v(" "),r("p",[a._v("This guide will focus on "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),r("OutboundLink")],1),a._v(" as that is the most commonly used form of Data Packages and is suited to most tools.")]),a._v(" "),r("p",[r("img",{attrs:{src:e(458),alt:"overview of data packages and tabular data packages"}}),r("br"),a._v(" "),r("em",[a._v("overview of data packages and tabular data packages")])]),a._v(" "),r("p",[a._v("This guide will assume you already have some high-level familiarity with the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package family of specifications"),r("OutboundLink")],1),a._v(". Please a take a few minutes to take a look at the "),r("a",{attrs:{href:"/introduction"}},[a._v("overview")]),a._v(" if you are not yet familiar with those specs.")]),a._v(" "),r("h2",{attrs:{id:"implementing-a-data-package-tool-stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#implementing-a-data-package-tool-stack"}},[a._v("#")]),a._v(" Implementing a Data Package Tool Stack")]),a._v(" "),r("p",[a._v("Here’s a diagram that illustrates some of the core components of a full Data Package implementation.")]),a._v(" "),r("p",[a._v("The "),r("em",[a._v("italicised items")]),a._v(" are there to indicate that this functionality is less important and is often not included in implementations.")]),a._v(" "),r("p",[r("img",{attrs:{src:e(459),alt:"core components of a full Data Package implementation"}}),r("br"),a._v(" "),r("em",[a._v("core components of a full Data Package implementation")])]),a._v(" "),r("h3",{attrs:{id:"general-introduction"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#general-introduction"}},[a._v("#")]),a._v(" General Introduction")]),a._v(" "),r("p",[a._v("As a Developer the primary actions you want to support are:")]),a._v(" "),r("ul",[r("li",[a._v("Importing data (and metadata) in a Data Package into your system")]),a._v(" "),r("li",[a._v("Exporting data (and metadata) from your system to a Data Package")])]),a._v(" "),r("p",[a._v("Addition actions include:")]),a._v(" "),r("ul",[r("li",[a._v("Creating a Data Package from scratch")]),a._v(" "),r("li",[a._v("Validating the data in a Data Package (is the data how it says it should be)")]),a._v(" "),r("li",[a._v("Validating the metadata in a Data Package")]),a._v(" "),r("li",[a._v("Visualizing the Data Package")]),a._v(" "),r("li",[a._v("Publishing the Data Package to an online repository")])]),a._v(" "),r("h3",{attrs:{id:"programming-language"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#programming-language"}},[a._v("#")]),a._v(" Programming Language")]),a._v(" "),r("p",[a._v("This is example pseudo-code for a Data Package library in a programming language like Python or Javascript.")]),a._v(" "),r("p",[r("strong",[a._v("Importing a Data Package")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v('# location of Data Package e.g. URL or path on disk\nvar location = /my/data/package/\n\n# this "imports" the Data Package providing a native DataPackage object to work with\n# Note: you usually will not load the data itself\nvar myDataPackage = new DataPackage(location)\nvar myDataResource = myDataPackage.getResource(indexOrNameOfResource)\n\n# this would return an iterator over row objects if the data was in rows\n# optional support for casting data to the right type based on Table Schema\nvar dataStream = myDataResource.stream(cast=True)\n\n# instead of an iterator you may want simply to convert to native structured data type\n# for example, in R where you have a dataframe you would do something like\nvar dataframe = myDataResource.asDataFrame()\n')])])]),r("p",[r("strong",[a._v("Accessing metadata")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# Here we access to Data Package metadata\n# the exact accessor structure is up to you - here it an attribute called\n# metadata that acts like a dictionary\nprint myDataPackage.descriptor['title']\n")])])]),r("p",[r("strong",[a._v("Exporting a Data Package")])]),a._v(" "),r("p",[a._v("A simple functional style approach that gets across the idea:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# e.g. a location on disk\nvar exportLocation = /path/to/where/data/package/should/go\nexport_data_package(nativeDataObject, exportLocation)\n")])])]),r("p",[a._v("A more object-oriented model fitting with our previous examples would be:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var myDataPackage = export_data_package(nativeDataObject)\nmyDataPackage.save(exportLocation)\n\n# if the native data is more like a table a data then you might have\nvar myDataPackage = new DataPackage()\nmyDataPackage.addResourceFromNativeDataObject(nativeDataObject)\n\n# once exported to\nmyDataPackage.saveToDisk(path)\n\n# You can also provide access to the Data Package datapackage.json\n# That way clients of your library can decide how they save this themselves\nvar readyForJSONSaving = myDataPackage.dataPackageJSON()\nsaveJson(readyForJSONSaving, '/path/to/save/datapackage.json')\n")])])]),r("p",[r("strong",[a._v("Creating a Data Package from scratch")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var myMetadata = {\n title: 'My Amazing Data'\n}\nvar myDataPackage = new DataPackage(myMetadata)\n")])])]),r("p",[r("strong",[a._v("Data Validation")])]),a._v(" "),r("p",[a._v("This is Tabular Data specific.")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var resource = myDataPackage.getResource()\n# check the data conforms to the Table Schema\nresource.validate()\n\n# more explicit version might look like\nvar schema = resource.schemaAsJSON()\nvar tsValidator = new TSValidator(schema)\n# validate a data stream\nschema.validate(resource.stream())\n")])])]),r("p",[r("strong",[a._v("Validating Metadata")])]),a._v(" "),r("h3",{attrs:{id:"specific-software-and-platforms"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#specific-software-and-platforms"}},[a._v("#")]),a._v(" Specific Software and Platforms")]),a._v(" "),r("p",[a._v("For a particular tool or platform usually all you need is simple import or export:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# import into SQL (implemented in some language)\nimport_datapackage_into_sql(pathToDataPackage, sqlDatabaseInfo)\n\n# import into Google BigQuery\nimport_datapackage_into_bigquery(pathToDataPackage, bigQueryInfo)\n")])])]),r("h2",{attrs:{id:"examples"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),r("h3",{attrs:{id:"python"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[a._v("#")]),a._v(" Python")]),a._v(" "),r("p",[a._v("The main Python library for working with Data Packages is "),r("code",[a._v("datapackage")]),a._v(":")]),a._v(" "),r("p",[a._v("See "),r("a",{attrs:{href:"http://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://github.com/frictionlessdata/datapackage-py"),r("OutboundLink")],1)]),a._v(" "),r("p",[a._v("Additional functionality such as TS and TS integration:")]),a._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-py"),r("OutboundLink")],1)]),a._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-sql-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-sql-py"),r("OutboundLink")],1)]),a._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-bigquery-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-bigquery-py"),r("OutboundLink")],1)])]),a._v(" "),r("p",[r("code",[a._v("tabulator")]),a._v(" is a utility library that provides a consistent interface for reading tabular data:")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tabulator-py"),r("OutboundLink")],1)]),a._v(" "),r("p",[a._v("Here’s an overview of the Python libraries available and how they fit together:")]),a._v(" "),r("p",[r("img",{attrs:{src:e(460),alt:"how the different tableschema libraries in python fit together"}}),r("br"),a._v(" "),r("em",[a._v("how the different tableschema libraries in python fit together")])]),a._v(" "),r("h3",{attrs:{id:"javascript"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#javascript"}},[a._v("#")]),a._v(" Javascript")]),a._v(" "),r("p",[a._v("Following “Node” style we have partitioned the Javascript library into pieces, see this list of libraries:")]),a._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata?language=javascript",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata?language=javascript"),r("OutboundLink")],1)])]),a._v(" "),r("h3",{attrs:{id:"sql-integration"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#sql-integration"}},[a._v("#")]),a._v(" SQL Integration")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-sql-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("Here’s a walk-through"),r("OutboundLink")],1),a._v(" of the SQL integration for "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),r("OutboundLink")],1),a._v(" written in python. This integration allows you to generate SQL tables, load and extract data based on "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),r("OutboundLink")],1),a._v(" descriptors.")]),a._v(" "),r("p",[a._v("Related blog post: "),r("a",{attrs:{href:"http://okfnlabs.org/blog/2017/10/05/frictionless-data-specs-v1-updates.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://okfnlabs.org/blog/2017/10/05/frictionless-data-specs-v1-updates.html"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{465:function(a,t,e){a.exports=e.p+"assets/img/overview-of-data-packages.f9181de3.png"},466:function(a,t,e){a.exports=e.p+"assets/img/data-package-core-components.b5b4bcaf.png"},467:function(a,t,e){a.exports=e.p+"assets/img/tableschema-python.439ae5a1.png"},599:function(a,t,e){"use strict";e.r(t);var r=e(29),s=Object(r.a)({},(function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("p",[a._v("This guide introduces you to the Frictionless Data tool stack and how you can contribute to it. "),r("em",[a._v("Update note (2021): this blog is out of date. Please see the "),r("RouterLink",{attrs:{to:"/work-with-us/contribute/"}},[a._v("contributing guide")]),a._v(" for updated information.")],1)]),a._v(" "),r("h2",{attrs:{id:"asking-questions-and-getting-help"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#asking-questions-and-getting-help"}},[a._v("#")]),a._v(" Asking questions and getting help")]),a._v(" "),r("p",[a._v("If you have a question or want help the best way to get assistance is to join our public chat channel and ask there – prompt responses are guaranteed:")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://gitter.im/frictionlessdata/chat"),r("OutboundLink")],1)]),a._v(" "),r("h2",{attrs:{id:"example-and-test-data-packages"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#example-and-test-data-packages"}},[a._v("#")]),a._v(" Example and Test Data Packages")]),a._v(" "),r("p",[a._v("We have prepared a variety of example and test data packages for use in development:")]),a._v(" "),r("ul",[r("li",[a._v("Standard test data packages in the Python test suite: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py/tree/master/data",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/goodtables-py/tree/master/data"),r("OutboundLink")],1)]),a._v(" "),r("li",[a._v("Exemplar data packages (used in tutorials): "),r("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/example-data-packages"),r("OutboundLink")],1)]),a._v(" "),r("li",[a._v("Core Data Packages – variety of of high quality “real-world” reference and indicator datasets as data packages: "),r("a",{attrs:{href:"http://datahub.io/core",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core"),r("OutboundLink")],1)])]),a._v(" "),r("h2",{attrs:{id:"key-concepts-and-pre-requisites"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#key-concepts-and-pre-requisites"}},[a._v("#")]),a._v(" Key Concepts and Pre-requisites")]),a._v(" "),r("p",[a._v("This entity diagram gives an overview of how the main different objects fit together. The top row is a generic Data Package and the row below shows the case of Tabular Data Package.")]),a._v(" "),r("p",[a._v("This guide will focus on "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),r("OutboundLink")],1),a._v(" as that is the most commonly used form of Data Packages and is suited to most tools.")]),a._v(" "),r("p",[r("img",{attrs:{src:e(465),alt:"overview of data packages and tabular data packages"}}),r("br"),a._v(" "),r("em",[a._v("overview of data packages and tabular data packages")])]),a._v(" "),r("p",[a._v("This guide will assume you already have some high-level familiarity with the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package family of specifications"),r("OutboundLink")],1),a._v(". Please a take a few minutes to take a look at the "),r("a",{attrs:{href:"/introduction"}},[a._v("overview")]),a._v(" if you are not yet familiar with those specs.")]),a._v(" "),r("h2",{attrs:{id:"implementing-a-data-package-tool-stack"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#implementing-a-data-package-tool-stack"}},[a._v("#")]),a._v(" Implementing a Data Package Tool Stack")]),a._v(" "),r("p",[a._v("Here’s a diagram that illustrates some of the core components of a full Data Package implementation.")]),a._v(" "),r("p",[a._v("The "),r("em",[a._v("italicised items")]),a._v(" are there to indicate that this functionality is less important and is often not included in implementations.")]),a._v(" "),r("p",[r("img",{attrs:{src:e(466),alt:"core components of a full Data Package implementation"}}),r("br"),a._v(" "),r("em",[a._v("core components of a full Data Package implementation")])]),a._v(" "),r("h3",{attrs:{id:"general-introduction"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#general-introduction"}},[a._v("#")]),a._v(" General Introduction")]),a._v(" "),r("p",[a._v("As a Developer the primary actions you want to support are:")]),a._v(" "),r("ul",[r("li",[a._v("Importing data (and metadata) in a Data Package into your system")]),a._v(" "),r("li",[a._v("Exporting data (and metadata) from your system to a Data Package")])]),a._v(" "),r("p",[a._v("Addition actions include:")]),a._v(" "),r("ul",[r("li",[a._v("Creating a Data Package from scratch")]),a._v(" "),r("li",[a._v("Validating the data in a Data Package (is the data how it says it should be)")]),a._v(" "),r("li",[a._v("Validating the metadata in a Data Package")]),a._v(" "),r("li",[a._v("Visualizing the Data Package")]),a._v(" "),r("li",[a._v("Publishing the Data Package to an online repository")])]),a._v(" "),r("h3",{attrs:{id:"programming-language"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#programming-language"}},[a._v("#")]),a._v(" Programming Language")]),a._v(" "),r("p",[a._v("This is example pseudo-code for a Data Package library in a programming language like Python or Javascript.")]),a._v(" "),r("p",[r("strong",[a._v("Importing a Data Package")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v('# location of Data Package e.g. URL or path on disk\nvar location = /my/data/package/\n\n# this "imports" the Data Package providing a native DataPackage object to work with\n# Note: you usually will not load the data itself\nvar myDataPackage = new DataPackage(location)\nvar myDataResource = myDataPackage.getResource(indexOrNameOfResource)\n\n# this would return an iterator over row objects if the data was in rows\n# optional support for casting data to the right type based on Table Schema\nvar dataStream = myDataResource.stream(cast=True)\n\n# instead of an iterator you may want simply to convert to native structured data type\n# for example, in R where you have a dataframe you would do something like\nvar dataframe = myDataResource.asDataFrame()\n')])])]),r("p",[r("strong",[a._v("Accessing metadata")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# Here we access to Data Package metadata\n# the exact accessor structure is up to you - here it an attribute called\n# metadata that acts like a dictionary\nprint myDataPackage.descriptor['title']\n")])])]),r("p",[r("strong",[a._v("Exporting a Data Package")])]),a._v(" "),r("p",[a._v("A simple functional style approach that gets across the idea:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# e.g. a location on disk\nvar exportLocation = /path/to/where/data/package/should/go\nexport_data_package(nativeDataObject, exportLocation)\n")])])]),r("p",[a._v("A more object-oriented model fitting with our previous examples would be:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var myDataPackage = export_data_package(nativeDataObject)\nmyDataPackage.save(exportLocation)\n\n# if the native data is more like a table a data then you might have\nvar myDataPackage = new DataPackage()\nmyDataPackage.addResourceFromNativeDataObject(nativeDataObject)\n\n# once exported to\nmyDataPackage.saveToDisk(path)\n\n# You can also provide access to the Data Package datapackage.json\n# That way clients of your library can decide how they save this themselves\nvar readyForJSONSaving = myDataPackage.dataPackageJSON()\nsaveJson(readyForJSONSaving, '/path/to/save/datapackage.json')\n")])])]),r("p",[r("strong",[a._v("Creating a Data Package from scratch")])]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var myMetadata = {\n title: 'My Amazing Data'\n}\nvar myDataPackage = new DataPackage(myMetadata)\n")])])]),r("p",[r("strong",[a._v("Data Validation")])]),a._v(" "),r("p",[a._v("This is Tabular Data specific.")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("var resource = myDataPackage.getResource()\n# check the data conforms to the Table Schema\nresource.validate()\n\n# more explicit version might look like\nvar schema = resource.schemaAsJSON()\nvar tsValidator = new TSValidator(schema)\n# validate a data stream\nschema.validate(resource.stream())\n")])])]),r("p",[r("strong",[a._v("Validating Metadata")])]),a._v(" "),r("h3",{attrs:{id:"specific-software-and-platforms"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#specific-software-and-platforms"}},[a._v("#")]),a._v(" Specific Software and Platforms")]),a._v(" "),r("p",[a._v("For a particular tool or platform usually all you need is simple import or export:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("# import into SQL (implemented in some language)\nimport_datapackage_into_sql(pathToDataPackage, sqlDatabaseInfo)\n\n# import into Google BigQuery\nimport_datapackage_into_bigquery(pathToDataPackage, bigQueryInfo)\n")])])]),r("h2",{attrs:{id:"examples"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),r("h3",{attrs:{id:"python"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[a._v("#")]),a._v(" Python")]),a._v(" "),r("p",[a._v("The main Python library for working with Data Packages is "),r("code",[a._v("datapackage")]),a._v(":")]),a._v(" "),r("p",[a._v("See "),r("a",{attrs:{href:"http://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://github.com/frictionlessdata/datapackage-py"),r("OutboundLink")],1)]),a._v(" "),r("p",[a._v("Additional functionality such as TS and TS integration:")]),a._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-py"),r("OutboundLink")],1)]),a._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-sql-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-sql-py"),r("OutboundLink")],1)]),a._v(" "),r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-bigquery-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tableschema-bigquery-py"),r("OutboundLink")],1)])]),a._v(" "),r("p",[r("code",[a._v("tabulator")]),a._v(" is a utility library that provides a consistent interface for reading tabular data:")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tabulator-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata/tabulator-py"),r("OutboundLink")],1)]),a._v(" "),r("p",[a._v("Here’s an overview of the Python libraries available and how they fit together:")]),a._v(" "),r("p",[r("img",{attrs:{src:e(467),alt:"how the different tableschema libraries in python fit together"}}),r("br"),a._v(" "),r("em",[a._v("how the different tableschema libraries in python fit together")])]),a._v(" "),r("h3",{attrs:{id:"javascript"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#javascript"}},[a._v("#")]),a._v(" Javascript")]),a._v(" "),r("p",[a._v("Following “Node” style we have partitioned the Javascript library into pieces, see this list of libraries:")]),a._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/frictionlessdata?language=javascript",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/frictionlessdata?language=javascript"),r("OutboundLink")],1)])]),a._v(" "),r("h3",{attrs:{id:"sql-integration"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#sql-integration"}},[a._v("#")]),a._v(" SQL Integration")]),a._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-sql-py",target:"_blank",rel:"noopener noreferrer"}},[a._v("Here’s a walk-through"),r("OutboundLink")],1),a._v(" of the SQL integration for "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),r("OutboundLink")],1),a._v(" written in python. This integration allows you to generate SQL tables, load and extract data based on "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),r("OutboundLink")],1),a._v(" descriptors.")]),a._v(" "),r("p",[a._v("Related blog post: "),r("a",{attrs:{href:"http://okfnlabs.org/blog/2017/10/05/frictionless-data-specs-v1-updates.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://okfnlabs.org/blog/2017/10/05/frictionless-data-specs-v1-updates.html"),r("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/27.49f94834.js b/assets/js/27.c41f5d1a.js similarity index 68% rename from assets/js/27.49f94834.js rename to assets/js/27.c41f5d1a.js index 286eae72e..2a171afa6 100644 --- a/assets/js/27.49f94834.js +++ b/assets/js/27.c41f5d1a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{359:function(t,e,a){},537:function(t,e,a){"use strict";a(359)},551:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(537),a(29)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{360:function(t,e,a){},538:function(t,e,a){"use strict";a(360)},552:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(538),a(29)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/28.0b998858.js b/assets/js/28.46cf6b02.js similarity index 89% rename from assets/js/28.0b998858.js rename to assets/js/28.46cf6b02.js index ef10184ae..478b7cd5f 100644 --- a/assets/js/28.0b998858.js +++ b/assets/js/28.46cf6b02.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{360:function(e,t,a){},538:function(e,t,a){"use strict";a(360)},552:function(e,t,a){"use strict";a.r(t);a(50),a(30),a(75),a(76);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(538),a(29)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{359:function(e,t,a){},537:function(e,t,a){"use strict";a(359)},551:function(e,t,a){"use strict";a.r(t);a(50),a(30),a(75),a(76);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(537),a(29)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/31.1461b66d.js b/assets/js/31.6dba8696.js similarity index 98% rename from assets/js/31.1461b66d.js rename to assets/js/31.6dba8696.js index 4451dfa3a..b8e0eaf2c 100644 --- a/assets/js/31.1461b66d.js +++ b/assets/js/31.6dba8696.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{401:function(e,t,a){e.exports=a.p+"assets/img/opsd-1.1c092f24.png"},402:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAADhBAMAAAAqklG9AAAAA3NCSVQICAjb4U/gAAAAD1BMVEX////5+vxofr9jer1mZmZoad7eAAAACXBIWXMAABu8AAAbvAG6t6C7AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMC8wMS8xMHPQsdoAAAR3SURBVHic7drLbVsHFEVRA0kDQSpIKjDiBjJI/zVl4O0JIRESfG7iz1ozCU/k1eEe8sM/cODD/30APyZhcUJYnBAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhceJLWH9/gIFfhcUFYXFCWJwQFieExQlhcUJYnBAWJ4TFCWFxQlicEBYnhMUJYXHipwvrl0+camdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612fl9YD5/Kx5efevkNv+bhL+/7/Kqnp7/yL/z152cPT/322e9PJ3zlyK955TeN823rdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU5/Y1j90ds+78HDD54HvQjr4fPut3/065e3e+Wqh4efv9Tzv335jb5t3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNh2E9GH4f6/mPzw3DesXDw+8K6003f9u6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5sPw3o+1rseflvBb3o/38c61s3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvd/Mawnk/58uf9rrA+PX3l59+4Wnwf6+Gph85e3k5YL+lmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbn5fWD+A7+pD+h61s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjv/dGHx3xAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhcUJYnBAWJ4TFicewYEpYnBAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhcUJYnBAWJ/4F28cFi0QhXqwAAAAASUVORK5CYII="},563:function(e,t,a){"use strict";a.r(t);var o=a(29),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"http://open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Power System Data"),o("OutboundLink")],1),e._v(" aims at providing a "),o("strong",[e._v("free-of-charge")]),e._v(" and "),o("strong",[e._v("open")]),e._v(" platform"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" that provides the data needed for power system analysis and modeling.")]),e._v(" "),o("p",[e._v("All of our project members are energy researchers. We struggled collecting this kind of data in what is typically a very burdensome and lengthy process. In doing my PhD, I spent the first year collecting data and realized that "),o("em",[e._v("not only had many others done that before, but that many others coming later would have to do it again")]),e._v(". This is arguably a huge waste of time and resources, so we thought we (Open Power System Data) should align ourselves and join forces to do this properly, once and for all, and in a free and open manner to be used by everyone. We are funded for two years by the German government. After starting work in 2015, we have about one more year to go.")]),e._v(" "),o("p",[e._v("On one hand, people who are interested in European power systems are lucky because a lot of data needed for that research is available. If you work on, say, Chinese systems, and you are not employed at the Chinese power company, you probably won’t find anything. On the other hand, if you search long enough (and you know where to look), you can find stuff online (and usually free of charge) on European power systems—not everything you want, but a"),o("br"),e._v("\nbig chunk, so in that respect, we are all lucky. However, this data is quite problematic for many reasons.")]),e._v(" "),o("p",[o("a",{attrs:{href:"http://data.open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:a(401),alt:"Available Data"}}),o("OutboundLink")],1)]),e._v(" "),o("p",[o("em",[e._v("Data availability overview on the platform")])]),e._v(" "),o("p",[e._v("Some of the problems we face in working with data include:")]),e._v(" "),o("ul",[o("li",[e._v("varied data sources and formats")]),e._v(" "),o("li",[e._v("licensing issues")]),e._v(" "),o("li",[e._v("‘dirty’ data")])]),e._v(" "),o("h3",{attrs:{id:"inconsistent-data-sources-and-formats"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#inconsistent-data-sources-and-formats"}},[e._v("#")]),e._v(" Inconsistent Data Sources and formats")]),e._v(" "),o("p",[e._v("First, it is scattered throughout the Internet and very hard to Google. For example, the Spanish government will only publish their data in the Spanish language, while the German government will publish only in German, so you need to speak 20 languages if we are talking about Europe. Second, it is often of low quality. For instance, we work with a lot with time series data—that is, hourly data for electricity generation and consumption. Twice a year, during the shift between summer and winter, there is sort of an “extra” or “missing” hour to account for daylight savings time. Every single data source has a different approach for how to handle that. While some datasets just ignore it, some double the hours, while others call the third hour something like “3a” and “3b”. To align these data sources, you have to handle all these different approaches. In addition, some data providers, for example, provide data in one format for the years 2010 and 2011, and then for 2012 and 2013 in a different format, and 2014 and 2015 in yet another format. A lot of that data comes in little chunks, so some datasets have one file for everything (which is great) but then others provide files split by the year, the month, or even the day. "),o("strong",[e._v("If you are not familiar with programming, you can’t write scripts to download that, and you have to manually download three years of daily data files: thousands of files")]),e._v(". Worse, these files come in different formats: some companies and agencies provide CSV files, others Excel files, and still others provide formats which are not very broadly used (e.g. XML and NetCDF).")]),e._v(" "),o("h3",{attrs:{id:"licensing-questions"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#licensing-questions"}},[e._v("#")]),e._v(" Licensing Questions")]),e._v(" "),o("p",[e._v("And maybe least known, but really tricky for us is the fact that all those data are subject to copyright. These data are open in the sense that they are on the Internet to be accessed freely, but they are not open in the legal sense; you are not allowed to use them or republish them or share them with others. If you look at the terms of use that you agree on to download, it will usually says that all those data are subject to copyright and you are not allowed to do anything with them, essentially.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(402),alt:"Available Data"}})]),e._v(" "),o("p",[e._v("This last fact is somewhat surprising. Mostly, the belief is that if something is free online then it’s “Open” but legally that, of course, doesn’t say anything; "),o("strong",[e._v("just because something is on YouTube and you can access that for free, that doesn’t mean you can copy, resample, and sell it to someone. And the same is true for data.")]),e._v(" So, in the project, we are trying to convince these owners and suppliers of data to change their terms of use, provide good licenses, publish data under an open license, preferably, something like Creative Commons"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" or the ODbL"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(", or something else that people from the open world use. That’s a very burdensome process; we just talked to four German transmission system operators and it took us a full year of meetings and emails to convince them. They finally signed on to open licensing last month.")]),e._v(" "),o("h3",{attrs:{id:"dirty-data-aka-the-devil-in-the-details"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#dirty-data-aka-the-devil-in-the-details"}},[e._v("#")]),e._v(" ‘Dirty’ data aka the devil in the details")]),e._v(" "),o("p",[e._v("Some of the most annoying problems are not the major problems, but all these surprising minor problems. As I mentioned earlier, I work a lot with time series data and there are so many weird mistakes, errors, or random facts in the data. For example, we have one source where every day, the 24th hour of the day is "),o("em",[e._v("simply missing")]),e._v(" so the days only have 23 hours. Another weird phenomenon is that another data source, a huge data source that publishes a lot, only starts the year aligned on weeks, so if the first Monday falls on January 4th, they might miss the first four days of the year. If you want to model energy consumption for a year, you can’t use the data at all because the first four days are missing. So, nitty-gritty nasty stuff like this that makes work really burdensome if you look at this scale of numbers of information: you have to find these errors while looking at hundreds of thousands of data entry points. There’s of course, nothing you can easily do manually.")]),e._v(" "),o("p",[e._v("Our target users are researchers, economists, or engineers interested in energy; they are mostly familiar with Excel, or some statistical software like R, SPSS, or STATA but they are not programmers or data scientists. As a result, they are not experts in data handling and not trained in detecting errors, missing data, and correct interpolation. If you know where to look to find gaps in your data, this is quickly done. However, if you are doing this kind of data wrangling for the first time (and you don’t really want to do it, but rather you want to learn something about solar power in Switzerland) then this is, of course, a long detour for a lot of our users.")]),e._v(" "),o("p",[e._v("We collect time series data for renewable and thermal power plants, each of which we compile into a dataset that follows the specification for a Tabular Data Package"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(", consisting of a "),o("code",[e._v("datapackage.json")]),e._v(" file for metadata and a CSV file containing the actual data. On top of this we include the same data in Excel format and also some differently structured CSV files to suit the needs of different user types. We also implemented a framework that parses the content of the "),o("code",[e._v("datapackage.json")]),e._v(" and renders it into a more human-readable form for our website.")]),e._v(" "),o("p",[e._v("Where the data in each column is homogeneous in terms of the original source, as is the case with time series data, the "),o("code",[e._v("datapackage.json")]),e._v(" file is used to document the sources per column.")]),e._v(" "),o("p",[e._v("We started this project only knowing what we wanted to do in vague terms, but very little understanding of how to go about it, so we weren’t clear at all about how to publish this data. The first idea that we had was to build a database without any of us knowing what a database actually was.")]),e._v(" "),o("p",[o("strong",[e._v("Step-by-step, we realized we would like to offer a full “package” of all data that users can download in one click and have everything they need on their hard drive.")]),e._v(" Sort of a full model input package of everything a researcher would like with the option to just delete (or simply ignore) the data that is not useful.")]),e._v(" "),o("p",[e._v("We had a first workshop"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(" with potential users, and I think one of us, maybe it was Ingmar, Googled you and found out about the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package specification"),o("OutboundLink")],1),e._v(". That it perfectly fit our needs was pretty evident within a few minutes, and we decided to go along with this.")]),e._v(" "),o("p",[e._v("A lot of our clients are practitioners that use Microsoft Excel as a standard tool. If I look at a data source, and I open a well structured Excel sheet with colors and (visually) well structured tables, it makes it a lot easier for me to get a first glimpse of the data and an insight as to what’s in there, what’s not in there, its quality, how well it is documented, and so on. So the one difficulty I see from a user perspective with the Data Package specification (at least, in the way we use it) is that CSV and JSON files take more than one click in a browser to get a human-readable, easily understandable, picture of the data.")]),e._v(" "),o("p",[e._v("The stuff that is convenient for humans to structure content—colors, headlines, bolding, the right number of decimals, different types of data sorted by blocks, with visual spaces in between; this stuff makes a table aesthetically convenient to read, but is totally unnecessary for being machine-readable. The number one priority for us is to have the data in a format that’s machine-readable and my view is that Frictionless Data/Data Packages are perfect for this. But from the "),o("em",[e._v("have-a-first-glimpse-at-the-data-as-a-human perspective")]),e._v(", having a nice colored Excel table, from my personal point of view, is still preferable. We have decided in the end just to provide both. We publish everything as a Data Package and on top of that we also publish the data in an Excel file for those who prefer it. On top of that we publish everything in an SQLite database for our clients and users who would like it in an SQL database.")]),e._v(" "),o("p",[e._v("We also think there is potential to expand on the "),o("a",{attrs:{href:"http://data.okfn.org/tools/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Viewer"),o("OutboundLink")],1),e._v(" tool provided by Open Knowledge International. In its current state, we cannot really use it, because it hangs on the big datasets we’re working with. So mainly, I would imagine that for large datasets, the Data Package Viewer should not try to show and visualize all data but just, for example, show a summary. Furthermore, it would be nice if it also offered possibilities to filter the datasets for downloading of subsets. The filter criteria could be specified as part of the "),o("code",[e._v("datapackage.json")]),e._v(".")]),e._v(" "),o("p",[e._v("The old data package viewer, referenced above, is now deprecated. The new data package viewer, available on "),o("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("create.frictionlessdata.io"),o("OutboundLink")],1),e._v(", addresses the issues raised above.")]),e._v(" "),o("p",[e._v("Generally I think such an online Data Package viewer could be made more and more feature-rich as you go. It could, for example, also offer possibilities to download the data in alternative formats such as Excel or SQLite, which would be generated by the Data Package viewer automatically on the server-side (of course, the data would then need to be cached on the server side).")]),e._v(" "),o("p",[e._v("Advantages I see from those things are:")]),e._v(" "),o("ul",[o("li",[e._v("Ease of use for data providers: Just provide the CSV with a proper description of all fields in the "),o("code",[e._v("datapackage.json")]),e._v(", and everything else is taken care of by the online Data Package viewer.")]),e._v(" "),o("li",[e._v("Ease of use for data consumers: They get what they want (filtered) in the format they prefer.")]),e._v(" "),o("li",[e._v("Implicitly that would also do a proper validation of the"),o("code",[e._v("datapackage.json")]),e._v(": Because if you have an error there, then things will also be messed up in the automatically generated files. So that also ensures good "),o("code",[e._v("datapackage.json")]),e._v(" metadata quality in general which is important for all sorts of things you can do with Data Packages.")])]),e._v(" "),o("p",[e._v("Regarding the data processing workflow we created, I would refer you to our processingscripts"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" on GitHub. I talked a lot about time series data – this should give you an "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data/time_series/blob/master/main.ipynb",target:"_blank",rel:"noopener noreferrer"}},[e._v("overview"),o("OutboundLink")],1),e._v("; here are the "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data/time_series/blob/master/processing.ipynb",target:"_blank",rel:"noopener noreferrer"}},[e._v("processing details"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("In the coming days, we are going to extend the geographic scope and other various details—user friendliness, interpolation, data quality issues—so no big changes, just further work in the same direction.")]),e._v(" "),o("hr",{staticClass:"footnotes-sep"}),e._v(" "),o("section",{staticClass:"footnotes"},[o("ol",{staticClass:"footnotes-list"},[o("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[o("p",[e._v("Data Platform: "),o("a",{attrs:{href:"http://data.open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://data.open-power-system-data.org/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[o("p",[o("a",{attrs:{href:"https://creativecommons.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://creativecommons.org/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[o("p",[o("a",{attrs:{href:"http://opendatacommons.org/licenses/odbl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://opendatacommons.org/licenses/odbl/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[o("p",[e._v("Tabular Data Package specifications: "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/tabular-data-package/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[o("p",[e._v("First Workshop of Open Power System Data: "),o("a",{attrs:{href:"http://open-power-system-data.org/workshop-1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://open-power-system-data.org/workshop-1/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[o("p",[e._v("GitHub repository: "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/Open-Power-System-Data"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{400:function(e,t,a){e.exports=a.p+"assets/img/opsd-1.1c092f24.png"},401:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAADhBAMAAAAqklG9AAAAA3NCSVQICAjb4U/gAAAAD1BMVEX////5+vxofr9jer1mZmZoad7eAAAACXBIWXMAABu8AAAbvAG6t6C7AAAAH3RFWHRTb2Z0d2FyZQBNYWNyb21lZGlhIEZpcmV3b3JrcyA4tWjSeAAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMC8wMS8xMHPQsdoAAAR3SURBVHic7drLbVsHFEVRA0kDQSpIKjDiBjJI/zVl4O0JIRESfG7iz1ozCU/k1eEe8sM/cODD/30APyZhcUJYnBAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhceJLWH9/gIFfhcUFYXFCWJwQFieExQlhcUJYnBAWJ4TFCWFxQlicEBYnhMUJYXHipwvrl0+camdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612fl9YD5/Kx5efevkNv+bhL+/7/Kqnp7/yL/z152cPT/322e9PJ3zlyK955TeN823rdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU4XlrC2Ol1YwtrqdGEJa6vThSWsrU5/Y1j90ds+78HDD54HvQjr4fPut3/065e3e+Wqh4efv9Tzv335jb5t3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNwhLWVjcLS1hb3SwsYW11s7CEtdXNh2E9GH4f6/mPzw3DesXDw+8K6003f9u6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5sPw3o+1rseflvBb3o/38c61s3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvdLCxhbXWzsIS11c3CEtZWNwtLWFvd/Mawnk/58uf9rrA+PX3l59+4Wnwf6+Gph85e3k5YL+lmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbhaWsLa6WVjC2upmYQlrq5uFJaytbn5fWD+A7+pD+h61s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjsLi612FhZb7SwsttpZWGy1s7DYamdhsdXOwmKrnYXFVjv/dGHx3xAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhcUJYnBAWJ4TFicewYEpYnBAWJ4TFCWFxQlicEBYnhMUJYXFCWJwQFieExQlhcUJYnBAWJ/4F28cFi0QhXqwAAAAASUVORK5CYII="},561:function(e,t,a){"use strict";a.r(t);var o=a(29),s=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"http://open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Power System Data"),o("OutboundLink")],1),e._v(" aims at providing a "),o("strong",[e._v("free-of-charge")]),e._v(" and "),o("strong",[e._v("open")]),e._v(" platform"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" that provides the data needed for power system analysis and modeling.")]),e._v(" "),o("p",[e._v("All of our project members are energy researchers. We struggled collecting this kind of data in what is typically a very burdensome and lengthy process. In doing my PhD, I spent the first year collecting data and realized that "),o("em",[e._v("not only had many others done that before, but that many others coming later would have to do it again")]),e._v(". This is arguably a huge waste of time and resources, so we thought we (Open Power System Data) should align ourselves and join forces to do this properly, once and for all, and in a free and open manner to be used by everyone. We are funded for two years by the German government. After starting work in 2015, we have about one more year to go.")]),e._v(" "),o("p",[e._v("On one hand, people who are interested in European power systems are lucky because a lot of data needed for that research is available. If you work on, say, Chinese systems, and you are not employed at the Chinese power company, you probably won’t find anything. On the other hand, if you search long enough (and you know where to look), you can find stuff online (and usually free of charge) on European power systems—not everything you want, but a"),o("br"),e._v("\nbig chunk, so in that respect, we are all lucky. However, this data is quite problematic for many reasons.")]),e._v(" "),o("p",[o("a",{attrs:{href:"http://data.open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:a(400),alt:"Available Data"}}),o("OutboundLink")],1)]),e._v(" "),o("p",[o("em",[e._v("Data availability overview on the platform")])]),e._v(" "),o("p",[e._v("Some of the problems we face in working with data include:")]),e._v(" "),o("ul",[o("li",[e._v("varied data sources and formats")]),e._v(" "),o("li",[e._v("licensing issues")]),e._v(" "),o("li",[e._v("‘dirty’ data")])]),e._v(" "),o("h3",{attrs:{id:"inconsistent-data-sources-and-formats"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#inconsistent-data-sources-and-formats"}},[e._v("#")]),e._v(" Inconsistent Data Sources and formats")]),e._v(" "),o("p",[e._v("First, it is scattered throughout the Internet and very hard to Google. For example, the Spanish government will only publish their data in the Spanish language, while the German government will publish only in German, so you need to speak 20 languages if we are talking about Europe. Second, it is often of low quality. For instance, we work with a lot with time series data—that is, hourly data for electricity generation and consumption. Twice a year, during the shift between summer and winter, there is sort of an “extra” or “missing” hour to account for daylight savings time. Every single data source has a different approach for how to handle that. While some datasets just ignore it, some double the hours, while others call the third hour something like “3a” and “3b”. To align these data sources, you have to handle all these different approaches. In addition, some data providers, for example, provide data in one format for the years 2010 and 2011, and then for 2012 and 2013 in a different format, and 2014 and 2015 in yet another format. A lot of that data comes in little chunks, so some datasets have one file for everything (which is great) but then others provide files split by the year, the month, or even the day. "),o("strong",[e._v("If you are not familiar with programming, you can’t write scripts to download that, and you have to manually download three years of daily data files: thousands of files")]),e._v(". Worse, these files come in different formats: some companies and agencies provide CSV files, others Excel files, and still others provide formats which are not very broadly used (e.g. XML and NetCDF).")]),e._v(" "),o("h3",{attrs:{id:"licensing-questions"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#licensing-questions"}},[e._v("#")]),e._v(" Licensing Questions")]),e._v(" "),o("p",[e._v("And maybe least known, but really tricky for us is the fact that all those data are subject to copyright. These data are open in the sense that they are on the Internet to be accessed freely, but they are not open in the legal sense; you are not allowed to use them or republish them or share them with others. If you look at the terms of use that you agree on to download, it will usually says that all those data are subject to copyright and you are not allowed to do anything with them, essentially.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(401),alt:"Available Data"}})]),e._v(" "),o("p",[e._v("This last fact is somewhat surprising. Mostly, the belief is that if something is free online then it’s “Open” but legally that, of course, doesn’t say anything; "),o("strong",[e._v("just because something is on YouTube and you can access that for free, that doesn’t mean you can copy, resample, and sell it to someone. And the same is true for data.")]),e._v(" So, in the project, we are trying to convince these owners and suppliers of data to change their terms of use, provide good licenses, publish data under an open license, preferably, something like Creative Commons"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" or the ODbL"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(", or something else that people from the open world use. That’s a very burdensome process; we just talked to four German transmission system operators and it took us a full year of meetings and emails to convince them. They finally signed on to open licensing last month.")]),e._v(" "),o("h3",{attrs:{id:"dirty-data-aka-the-devil-in-the-details"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#dirty-data-aka-the-devil-in-the-details"}},[e._v("#")]),e._v(" ‘Dirty’ data aka the devil in the details")]),e._v(" "),o("p",[e._v("Some of the most annoying problems are not the major problems, but all these surprising minor problems. As I mentioned earlier, I work a lot with time series data and there are so many weird mistakes, errors, or random facts in the data. For example, we have one source where every day, the 24th hour of the day is "),o("em",[e._v("simply missing")]),e._v(" so the days only have 23 hours. Another weird phenomenon is that another data source, a huge data source that publishes a lot, only starts the year aligned on weeks, so if the first Monday falls on January 4th, they might miss the first four days of the year. If you want to model energy consumption for a year, you can’t use the data at all because the first four days are missing. So, nitty-gritty nasty stuff like this that makes work really burdensome if you look at this scale of numbers of information: you have to find these errors while looking at hundreds of thousands of data entry points. There’s of course, nothing you can easily do manually.")]),e._v(" "),o("p",[e._v("Our target users are researchers, economists, or engineers interested in energy; they are mostly familiar with Excel, or some statistical software like R, SPSS, or STATA but they are not programmers or data scientists. As a result, they are not experts in data handling and not trained in detecting errors, missing data, and correct interpolation. If you know where to look to find gaps in your data, this is quickly done. However, if you are doing this kind of data wrangling for the first time (and you don’t really want to do it, but rather you want to learn something about solar power in Switzerland) then this is, of course, a long detour for a lot of our users.")]),e._v(" "),o("p",[e._v("We collect time series data for renewable and thermal power plants, each of which we compile into a dataset that follows the specification for a Tabular Data Package"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(", consisting of a "),o("code",[e._v("datapackage.json")]),e._v(" file for metadata and a CSV file containing the actual data. On top of this we include the same data in Excel format and also some differently structured CSV files to suit the needs of different user types. We also implemented a framework that parses the content of the "),o("code",[e._v("datapackage.json")]),e._v(" and renders it into a more human-readable form for our website.")]),e._v(" "),o("p",[e._v("Where the data in each column is homogeneous in terms of the original source, as is the case with time series data, the "),o("code",[e._v("datapackage.json")]),e._v(" file is used to document the sources per column.")]),e._v(" "),o("p",[e._v("We started this project only knowing what we wanted to do in vague terms, but very little understanding of how to go about it, so we weren’t clear at all about how to publish this data. The first idea that we had was to build a database without any of us knowing what a database actually was.")]),e._v(" "),o("p",[o("strong",[e._v("Step-by-step, we realized we would like to offer a full “package” of all data that users can download in one click and have everything they need on their hard drive.")]),e._v(" Sort of a full model input package of everything a researcher would like with the option to just delete (or simply ignore) the data that is not useful.")]),e._v(" "),o("p",[e._v("We had a first workshop"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(" with potential users, and I think one of us, maybe it was Ingmar, Googled you and found out about the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package specification"),o("OutboundLink")],1),e._v(". That it perfectly fit our needs was pretty evident within a few minutes, and we decided to go along with this.")]),e._v(" "),o("p",[e._v("A lot of our clients are practitioners that use Microsoft Excel as a standard tool. If I look at a data source, and I open a well structured Excel sheet with colors and (visually) well structured tables, it makes it a lot easier for me to get a first glimpse of the data and an insight as to what’s in there, what’s not in there, its quality, how well it is documented, and so on. So the one difficulty I see from a user perspective with the Data Package specification (at least, in the way we use it) is that CSV and JSON files take more than one click in a browser to get a human-readable, easily understandable, picture of the data.")]),e._v(" "),o("p",[e._v("The stuff that is convenient for humans to structure content—colors, headlines, bolding, the right number of decimals, different types of data sorted by blocks, with visual spaces in between; this stuff makes a table aesthetically convenient to read, but is totally unnecessary for being machine-readable. The number one priority for us is to have the data in a format that’s machine-readable and my view is that Frictionless Data/Data Packages are perfect for this. But from the "),o("em",[e._v("have-a-first-glimpse-at-the-data-as-a-human perspective")]),e._v(", having a nice colored Excel table, from my personal point of view, is still preferable. We have decided in the end just to provide both. We publish everything as a Data Package and on top of that we also publish the data in an Excel file for those who prefer it. On top of that we publish everything in an SQLite database for our clients and users who would like it in an SQL database.")]),e._v(" "),o("p",[e._v("We also think there is potential to expand on the "),o("a",{attrs:{href:"http://data.okfn.org/tools/view",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Viewer"),o("OutboundLink")],1),e._v(" tool provided by Open Knowledge International. In its current state, we cannot really use it, because it hangs on the big datasets we’re working with. So mainly, I would imagine that for large datasets, the Data Package Viewer should not try to show and visualize all data but just, for example, show a summary. Furthermore, it would be nice if it also offered possibilities to filter the datasets for downloading of subsets. The filter criteria could be specified as part of the "),o("code",[e._v("datapackage.json")]),e._v(".")]),e._v(" "),o("p",[e._v("The old data package viewer, referenced above, is now deprecated. The new data package viewer, available on "),o("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("create.frictionlessdata.io"),o("OutboundLink")],1),e._v(", addresses the issues raised above.")]),e._v(" "),o("p",[e._v("Generally I think such an online Data Package viewer could be made more and more feature-rich as you go. It could, for example, also offer possibilities to download the data in alternative formats such as Excel or SQLite, which would be generated by the Data Package viewer automatically on the server-side (of course, the data would then need to be cached on the server side).")]),e._v(" "),o("p",[e._v("Advantages I see from those things are:")]),e._v(" "),o("ul",[o("li",[e._v("Ease of use for data providers: Just provide the CSV with a proper description of all fields in the "),o("code",[e._v("datapackage.json")]),e._v(", and everything else is taken care of by the online Data Package viewer.")]),e._v(" "),o("li",[e._v("Ease of use for data consumers: They get what they want (filtered) in the format they prefer.")]),e._v(" "),o("li",[e._v("Implicitly that would also do a proper validation of the"),o("code",[e._v("datapackage.json")]),e._v(": Because if you have an error there, then things will also be messed up in the automatically generated files. So that also ensures good "),o("code",[e._v("datapackage.json")]),e._v(" metadata quality in general which is important for all sorts of things you can do with Data Packages.")])]),e._v(" "),o("p",[e._v("Regarding the data processing workflow we created, I would refer you to our processingscripts"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" on GitHub. I talked a lot about time series data – this should give you an "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data/time_series/blob/master/main.ipynb",target:"_blank",rel:"noopener noreferrer"}},[e._v("overview"),o("OutboundLink")],1),e._v("; here are the "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data/time_series/blob/master/processing.ipynb",target:"_blank",rel:"noopener noreferrer"}},[e._v("processing details"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("In the coming days, we are going to extend the geographic scope and other various details—user friendliness, interpolation, data quality issues—so no big changes, just further work in the same direction.")]),e._v(" "),o("hr",{staticClass:"footnotes-sep"}),e._v(" "),o("section",{staticClass:"footnotes"},[o("ol",{staticClass:"footnotes-list"},[o("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[o("p",[e._v("Data Platform: "),o("a",{attrs:{href:"http://data.open-power-system-data.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://data.open-power-system-data.org/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[o("p",[o("a",{attrs:{href:"https://creativecommons.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://creativecommons.org/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[o("p",[o("a",{attrs:{href:"http://opendatacommons.org/licenses/odbl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://opendatacommons.org/licenses/odbl/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[o("p",[e._v("Tabular Data Package specifications: "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/tabular-data-package/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[o("p",[e._v("First Workshop of Open Power System Data: "),o("a",{attrs:{href:"http://open-power-system-data.org/workshop-1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://open-power-system-data.org/workshop-1/"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[o("p",[e._v("GitHub repository: "),o("a",{attrs:{href:"https://github.com/Open-Power-System-Data",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/Open-Power-System-Data"),o("OutboundLink")],1),e._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/33.72bf6e52.js b/assets/js/33.61ab0c22.js similarity index 97% rename from assets/js/33.72bf6e52.js rename to assets/js/33.61ab0c22.js index 336c1616d..fafef4e6a 100644 --- a/assets/js/33.72bf6e52.js +++ b/assets/js/33.61ab0c22.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{429:function(e,t,a){e.exports=a.p+"assets/img/elife1.bec2a182.png"},430:function(e,t,a){e.exports=a.p+"assets/img/elife3.4a4230d3.png"},577:function(e,t,a){"use strict";a.r(t);var r=a(29),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"context"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://elifesciences.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("eLife"),r("OutboundLink")],1),e._v(" is a non-profit organisation with a mission to help scientists accelerate discovery by operating a platform for research communication that encourages and recognises the most responsible behaviours in science. eLife publishes important research in all areas of life and biomedical sciences. The research is selected and evaluated by working scientists and is made freely available to all readers.")]),e._v(" "),r("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),r("p",[e._v("Having met at csv,conf,v3 in Portland in May 2017, eLife’s "),r("a",{attrs:{href:"https://www.youtube.com/watch?v=YYWNSWNq-do&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN&index=27",target:"_blank",rel:"noopener noreferrer"}},[e._v("Naomi Penfold"),r("OutboundLink")],1),e._v(" and Open Knowledge International’s "),r("a",{attrs:{href:"https://www.youtube.com/watch?v=Gk2F4hncAgY&index=35&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN",target:"_blank",rel:"noopener noreferrer"}},[e._v("Adrià Mercader"),r("OutboundLink")],1),e._v(" determined that eLife would be a good candidate for a Frictionless Data pilot. eLife has a strong emphasis on research data, and stood to benefit from the data validation service offered by Frictionless Data’s goodtables.")]),e._v(" "),r("h2",{attrs:{id:"the-work"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),r("p",[e._v("In order to assess the potential for a goodtables integration at eLife, we first needed to measure the quality of source data shared directly through eLife.")]),e._v(" "),r("h3",{attrs:{id:"software"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),r("p",[e._v("To explore the data published in the eLife platform we used the goodtables library"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(". Both the goodtables python library and web service"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" were developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema. You can read more about them "),r("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this introductory blog post"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h3",{attrs:{id:"what-did-we-do"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),r("p",[e._v("The first stage was to perform validation on all files made available through the eLife API in order to generate a report on data quality - this would allow us to understand the current state of eLife-published data and present the possibility of doing more exciting things with the data such as more comprehensive tests or visualisations.")]),e._v(" "),r("p",[e._v("The process:")]),e._v(" "),r("ul",[r("li",[e._v("We downloaded a big subset of the articles metadata made available via the eLife public API"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(".")]),e._v(" "),r("li",[e._v("We parsed all metadata files in order to extract the data files linked to each article, regardless of whether it was an additional file or a figure source. This gave us a direct link to each data file linked to the parent article.")]),e._v(" "),r("li",[e._v("We then ran the validation process on each file, storing the resulting report for future analysis.")])]),e._v(" "),r("p",[e._v("All scripts used in the process as well as the outputs can be found in "),r("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-elife",target:"_blank",rel:"noopener noreferrer"}},[e._v("our pilot repository"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Here are some high-level statistics for the process:")]),e._v(" "),r("p",[e._v("We analyzed 3910 articles, 1085 of which had data files. The most common format was Microsoft Excel Open XML Format Spreadsheet (xlsx), with 89% of all 4318 files being published on this format. Older versions of Excel and CSV files made up the rest.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(429),alt:"datasets analysed by eLife image"}}),e._v(" "),r("em",[e._v("A summary of the eLife research articles analysed as part of the Frictionless Data pilot work")])]),e._v(" "),r("p",[e._v("In terms of validation, more than 75% of the articles analyzed contained at least one invalid file. Of course valid data is an arbitrary term based on the tests that are set within goodtables and results need to be reviewed to adjust the checks performed. For instance errors raised by blank rows are really common on Excel files as people add a title on the first row, leaving an empty row before the data, or empty rows are detected at the end of the sheet.")]),e._v(" "),r("p",[e._v("Other errors raised that might actually point to genuine errors included duplicated headers, extra headers, missing values, incorrect format values (e.g. date format instead of gene name) to give just some examples. Here’s a summary of the raw number of errors encountered. For a more complete description of each error, see the Data Quality Spec"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(":")]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("Error Type")]),e._v(" "),r("th",[e._v("Count")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("Blank rows")]),e._v(" "),r("td",[e._v("45748")])]),e._v(" "),r("tr",[r("td",[e._v("Duplicate rows")]),e._v(" "),r("td",[e._v("9384")])]),e._v(" "),r("tr",[r("td",[e._v("Duplicate headers")]),e._v(" "),r("td",[e._v("6672")])]),e._v(" "),r("tr",[r("td",[e._v("Blank headers")]),e._v(" "),r("td",[e._v("2479")])]),e._v(" "),r("tr",[r("td",[e._v("Missing values")]),e._v(" "),r("td",[e._v("1032")])]),e._v(" "),r("tr",[r("td",[e._v("Extra values")]),e._v(" "),r("td",[e._v("39")])]),e._v(" "),r("tr",[r("td",[e._v("Source errors")]),e._v(" "),r("td",[e._v("11")])]),e._v(" "),r("tr",[r("td",[e._v("Format errors")]),e._v(" "),r("td",[e._v("4")])])])]),e._v(" "),r("h2",{attrs:{id:"review"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),r("h3",{attrs:{id:"how-effective-was-it"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[e._v("#")]),e._v(" How Effective Was It")]),e._v(" "),r("p",[e._v("Following analysis of a sample of the results, the vast majority of the errors appear to be due to the data being presented in nice-looking tables, using formatting to make particular elements more visually clear, as opposed to a machine-readable format:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(430),alt:"example tables image shared by Naomi"}}),e._v(" "),r("em",[e._v("Data from Maddox et al. was shared in a machine-readable format (top), and adapted here to demonstrate how such data are often shared in a format that looks nice to the human reader (bottom)."),r("br"),e._v("\nSource: Source data"),r("br"),e._v("\nThe data file is presented as is and adapted from Maddox et al. eLife 2015;4:e04995 under the Creative Commons Attribution License (CC BY 4.0).")])]),e._v(" "),r("p",[e._v("This is not limited to the academic field of course, and the tendency to present data in spreadsheets so it is visually appealing is perhaps more prevalent in other areas. Perhaps because consumers of the data are even less likely to have the data processed by machines or because the data is collated by people with no experience of having to use it in their work.")]),e._v(" "),r("p",[e._v("In general the eLife datasets had better quality than for instance those created by government organisations, where structural issues like missing headers, extra cells, etc are much more common. So although the results here have been good, the community could derive substantial benefit from researchers going that extra mile to make files more machine-friendly and embrace more robust data description techniques like Data Packages.")]),e._v(" "),r("p",[e._v("Because these types of ‘errors’ are so common we have introduced default "),r("code",[e._v("ignore blank rows")]),e._v(" and "),r("code",[e._v("ignore duplicate rows")]),e._v(" options in "),r("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("our standalone validator"),r("OutboundLink")],1),e._v(" since this helps bring more complex errors to the surface and focusses attention on the errors which may be less trivial to resolve. Excluding duplicate and blank rows as well as duplicate headers (the most common but also relatively simple errors), 6.4% (277/4318) of data files had errors remaining, affecting 10% of research articles (112/1085).")]),e._v(" "),r("p",[e._v("Having said this, the relevance of these errors should not be underplayed as "),r("code",[e._v("blank rows")]),e._v(", "),r("code",[e._v("duplicate rows")]),e._v(" and other human-centered formatting preferences can still result in errors that prevent machine readability. Although the errors were often minor and easy to fix in our case, these seemingly simple errors can be obstructive to anyone trying to reuse data in a more computational workflow. Any computational analysis software, such as R"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(", requires that all column headers are variables and rows are individual observations i.e. we need variables in columns and observations in rows for any R analysis.")]),e._v(" "),r("p",[e._v("Much less frequent errors were related to difficulties retrieving and opening data files. It was certainly helpful to flag articles with files that were not actually possible to open (source-error), and the eLife production team are resolving these issues. While only representing a small number of datasets, this is one use key case for goodtables: enabling publishers to regularly check continued data availability after publication.")]),e._v(" "),r("p",[e._v("The use case for authors is clear — to identify how a dataset could be reshaped to make it reusable. However, this demands extra work if reshaping is a job added at the point of sharing work. In fact, it is important that any issues are resolved before final publication, to avoid adding updated versions of publications/datasets. Tools that reduce this burden by making it easy to quickly edit a datafile to resolve the errors are of interest moving forward. In the meantime, it may be helpful to consider some key best practises as datasets are collected.")]),e._v(" "),r("p",[e._v("Overall, the findings from this pilot demonstrate that there are different ways of producing data for sharing: datasets are predominantly presented in an Excel file with human aesthetics in mind, rather than structured for use by a statistical program. We found few issues with the data itself beyond presentation preferences. This is encouraging and is a great starting point for venturing forward with helping researchers to make greater use of open data.")]),e._v(" "),r("h2",{attrs:{id:"next-steps"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[e._v("#")]),e._v(" Next Steps")]),e._v(" "),r("h3",{attrs:{id:"areas-for-further-work"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-further-work"}},[e._v("#")]),e._v(" Areas for further work")]),e._v(" "),r("p",[e._v("Libraries such as goodtables help to flag the gap between the current situation and the ideal situation, which is machine-readability. Most of the issues identified by goodtables in the datasets shared with eLife relate to structuring the data for human visual consumption: adding space around the table, merging header cells, etc. We encourage researchers to make data as easy to consume as possible, and recognise that datasets built primarily to look good to humans may only be sufficient for low-level reuse.")]),e._v(" "),r("p",[e._v("Moving forward, we are interested in tools and workflows that help to improve data quality earlier in the research lifecycle or make it easy to reshape at the point of sharing or reuse.")]),e._v(" "),r("h2",{attrs:{id:"find-out-more"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[e._v("#")]),e._v(" Find Out More")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-elife",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/pilot-elife"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Parts of this post are "),r("a",{attrs:{href:"https://elifesciences.org/labs/b6de9fb0/data-reusability-a-pilot-with-goodtables",target:"_blank",rel:"noopener noreferrer"}},[e._v("cross-posted"),r("OutboundLink")],1),e._v(" on eLife Labs"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(".")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("goodtables Python library: "),r("a",{attrs:{href:"http://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://github.com/frictionlessdata/goodtables-py"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("goodtables web service: "),r("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://goodtables.io"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("eLife Public API: "),r("a",{attrs:{href:"https://api.elifesciences.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://api.elifesciences.org/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Data Quality Spec: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("R Programming Language: Popular open-source programming language and platform for data analysis: "),r("a",{attrs:{href:"https://www.r-project.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.r-project.org"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("eLife Labs: "),r("a",{attrs:{href:"https://elifesciences.org/labs",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://elifesciences.org/labs"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{428:function(e,t,a){e.exports=a.p+"assets/img/elife1.bec2a182.png"},429:function(e,t,a){e.exports=a.p+"assets/img/elife3.4a4230d3.png"},576:function(e,t,a){"use strict";a.r(t);var r=a(29),s=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h2",{attrs:{id:"context"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://elifesciences.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("eLife"),r("OutboundLink")],1),e._v(" is a non-profit organisation with a mission to help scientists accelerate discovery by operating a platform for research communication that encourages and recognises the most responsible behaviours in science. eLife publishes important research in all areas of life and biomedical sciences. The research is selected and evaluated by working scientists and is made freely available to all readers.")]),e._v(" "),r("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),r("p",[e._v("Having met at csv,conf,v3 in Portland in May 2017, eLife’s "),r("a",{attrs:{href:"https://www.youtube.com/watch?v=YYWNSWNq-do&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN&index=27",target:"_blank",rel:"noopener noreferrer"}},[e._v("Naomi Penfold"),r("OutboundLink")],1),e._v(" and Open Knowledge International’s "),r("a",{attrs:{href:"https://www.youtube.com/watch?v=Gk2F4hncAgY&index=35&list=PLg5zZXwt2ZW5UIz13oI56vfZjF6mvpIXN",target:"_blank",rel:"noopener noreferrer"}},[e._v("Adrià Mercader"),r("OutboundLink")],1),e._v(" determined that eLife would be a good candidate for a Frictionless Data pilot. eLife has a strong emphasis on research data, and stood to benefit from the data validation service offered by Frictionless Data’s goodtables.")]),e._v(" "),r("h2",{attrs:{id:"the-work"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),r("p",[e._v("In order to assess the potential for a goodtables integration at eLife, we first needed to measure the quality of source data shared directly through eLife.")]),e._v(" "),r("h3",{attrs:{id:"software"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),r("p",[e._v("To explore the data published in the eLife platform we used the goodtables library"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(". Both the goodtables python library and web service"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" were developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema. You can read more about them "),r("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this introductory blog post"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("h3",{attrs:{id:"what-did-we-do"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),r("p",[e._v("The first stage was to perform validation on all files made available through the eLife API in order to generate a report on data quality - this would allow us to understand the current state of eLife-published data and present the possibility of doing more exciting things with the data such as more comprehensive tests or visualisations.")]),e._v(" "),r("p",[e._v("The process:")]),e._v(" "),r("ul",[r("li",[e._v("We downloaded a big subset of the articles metadata made available via the eLife public API"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(".")]),e._v(" "),r("li",[e._v("We parsed all metadata files in order to extract the data files linked to each article, regardless of whether it was an additional file or a figure source. This gave us a direct link to each data file linked to the parent article.")]),e._v(" "),r("li",[e._v("We then ran the validation process on each file, storing the resulting report for future analysis.")])]),e._v(" "),r("p",[e._v("All scripts used in the process as well as the outputs can be found in "),r("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-elife",target:"_blank",rel:"noopener noreferrer"}},[e._v("our pilot repository"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Here are some high-level statistics for the process:")]),e._v(" "),r("p",[e._v("We analyzed 3910 articles, 1085 of which had data files. The most common format was Microsoft Excel Open XML Format Spreadsheet (xlsx), with 89% of all 4318 files being published on this format. Older versions of Excel and CSV files made up the rest.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(428),alt:"datasets analysed by eLife image"}}),e._v(" "),r("em",[e._v("A summary of the eLife research articles analysed as part of the Frictionless Data pilot work")])]),e._v(" "),r("p",[e._v("In terms of validation, more than 75% of the articles analyzed contained at least one invalid file. Of course valid data is an arbitrary term based on the tests that are set within goodtables and results need to be reviewed to adjust the checks performed. For instance errors raised by blank rows are really common on Excel files as people add a title on the first row, leaving an empty row before the data, or empty rows are detected at the end of the sheet.")]),e._v(" "),r("p",[e._v("Other errors raised that might actually point to genuine errors included duplicated headers, extra headers, missing values, incorrect format values (e.g. date format instead of gene name) to give just some examples. Here’s a summary of the raw number of errors encountered. For a more complete description of each error, see the Data Quality Spec"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(":")]),e._v(" "),r("table",[r("thead",[r("tr",[r("th",[e._v("Error Type")]),e._v(" "),r("th",[e._v("Count")])])]),e._v(" "),r("tbody",[r("tr",[r("td",[e._v("Blank rows")]),e._v(" "),r("td",[e._v("45748")])]),e._v(" "),r("tr",[r("td",[e._v("Duplicate rows")]),e._v(" "),r("td",[e._v("9384")])]),e._v(" "),r("tr",[r("td",[e._v("Duplicate headers")]),e._v(" "),r("td",[e._v("6672")])]),e._v(" "),r("tr",[r("td",[e._v("Blank headers")]),e._v(" "),r("td",[e._v("2479")])]),e._v(" "),r("tr",[r("td",[e._v("Missing values")]),e._v(" "),r("td",[e._v("1032")])]),e._v(" "),r("tr",[r("td",[e._v("Extra values")]),e._v(" "),r("td",[e._v("39")])]),e._v(" "),r("tr",[r("td",[e._v("Source errors")]),e._v(" "),r("td",[e._v("11")])]),e._v(" "),r("tr",[r("td",[e._v("Format errors")]),e._v(" "),r("td",[e._v("4")])])])]),e._v(" "),r("h2",{attrs:{id:"review"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),r("h3",{attrs:{id:"how-effective-was-it"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[e._v("#")]),e._v(" How Effective Was It")]),e._v(" "),r("p",[e._v("Following analysis of a sample of the results, the vast majority of the errors appear to be due to the data being presented in nice-looking tables, using formatting to make particular elements more visually clear, as opposed to a machine-readable format:")]),e._v(" "),r("p",[r("img",{attrs:{src:a(429),alt:"example tables image shared by Naomi"}}),e._v(" "),r("em",[e._v("Data from Maddox et al. was shared in a machine-readable format (top), and adapted here to demonstrate how such data are often shared in a format that looks nice to the human reader (bottom)."),r("br"),e._v("\nSource: Source data"),r("br"),e._v("\nThe data file is presented as is and adapted from Maddox et al. eLife 2015;4:e04995 under the Creative Commons Attribution License (CC BY 4.0).")])]),e._v(" "),r("p",[e._v("This is not limited to the academic field of course, and the tendency to present data in spreadsheets so it is visually appealing is perhaps more prevalent in other areas. Perhaps because consumers of the data are even less likely to have the data processed by machines or because the data is collated by people with no experience of having to use it in their work.")]),e._v(" "),r("p",[e._v("In general the eLife datasets had better quality than for instance those created by government organisations, where structural issues like missing headers, extra cells, etc are much more common. So although the results here have been good, the community could derive substantial benefit from researchers going that extra mile to make files more machine-friendly and embrace more robust data description techniques like Data Packages.")]),e._v(" "),r("p",[e._v("Because these types of ‘errors’ are so common we have introduced default "),r("code",[e._v("ignore blank rows")]),e._v(" and "),r("code",[e._v("ignore duplicate rows")]),e._v(" options in "),r("a",{attrs:{href:"https://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("our standalone validator"),r("OutboundLink")],1),e._v(" since this helps bring more complex errors to the surface and focusses attention on the errors which may be less trivial to resolve. Excluding duplicate and blank rows as well as duplicate headers (the most common but also relatively simple errors), 6.4% (277/4318) of data files had errors remaining, affecting 10% of research articles (112/1085).")]),e._v(" "),r("p",[e._v("Having said this, the relevance of these errors should not be underplayed as "),r("code",[e._v("blank rows")]),e._v(", "),r("code",[e._v("duplicate rows")]),e._v(" and other human-centered formatting preferences can still result in errors that prevent machine readability. Although the errors were often minor and easy to fix in our case, these seemingly simple errors can be obstructive to anyone trying to reuse data in a more computational workflow. Any computational analysis software, such as R"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(", requires that all column headers are variables and rows are individual observations i.e. we need variables in columns and observations in rows for any R analysis.")]),e._v(" "),r("p",[e._v("Much less frequent errors were related to difficulties retrieving and opening data files. It was certainly helpful to flag articles with files that were not actually possible to open (source-error), and the eLife production team are resolving these issues. While only representing a small number of datasets, this is one use key case for goodtables: enabling publishers to regularly check continued data availability after publication.")]),e._v(" "),r("p",[e._v("The use case for authors is clear — to identify how a dataset could be reshaped to make it reusable. However, this demands extra work if reshaping is a job added at the point of sharing work. In fact, it is important that any issues are resolved before final publication, to avoid adding updated versions of publications/datasets. Tools that reduce this burden by making it easy to quickly edit a datafile to resolve the errors are of interest moving forward. In the meantime, it may be helpful to consider some key best practises as datasets are collected.")]),e._v(" "),r("p",[e._v("Overall, the findings from this pilot demonstrate that there are different ways of producing data for sharing: datasets are predominantly presented in an Excel file with human aesthetics in mind, rather than structured for use by a statistical program. We found few issues with the data itself beyond presentation preferences. This is encouraging and is a great starting point for venturing forward with helping researchers to make greater use of open data.")]),e._v(" "),r("h2",{attrs:{id:"next-steps"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[e._v("#")]),e._v(" Next Steps")]),e._v(" "),r("h3",{attrs:{id:"areas-for-further-work"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-further-work"}},[e._v("#")]),e._v(" Areas for further work")]),e._v(" "),r("p",[e._v("Libraries such as goodtables help to flag the gap between the current situation and the ideal situation, which is machine-readability. Most of the issues identified by goodtables in the datasets shared with eLife relate to structuring the data for human visual consumption: adding space around the table, merging header cells, etc. We encourage researchers to make data as easy to consume as possible, and recognise that datasets built primarily to look good to humans may only be sufficient for low-level reuse.")]),e._v(" "),r("p",[e._v("Moving forward, we are interested in tools and workflows that help to improve data quality earlier in the research lifecycle or make it easy to reshape at the point of sharing or reuse.")]),e._v(" "),r("h2",{attrs:{id:"find-out-more"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[e._v("#")]),e._v(" Find Out More")]),e._v(" "),r("p",[r("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-elife",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/pilot-elife"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Parts of this post are "),r("a",{attrs:{href:"https://elifesciences.org/labs/b6de9fb0/data-reusability-a-pilot-with-goodtables",target:"_blank",rel:"noopener noreferrer"}},[e._v("cross-posted"),r("OutboundLink")],1),e._v(" on eLife Labs"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(".")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("goodtables Python library: "),r("a",{attrs:{href:"http://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://github.com/frictionlessdata/goodtables-py"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("goodtables web service: "),r("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://goodtables.io"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("eLife Public API: "),r("a",{attrs:{href:"https://api.elifesciences.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://api.elifesciences.org/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Data Quality Spec: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/data-quality-spec/blob/master/spec.json"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("R Programming Language: Popular open-source programming language and platform for data analysis: "),r("a",{attrs:{href:"https://www.r-project.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.r-project.org"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("eLife Labs: "),r("a",{attrs:{href:"https://elifesciences.org/labs",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://elifesciences.org/labs"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/34.7fe9cce9.js b/assets/js/34.3af1194f.js similarity index 96% rename from assets/js/34.7fe9cce9.js rename to assets/js/34.3af1194f.js index 79b3d7a89..bfa95e9c2 100644 --- a/assets/js/34.7fe9cce9.js +++ b/assets/js/34.3af1194f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{450:function(t,a,e){t.exports=e.p+"assets/img/goodtablesio-screenshot.132bcda0.png"},451:function(t,a,e){t.exports=e.p+"assets/img/ckan-validation.c22eb702.png"},590:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("One-off validation of your tabular datasets can be hectic, especially where plenty of published data is maintained and updated fairly regularly.")]),t._v(" "),o("p",[t._v("Running continuous checks on data provides regular feedback and contributes to better data quality as errors can be flagged and fixed early on. This section introduces you to tools that continually check your data for errors and flag content and structural issues as they arise. By eliminating the need to run manual checks on tabular datasets every time they are updated, they make your data workflow more efficient.")]),t._v(" "),o("p",[t._v("In this section, you will learn how to setup automatic tabular data validation using goodtables, so your data is validated every time it’s updated. Although not strictly necessary, it’s useful to "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[t._v("know about Data Packages and Table Schema")]),t._v(" before proceeding, as they allow you to describe your data in more detail, allowing more advanced validations.")],1),t._v(" "),o("p",[t._v("We will show how to set up automated tabular data validations for data published on:")]),t._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(", an open source data publishing platform;")]),t._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),o("OutboundLink")],1),t._v(", a hosting service;")]),t._v(" "),o("li",[o("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Amazon S3"),o("OutboundLink")],1),t._v(", a data storage service.")])]),t._v(" "),o("p",[t._v("If you don’t use any of these platforms, you can still setup the validation using "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables-py"),o("OutboundLink")],1),t._v(", it will just require some technical knowledge")]),t._v(" "),o("p",[t._v("If you do use some of these platforms, the data validation report look like:")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://goodtables.io/github/vitorbaptista/birmingham_schools/jobs/3",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:e(450),alt:"Figure 1: Goodtables.io tabular data validation report"}}),o("OutboundLink")],1),o("br"),t._v(" "),o("em",[t._v("Figure 1: "),o("a",{attrs:{href:"http://Goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Goodtables.io"),o("OutboundLink")],1),t._v(" tabular data validation report.")])]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-ckan"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-ckan"}},[t._v("#")]),t._v(" Validate tabular data automatically on CKAN")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(" is an open source platform for publishing data online. It is widely used across the planet, including by the federal governments of the USA, United Kingdom, Brazil, and others.")]),t._v(" "),o("p",[t._v("To automatically validate tabular data on CKAN, enable the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension, which uses goodtables to run continuous checks on your data. The "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension:")]),t._v(" "),o("ul",[o("li",[t._v("Adds a badge next to each dataset showing the status of their validation (valid or invalid), and")]),t._v(" "),o("li",[t._v("Allows users to access the validation report, making it possible for errors to be identified and fixed.")])]),t._v(" "),o("p",[o("img",{attrs:{src:e(451),alt:"Figure 2: Annotated in red, automated validation checks on datasets in CKAN"}}),o("br"),t._v(" "),o("em",[t._v("Figure 2: Annotated in red, automated validation checks on datasets in CKAN.")])]),t._v(" "),o("p",[t._v("The installation and usage instructions for "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension are available on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("Github"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-github"}},[t._v("#")]),t._v(" Validate tabular data automatically on GitHub")]),t._v(" "),o("p",[t._v("If your data is hosted on GitHub, you can use goodtables web service to automatically validate it on every change.")]),t._v(" "),o("p",[t._v("For this section, you will first need to create a "),o("a",{attrs:{href:"https://help.github.com/articles/create-a-repo/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub repository"),o("OutboundLink")],1),t._v(" and add tabular data to it.")]),t._v(" "),o("p",[t._v("Once you have tabular data in your Github repository:")]),t._v(" "),o("ol",[o("li",[t._v("Login on "),o("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(" using your GitHub account and accept the permissions confirmation.")]),t._v(" "),o("li",[t._v("Once we’ve synchronized your repository list, go to the "),o("a",{attrs:{href:"https://goodtables.io/settings",target:"_blank",rel:"noopener noreferrer"}},[t._v("Manage Sources"),o("OutboundLink")],1),t._v(" page and enable the repository with the data you want to validate.\n"),o("ul",[o("li",[t._v("If you can’t find the repository, try clicking on the Refresh button on the Manage Sources page")])])])]),t._v(" "),o("p",[t._v("Goodtables will then validate all tabular data files (CSV, XLS, XLSX, ODS) and "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("data packages"),o("OutboundLink")],1),t._v(" in the repository. These validations will be executed on every change, including pull requests.")]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-amazon-s3"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-amazon-s3"}},[t._v("#")]),t._v(" Validate tabular data automatically on Amazon S3")]),t._v(" "),o("p",[t._v("If your data is hosted on Amazon S3, you can use "),o("a",{attrs:{href:"https://goodtables.io/",title:"Goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(" to automatically validate it on every change.")]),t._v(" "),o("p",[t._v("It is a technical process to set up, as you need to know how to configure your Amazon S3 bucket. However, once it’s configured, the validations happen automatically on any tabular data created or updated. Find the detailed instructions "),o("a",{attrs:{href:"https://docs.goodtables.io/getting_started/s3.html",title:"Goodtables.io Amazon S3 instructions",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"custom-setup-of-automatic-tabular-data-validation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#custom-setup-of-automatic-tabular-data-validation"}},[t._v("#")]),t._v(" Custom setup of automatic tabular data validation")]),t._v(" "),o("p",[t._v("If you don’t use any of the officially supported data publishing platforms, you can use "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables-py"),o("OutboundLink")],1),t._v(" directly to validate your data. This is the most flexible option, as you can configure exactly when, and how your tabular data is validated. For example, if your data come from an external source, you could validate it once before you process it (so you catch errors in the source data), and once after cleaning, just before you publish it, so you catch errors introduced by your data processing.")]),t._v(" "),o("p",[t._v("The instructions on how to do this are technical, and can be found on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/goodtables-py"),o("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{455:function(t,a,e){t.exports=e.p+"assets/img/goodtablesio-screenshot.132bcda0.png"},456:function(t,a,e){t.exports=e.p+"assets/img/ckan-validation.c22eb702.png"},592:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("One-off validation of your tabular datasets can be hectic, especially where plenty of published data is maintained and updated fairly regularly.")]),t._v(" "),o("p",[t._v("Running continuous checks on data provides regular feedback and contributes to better data quality as errors can be flagged and fixed early on. This section introduces you to tools that continually check your data for errors and flag content and structural issues as they arise. By eliminating the need to run manual checks on tabular datasets every time they are updated, they make your data workflow more efficient.")]),t._v(" "),o("p",[t._v("In this section, you will learn how to setup automatic tabular data validation using goodtables, so your data is validated every time it’s updated. Although not strictly necessary, it’s useful to "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[t._v("know about Data Packages and Table Schema")]),t._v(" before proceeding, as they allow you to describe your data in more detail, allowing more advanced validations.")],1),t._v(" "),o("p",[t._v("We will show how to set up automated tabular data validations for data published on:")]),t._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://ckan.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(", an open source data publishing platform;")]),t._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub"),o("OutboundLink")],1),t._v(", a hosting service;")]),t._v(" "),o("li",[o("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Amazon S3"),o("OutboundLink")],1),t._v(", a data storage service.")])]),t._v(" "),o("p",[t._v("If you don’t use any of these platforms, you can still setup the validation using "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables-py"),o("OutboundLink")],1),t._v(", it will just require some technical knowledge")]),t._v(" "),o("p",[t._v("If you do use some of these platforms, the data validation report look like:")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://goodtables.io/github/vitorbaptista/birmingham_schools/jobs/3",target:"_blank",rel:"noopener noreferrer"}},[o("img",{attrs:{src:e(455),alt:"Figure 1: Goodtables.io tabular data validation report"}}),o("OutboundLink")],1),o("br"),t._v(" "),o("em",[t._v("Figure 1: "),o("a",{attrs:{href:"http://Goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Goodtables.io"),o("OutboundLink")],1),t._v(" tabular data validation report.")])]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-ckan"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-ckan"}},[t._v("#")]),t._v(" Validate tabular data automatically on CKAN")]),t._v(" "),o("p",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("CKAN"),o("OutboundLink")],1),t._v(" is an open source platform for publishing data online. It is widely used across the planet, including by the federal governments of the USA, United Kingdom, Brazil, and others.")]),t._v(" "),o("p",[t._v("To automatically validate tabular data on CKAN, enable the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension, which uses goodtables to run continuous checks on your data. The "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension:")]),t._v(" "),o("ul",[o("li",[t._v("Adds a badge next to each dataset showing the status of their validation (valid or invalid), and")]),t._v(" "),o("li",[t._v("Allows users to access the validation report, making it possible for errors to be identified and fixed.")])]),t._v(" "),o("p",[o("img",{attrs:{src:e(456),alt:"Figure 2: Annotated in red, automated validation checks on datasets in CKAN"}}),o("br"),t._v(" "),o("em",[t._v("Figure 2: Annotated in red, automated validation checks on datasets in CKAN.")])]),t._v(" "),o("p",[t._v("The installation and usage instructions for "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("ckanext-validation"),o("OutboundLink")],1),t._v(" extension are available on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[t._v("Github"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-github"}},[t._v("#")]),t._v(" Validate tabular data automatically on GitHub")]),t._v(" "),o("p",[t._v("If your data is hosted on GitHub, you can use goodtables web service to automatically validate it on every change.")]),t._v(" "),o("p",[t._v("For this section, you will first need to create a "),o("a",{attrs:{href:"https://help.github.com/articles/create-a-repo/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub repository"),o("OutboundLink")],1),t._v(" and add tabular data to it.")]),t._v(" "),o("p",[t._v("Once you have tabular data in your Github repository:")]),t._v(" "),o("ol",[o("li",[t._v("Login on "),o("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(" using your GitHub account and accept the permissions confirmation.")]),t._v(" "),o("li",[t._v("Once we’ve synchronized your repository list, go to the "),o("a",{attrs:{href:"https://goodtables.io/settings",target:"_blank",rel:"noopener noreferrer"}},[t._v("Manage Sources"),o("OutboundLink")],1),t._v(" page and enable the repository with the data you want to validate.\n"),o("ul",[o("li",[t._v("If you can’t find the repository, try clicking on the Refresh button on the Manage Sources page")])])])]),t._v(" "),o("p",[t._v("Goodtables will then validate all tabular data files (CSV, XLS, XLSX, ODS) and "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("data packages"),o("OutboundLink")],1),t._v(" in the repository. These validations will be executed on every change, including pull requests.")]),t._v(" "),o("h2",{attrs:{id:"validate-tabular-data-automatically-on-amazon-s3"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-amazon-s3"}},[t._v("#")]),t._v(" Validate tabular data automatically on Amazon S3")]),t._v(" "),o("p",[t._v("If your data is hosted on Amazon S3, you can use "),o("a",{attrs:{href:"https://goodtables.io/",title:"Goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),o("OutboundLink")],1),t._v(" to automatically validate it on every change.")]),t._v(" "),o("p",[t._v("It is a technical process to set up, as you need to know how to configure your Amazon S3 bucket. However, once it’s configured, the validations happen automatically on any tabular data created or updated. Find the detailed instructions "),o("a",{attrs:{href:"https://docs.goodtables.io/getting_started/s3.html",title:"Goodtables.io Amazon S3 instructions",target:"_blank",rel:"noopener noreferrer"}},[t._v("here"),o("OutboundLink")],1),t._v(".")]),t._v(" "),o("h2",{attrs:{id:"custom-setup-of-automatic-tabular-data-validation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#custom-setup-of-automatic-tabular-data-validation"}},[t._v("#")]),t._v(" Custom setup of automatic tabular data validation")]),t._v(" "),o("p",[t._v("If you don’t use any of the officially supported data publishing platforms, you can use "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables-py"),o("OutboundLink")],1),t._v(" directly to validate your data. This is the most flexible option, as you can configure exactly when, and how your tabular data is validated. For example, if your data come from an external source, you could validate it once before you process it (so you catch errors in the source data), and once after cleaning, just before you publish it, so you catch errors introduced by your data processing.")]),t._v(" "),o("p",[t._v("The instructions on how to do this are technical, and can be found on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/goodtables-py"),o("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/35.8381e3cb.js b/assets/js/35.6c3d0480.js similarity index 99% rename from assets/js/35.8381e3cb.js rename to assets/js/35.6c3d0480.js index 1a327c115..53a9b798b 100644 --- a/assets/js/35.8381e3cb.js +++ b/assets/js/35.6c3d0480.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{473:function(a,e,t){a.exports=t.p+"assets/img/datapackage-m-power-bi.81f4f0c6.gif"},474:function(a,e,t){a.exports=t.p+"assets/img/datapackage-m-excel.81f4f0c6.gif"},607:function(a,e,t){"use strict";t.r(e);var r=t(29),o=Object(r.a)({},(function(){var a=this,e=a.$createElement,r=a._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("p",[r("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-m",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package M"),r("OutboundLink")],1),a._v(", also known as "),r("em",[a._v("datapackage-m")]),a._v(", is a set of functions written in "),r("a",{attrs:{href:"https://docs.microsoft.com/en-us/powerquery-m/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power Query M"),r("OutboundLink")],1),a._v(" for working with Tabular Data Packages in "),r("a",{attrs:{href:"https://powerbi.microsoft.com/en-us/desktop/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power BI Desktop"),r("OutboundLink")],1),a._v(" and "),r("a",{attrs:{href:"https://support.office.com/en-us/article/introduction-to-microsoft-power-query-for-excel-6e92e2f4-2079-4e1f-bad5-89f6269cd605",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power Query for Excel"),r("OutboundLink")],1),a._v(" (also known as ‘Get & Transform Data’ in Excel 2016).")]),a._v(" "),r("p",[a._v("datapackage-m makes use of the Data Package, Data Resource, Tabular Data Package, Tabular Data Resource, and Table Schema specifications, enabling you to go from data to insight in Power BI and Excel, faster.")]),a._v(" "),r("p",[a._v("In 2014, while searching the web for high quality open data, we stumbled across the Frictionless Data project. On learning about "),r("RouterLink",{attrs:{to:"/data-package/"}},[a._v("Data Packages")]),a._v(", we spent some time getting acquainted with the specs and began to use Tabular Data Packages for some internal projects. datapackage-m then started off as an internal tool at Nimble Learn for working with Tabular Data Packages.")],1),a._v(" "),r("p",[r("img",{attrs:{src:t(473),alt:""}}),r("br"),a._v(" "),r("em",[a._v("How datapackage-m works in Power BI")])]),a._v(" "),r("p",[a._v("datapackage-m now implements "),r("a",{attrs:{href:"https://blog.okfn.org/2017/09/05/frictionless-data-v1-0/",target:"_blank",rel:"noopener noreferrer"}},[a._v("v1 of the Frictionless Data specs"),r("OutboundLink")],1),a._v(" from a Tabular Data Package consumption perspective. By implementing a broad number of the specs, datapackage-m is able to extract the tables from most "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),r("OutboundLink")],1),a._v(", or Data Packages with tabular resources, in seconds. These tables can be quickly loaded into a Power BI Data Model or an Excel Worksheet (or Data Model), ready for you to analyse. datapackage-m currently handles Gzip compressed resources and we’re looking into support for Zip. We have successfully tested datapackage-m with several Data Packages from "),r("a",{attrs:{href:"https://datahub.io/core",target:"_blank",rel:"noopener noreferrer"}},[a._v("Datahub"),r("OutboundLink")],1),a._v(" and the Frictionless Data "),r("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("Example Data Packages"),r("OutboundLink")],1),a._v(" GitHub repository.")]),a._v(" "),r("p",[a._v("In working with data, there are often many repetitive tasks required to get data into a state that can be analysed. Even when the requirement is just to profile and assess whether a new dataset is suitable for a given use case, a lot of time can be wasted getting it into good tabular shape. "),r("RouterLink",{attrs:{to:"/data-package/"}},[a._v("Data Packages")]),a._v(" are designed to alleviate this issue, and datapackage-m makes them available for use in Power BI and Excel.")],1),a._v(" "),r("p",[a._v("We find that the Frictionless Data specs are simple to use from both a data publisher and data consumer perspective. We’ve seen a great number of other specifications that are feature-rich but too verbose. In contrast to these, the Frictionless Data specs are minimalist and support use cases where Data Packages are created using one’s favourite text editor.")]),a._v(" "),r("p",[r("img",{attrs:{src:t(474),alt:""}}),r("br"),a._v(" "),r("em",[a._v("How datapackage-m works in Excel")])]),a._v(" "),r("p",[a._v("There’s an ongoing discussion around a Data Resource compression pattern which is important from a data publishing perspective i.e. due to ongoing file storage and bandwidth costs. Once this pattern is agreed upon and published, it would be good to see this added to the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Resource"),r("OutboundLink")],1),a._v(" and "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Resource"),r("OutboundLink")],1),a._v(" specs not too long after.")]),a._v(" "),r("p",[a._v("Other than this, we would like to see another Data Package profile that extends the Tabular Data Package with semantic layer metadata. In addition to the Tabular Data Profile properties, this ‘Semantic Data Package’ would have properties for measure definitions, attribute hierarchies, and other semantic layer metadata. Something like this could be used to programmatically generate "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Semantic_data_model",target:"_blank",rel:"noopener noreferrer"}},[a._v("Semantic Data Models"),r("OutboundLink")],1),a._v(" in a data analytics tool of choice and populate it with data from the tabular data directly.")]),a._v(" "),r("p",[r("a",{attrs:{href:"http://okfnlabs.org/blog/2017/12/21/bootstrapping-data-standards-with-frictionless-data.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("There are many existing use cases for Tabular Data Packages"),r("OutboundLink")],1),a._v(", and we see ‘Subject Area’ Tabular Data Packages as a significant additional use case that is worth exploring . By ‘Subject Area’, we mean a Tabular Data Package that combines relevant Tabular Data Resources from other high quality Tabular Data Packages. This would help to reduce the time spent seeking out related/relevant data for a given area of analysis and could save researchers tonnes of time, for example.")]),a._v(" "),r("p",[a._v("In addition to datapackage-m, Nimble Learn is working on a public-facing project that is focused on publishing pre-integrated open data from various sources as subject area Tabular Data Packages. In addition to this we plan on extending datapackage-m to adopt more Frictionless Data specifications. Keep an eye out for all these updates "),r("a",{attrs:{href:"https://github.com/nimblelearn",target:"_blank",rel:"noopener noreferrer"}},[a._v("on GitHub"),r("OutboundLink")],1),a._v(".")])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{473:function(a,e,t){a.exports=t.p+"assets/img/datapackage-m-power-bi.81f4f0c6.gif"},474:function(a,e,t){a.exports=t.p+"assets/img/datapackage-m-excel.81f4f0c6.gif"},606:function(a,e,t){"use strict";t.r(e);var r=t(29),o=Object(r.a)({},(function(){var a=this,e=a.$createElement,r=a._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("p",[r("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-m",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package M"),r("OutboundLink")],1),a._v(", also known as "),r("em",[a._v("datapackage-m")]),a._v(", is a set of functions written in "),r("a",{attrs:{href:"https://docs.microsoft.com/en-us/powerquery-m/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power Query M"),r("OutboundLink")],1),a._v(" for working with Tabular Data Packages in "),r("a",{attrs:{href:"https://powerbi.microsoft.com/en-us/desktop/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power BI Desktop"),r("OutboundLink")],1),a._v(" and "),r("a",{attrs:{href:"https://support.office.com/en-us/article/introduction-to-microsoft-power-query-for-excel-6e92e2f4-2079-4e1f-bad5-89f6269cd605",target:"_blank",rel:"noopener noreferrer"}},[a._v("Power Query for Excel"),r("OutboundLink")],1),a._v(" (also known as ‘Get & Transform Data’ in Excel 2016).")]),a._v(" "),r("p",[a._v("datapackage-m makes use of the Data Package, Data Resource, Tabular Data Package, Tabular Data Resource, and Table Schema specifications, enabling you to go from data to insight in Power BI and Excel, faster.")]),a._v(" "),r("p",[a._v("In 2014, while searching the web for high quality open data, we stumbled across the Frictionless Data project. On learning about "),r("RouterLink",{attrs:{to:"/data-package/"}},[a._v("Data Packages")]),a._v(", we spent some time getting acquainted with the specs and began to use Tabular Data Packages for some internal projects. datapackage-m then started off as an internal tool at Nimble Learn for working with Tabular Data Packages.")],1),a._v(" "),r("p",[r("img",{attrs:{src:t(473),alt:""}}),r("br"),a._v(" "),r("em",[a._v("How datapackage-m works in Power BI")])]),a._v(" "),r("p",[a._v("datapackage-m now implements "),r("a",{attrs:{href:"https://blog.okfn.org/2017/09/05/frictionless-data-v1-0/",target:"_blank",rel:"noopener noreferrer"}},[a._v("v1 of the Frictionless Data specs"),r("OutboundLink")],1),a._v(" from a Tabular Data Package consumption perspective. By implementing a broad number of the specs, datapackage-m is able to extract the tables from most "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),r("OutboundLink")],1),a._v(", or Data Packages with tabular resources, in seconds. These tables can be quickly loaded into a Power BI Data Model or an Excel Worksheet (or Data Model), ready for you to analyse. datapackage-m currently handles Gzip compressed resources and we’re looking into support for Zip. We have successfully tested datapackage-m with several Data Packages from "),r("a",{attrs:{href:"https://datahub.io/core",target:"_blank",rel:"noopener noreferrer"}},[a._v("Datahub"),r("OutboundLink")],1),a._v(" and the Frictionless Data "),r("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("Example Data Packages"),r("OutboundLink")],1),a._v(" GitHub repository.")]),a._v(" "),r("p",[a._v("In working with data, there are often many repetitive tasks required to get data into a state that can be analysed. Even when the requirement is just to profile and assess whether a new dataset is suitable for a given use case, a lot of time can be wasted getting it into good tabular shape. "),r("RouterLink",{attrs:{to:"/data-package/"}},[a._v("Data Packages")]),a._v(" are designed to alleviate this issue, and datapackage-m makes them available for use in Power BI and Excel.")],1),a._v(" "),r("p",[a._v("We find that the Frictionless Data specs are simple to use from both a data publisher and data consumer perspective. We’ve seen a great number of other specifications that are feature-rich but too verbose. In contrast to these, the Frictionless Data specs are minimalist and support use cases where Data Packages are created using one’s favourite text editor.")]),a._v(" "),r("p",[r("img",{attrs:{src:t(474),alt:""}}),r("br"),a._v(" "),r("em",[a._v("How datapackage-m works in Excel")])]),a._v(" "),r("p",[a._v("There’s an ongoing discussion around a Data Resource compression pattern which is important from a data publishing perspective i.e. due to ongoing file storage and bandwidth costs. Once this pattern is agreed upon and published, it would be good to see this added to the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Resource"),r("OutboundLink")],1),a._v(" and "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-resource/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Resource"),r("OutboundLink")],1),a._v(" specs not too long after.")]),a._v(" "),r("p",[a._v("Other than this, we would like to see another Data Package profile that extends the Tabular Data Package with semantic layer metadata. In addition to the Tabular Data Profile properties, this ‘Semantic Data Package’ would have properties for measure definitions, attribute hierarchies, and other semantic layer metadata. Something like this could be used to programmatically generate "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Semantic_data_model",target:"_blank",rel:"noopener noreferrer"}},[a._v("Semantic Data Models"),r("OutboundLink")],1),a._v(" in a data analytics tool of choice and populate it with data from the tabular data directly.")]),a._v(" "),r("p",[r("a",{attrs:{href:"http://okfnlabs.org/blog/2017/12/21/bootstrapping-data-standards-with-frictionless-data.html",target:"_blank",rel:"noopener noreferrer"}},[a._v("There are many existing use cases for Tabular Data Packages"),r("OutboundLink")],1),a._v(", and we see ‘Subject Area’ Tabular Data Packages as a significant additional use case that is worth exploring . By ‘Subject Area’, we mean a Tabular Data Package that combines relevant Tabular Data Resources from other high quality Tabular Data Packages. This would help to reduce the time spent seeking out related/relevant data for a given area of analysis and could save researchers tonnes of time, for example.")]),a._v(" "),r("p",[a._v("In addition to datapackage-m, Nimble Learn is working on a public-facing project that is focused on publishing pre-integrated open data from various sources as subject area Tabular Data Packages. In addition to this we plan on extending datapackage-m to adopt more Frictionless Data specifications. Keep an eye out for all these updates "),r("a",{attrs:{href:"https://github.com/nimblelearn",target:"_blank",rel:"noopener noreferrer"}},[a._v("on GitHub"),r("OutboundLink")],1),a._v(".")])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/36.4e0bd9e6.js b/assets/js/36.856e68b8.js similarity index 98% rename from assets/js/36.4e0bd9e6.js rename to assets/js/36.856e68b8.js index 45fd399a4..fd100a4e6 100644 --- a/assets/js/36.4e0bd9e6.js +++ b/assets/js/36.856e68b8.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{487:function(e,a,t){e.exports=t.p+"assets/img/datapackage-connector-power-bi.b54cbe23.gif"},488:function(e,a,t){e.exports=t.p+"assets/img/datapackage-connector-power-bi-service.5464d6e2.png"},614:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,o=e._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-connector",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Connector"),o("OutboundLink")],1),e._v(", also known as datapackage-connector, is a "),o("a",{attrs:{href:"https://docs.microsoft.com/en-us/power-bi/desktop-connector-extensibility",target:"_blank",rel:"noopener noreferrer"}},[e._v("Power BI Custom Connector"),o("OutboundLink")],1),e._v(" that enables you to quickly load one or more tables from Tabular Data Packages into Power BI. It builds on top of one of our other Frictionless Data projects, "),o("RouterLink",{attrs:{to:"/blog/2018/07/20/nimblelearn/"}},[e._v("Data Package M")]),e._v(" (also known as datapackage-m), and provides a user friendly Power BI ‘Get Data’ experience and also allows these Power BI tables to be refreshed directly from Tabular Data Packages within the Power BI Service. This has been a sought after capability because the Data Package M functions alone don’t currently support this scenario.")],1),e._v(" "),o("p",[e._v("When we first created datapackage-m, we thought it would be quite powerful if it was possible to include a ‘Get Data’ experience in Power BI for Tabular Data Packages, but this wasn’t possible with Power Query M functions alone. For those of you not too familiar with Power BI, the ‘Get Data’ experience is a user interface (UI) wizard that guides you through some simple steps to get data from supported data sources in Power BI. With datapackage-connector, we’ve introduced a ‘Get Data’ experience for Tabular Data packages which makes it easier to build Power BI reports and dashboards from Tabular Data Packages. This is especially useful when a Tabular Data Package has several tables that you’d like to load into Power BI in one go.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(487),alt:""}}),o("br"),e._v(" "),o("em",[e._v("How datapackage-connector works in Power BI")])]),e._v(" "),o("p",[e._v("datapackage-m has one major limitation from a Power BI perspective: it doesn’t support the ability to refresh data from within the Power BI service and this means the data refreshes must be done from Power BI Desktop. datapackage-connector, being a Power BI connector, doesn’t have this limitation. This unlocks a new usage scenario where Power BI reports and dashboards can be built directly on top of Tabular Data Packages and kept up-to-date through scheduled data refreshes.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(488),alt:""}}),o("br"),e._v(" "),o("em",[e._v("datapackage-connector supports data refresh in the Power BI service")])]),e._v(" "),o("p",[e._v("datapackage-connector reuses the same Power Query M functions from datapackage-m and this means that it has the same level of Frictionless Data specs support. We’ll be keeping these two"),o("br"),e._v("\nprojects aligned as we further expand their support for the specs. Read more about datapackage-m "),o("RouterLink",{attrs:{to:"/blog/2018/07/20/nimblelearn/"}},[e._v("here")]),e._v(", and check out the documentation for datapackage-connector on our "),o("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-connector",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),o("OutboundLink")],1),e._v(".")],1)])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{487:function(e,a,t){e.exports=t.p+"assets/img/datapackage-connector-power-bi.b54cbe23.gif"},488:function(e,a,t){e.exports=t.p+"assets/img/datapackage-connector-power-bi-service.5464d6e2.png"},615:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,o=e._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-connector",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Connector"),o("OutboundLink")],1),e._v(", also known as datapackage-connector, is a "),o("a",{attrs:{href:"https://docs.microsoft.com/en-us/power-bi/desktop-connector-extensibility",target:"_blank",rel:"noopener noreferrer"}},[e._v("Power BI Custom Connector"),o("OutboundLink")],1),e._v(" that enables you to quickly load one or more tables from Tabular Data Packages into Power BI. It builds on top of one of our other Frictionless Data projects, "),o("RouterLink",{attrs:{to:"/blog/2018/07/20/nimblelearn/"}},[e._v("Data Package M")]),e._v(" (also known as datapackage-m), and provides a user friendly Power BI ‘Get Data’ experience and also allows these Power BI tables to be refreshed directly from Tabular Data Packages within the Power BI Service. This has been a sought after capability because the Data Package M functions alone don’t currently support this scenario.")],1),e._v(" "),o("p",[e._v("When we first created datapackage-m, we thought it would be quite powerful if it was possible to include a ‘Get Data’ experience in Power BI for Tabular Data Packages, but this wasn’t possible with Power Query M functions alone. For those of you not too familiar with Power BI, the ‘Get Data’ experience is a user interface (UI) wizard that guides you through some simple steps to get data from supported data sources in Power BI. With datapackage-connector, we’ve introduced a ‘Get Data’ experience for Tabular Data packages which makes it easier to build Power BI reports and dashboards from Tabular Data Packages. This is especially useful when a Tabular Data Package has several tables that you’d like to load into Power BI in one go.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(487),alt:""}}),o("br"),e._v(" "),o("em",[e._v("How datapackage-connector works in Power BI")])]),e._v(" "),o("p",[e._v("datapackage-m has one major limitation from a Power BI perspective: it doesn’t support the ability to refresh data from within the Power BI service and this means the data refreshes must be done from Power BI Desktop. datapackage-connector, being a Power BI connector, doesn’t have this limitation. This unlocks a new usage scenario where Power BI reports and dashboards can be built directly on top of Tabular Data Packages and kept up-to-date through scheduled data refreshes.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(488),alt:""}}),o("br"),e._v(" "),o("em",[e._v("datapackage-connector supports data refresh in the Power BI service")])]),e._v(" "),o("p",[e._v("datapackage-connector reuses the same Power Query M functions from datapackage-m and this means that it has the same level of Frictionless Data specs support. We’ll be keeping these two"),o("br"),e._v("\nprojects aligned as we further expand their support for the specs. Read more about datapackage-m "),o("RouterLink",{attrs:{to:"/blog/2018/07/20/nimblelearn/"}},[e._v("here")]),e._v(", and check out the documentation for datapackage-connector on our "),o("a",{attrs:{href:"https://github.com/nimblelearn/datapackage-connector",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repo"),o("OutboundLink")],1),e._v(".")],1)])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/37.f28f2173.js b/assets/js/37.ff51a0e2.js similarity index 95% rename from assets/js/37.f28f2173.js rename to assets/js/37.ff51a0e2.js index 836fca478..563bfee2b 100644 --- a/assets/js/37.f28f2173.js +++ b/assets/js/37.ff51a0e2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{489:function(e,t,a){e.exports=a.p+"assets/img/FDdarwin1.8b2fb42c.png"},490:function(e,t,a){e.exports=a.p+"assets/img/FDdarwin2.3a98a635.png"},618:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("This blog is part of a series showcasing projects developed during the 2019 Frictionless Data Tool Fund.")]),e._v(" "),o("p",[e._v("Originally published "),o("a",{attrs:{href:"https://blog.okfn.org/2019/12/09/andre-heughebaert-frictionless-darwincore/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2019/12/09/andre-heughebaert-frictionless-darwincore/"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("em",[e._v("The 2019 Frictionless Data Tool Fund provided four mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),o("p",[e._v("André Heughebaert is an open biodiversity data advocate in his work and his free time. He is an IT Software Engineer at the Belgian Biodiversity Platform and is also the Belgian GBIF (Global Biodiversity Information Facility) Node manager. During this time, he has worked with the Darwin Core Standards and Open Biodiversity data on a daily basis. This work inspired him to apply for the Tool Fund, where he has developed a tool to convert DarwinCore Archives into Frictionless Data Packages.")]),e._v(" "),o("p",[e._v("The DarwinCore Archive (DwCA) is a standardised container for biodiversity data and metadata largely used amongst the GBIF community, which consists of more than 1,500 institutions around the world. The DwCA is used to publish biodiversity data about observations, collections specimens, species checklists and sampling events. However, this domain specific standard has some limitations, mainly the star schema (core table + extensions), rules that are sometimes too permissive, and a lack of controlled vocabularies for certain terms. These limitations encouraged André to investigate emerging open data standards. In 2016, he discovered Frictionless Data and published his first data package on historical data from 1815 Napoleonic Campaign of Belgium. He was then encouraged to create a tool that would, in part, build a bridge between these two open data ecosystems.")]),e._v(" "),o("p",[e._v("As a result, the Frictionless DarwinCore tool converts DwCA into Frictionless Data Packages, and also gives access to the vast Frictionless Data software ecosystem enabling constraints validation and support of a fully relational data schema. Technically speaking, the tool is implemented as a Python library, and is exposed as a Command Line Interface. The tool automatically converts:")]),e._v(" "),o("ul",[o("li",[e._v("DwCA data schema into datapackage.json")]),e._v(" "),o("li",[e._v("EML metadata into human readable markdown readme file")]),e._v(" "),o("li",[e._v("data files are converted when necessary, this is when default values are described")])]),e._v(" "),o("p",[e._v("The resulting zip file complies to both DarwinCore and Frictionless specifications.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(489),alt:"flow"}}),e._v(" "),o("br"),e._v(" "),o("em",[e._v("Frictionless DarwinCore Flow")])]),e._v(" "),o("p",[e._v("André hopes that bridging the two standards will give an excellent opportunity for the GBIF community to provide open biodiversity data to a wider audience. He says this is also a good opportunity to discover the Frictionless Data specifications and assess their applicability to the biodiversity domain. In fact, on 9th October 2019, André presented the tool at a GBIF Global Nodes meeting. It was perceived by the nodes managers community as an exploratory and pioneering work. While the command line interface offers a simple user interface for non-programmers, others might prefer the more flexible and sophisticated Python API. André encourages anyone working with DarwinCore data, including all data publishers and data users of GBIF network, to try out the new tool.")]),e._v(" "),o("p",[e._v("“I’m quite optimistic that the project will feed the necessary reflection on the evolution of our biodiversity standards and data flows.”")]),e._v(" "),o("p",[e._v("To get started, installation of the tool is done through a single pip install command (full directions can be found in the project README). Central to the tool is a table of DarwinCore terms linking a Data Package type, format and constraints for every DwC term. The tool can be used as CLI directly from your terminal window or as Python Library for developers. The tool can work with either locally stored or online DwCA. Once converted to Tabular DataPackage, the DwC data can then be ingested and further processed by software such as Goodtables, OpenRefine or any other Frictionless Data software.")]),e._v(" "),o("p",[e._v("André has aspirations to take the Frictionless DarwinCore tool further by encapsulating the tool in a web-service that will directly deliver Goodtables reports from a DwCA, which will make it even more user friendly. Additional ideas for further improvement would be including an import pathway for DarwinCore data into Open Refine, which is a popular tool in the GBIF community. André’s long term hope is that the Data Package will become an optional format for data download on "),o("a",{attrs:{href:"http://GBIF.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("GBIF.org"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("img",{attrs:{src:a(490),alt:"workflow"}}),e._v(" "),o("br")]),e._v(" "),o("p",[e._v("Further reading:")]),e._v(" "),o("p",[e._v("Repository: "),o("a",{attrs:{href:"https://github.com/frictionlessdata/FrictionlessDarwinCore",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/FrictionlessDarwinCore"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Project blog: "),o("a",{attrs:{href:"https://andrejjh.github.io/fdwc.github.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://andrejjh.github.io/fdwc.github.io/"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{490:function(e,t,a){e.exports=a.p+"assets/img/FDdarwin1.8b2fb42c.png"},491:function(e,t,a){e.exports=a.p+"assets/img/FDdarwin2.3a98a635.png"},619:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("This blog is part of a series showcasing projects developed during the 2019 Frictionless Data Tool Fund.")]),e._v(" "),o("p",[e._v("Originally published "),o("a",{attrs:{href:"https://blog.okfn.org/2019/12/09/andre-heughebaert-frictionless-darwincore/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2019/12/09/andre-heughebaert-frictionless-darwincore/"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("em",[e._v("The 2019 Frictionless Data Tool Fund provided four mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),o("p",[e._v("André Heughebaert is an open biodiversity data advocate in his work and his free time. He is an IT Software Engineer at the Belgian Biodiversity Platform and is also the Belgian GBIF (Global Biodiversity Information Facility) Node manager. During this time, he has worked with the Darwin Core Standards and Open Biodiversity data on a daily basis. This work inspired him to apply for the Tool Fund, where he has developed a tool to convert DarwinCore Archives into Frictionless Data Packages.")]),e._v(" "),o("p",[e._v("The DarwinCore Archive (DwCA) is a standardised container for biodiversity data and metadata largely used amongst the GBIF community, which consists of more than 1,500 institutions around the world. The DwCA is used to publish biodiversity data about observations, collections specimens, species checklists and sampling events. However, this domain specific standard has some limitations, mainly the star schema (core table + extensions), rules that are sometimes too permissive, and a lack of controlled vocabularies for certain terms. These limitations encouraged André to investigate emerging open data standards. In 2016, he discovered Frictionless Data and published his first data package on historical data from 1815 Napoleonic Campaign of Belgium. He was then encouraged to create a tool that would, in part, build a bridge between these two open data ecosystems.")]),e._v(" "),o("p",[e._v("As a result, the Frictionless DarwinCore tool converts DwCA into Frictionless Data Packages, and also gives access to the vast Frictionless Data software ecosystem enabling constraints validation and support of a fully relational data schema. Technically speaking, the tool is implemented as a Python library, and is exposed as a Command Line Interface. The tool automatically converts:")]),e._v(" "),o("ul",[o("li",[e._v("DwCA data schema into datapackage.json")]),e._v(" "),o("li",[e._v("EML metadata into human readable markdown readme file")]),e._v(" "),o("li",[e._v("data files are converted when necessary, this is when default values are described")])]),e._v(" "),o("p",[e._v("The resulting zip file complies to both DarwinCore and Frictionless specifications.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(490),alt:"flow"}}),e._v(" "),o("br"),e._v(" "),o("em",[e._v("Frictionless DarwinCore Flow")])]),e._v(" "),o("p",[e._v("André hopes that bridging the two standards will give an excellent opportunity for the GBIF community to provide open biodiversity data to a wider audience. He says this is also a good opportunity to discover the Frictionless Data specifications and assess their applicability to the biodiversity domain. In fact, on 9th October 2019, André presented the tool at a GBIF Global Nodes meeting. It was perceived by the nodes managers community as an exploratory and pioneering work. While the command line interface offers a simple user interface for non-programmers, others might prefer the more flexible and sophisticated Python API. André encourages anyone working with DarwinCore data, including all data publishers and data users of GBIF network, to try out the new tool.")]),e._v(" "),o("p",[e._v("“I’m quite optimistic that the project will feed the necessary reflection on the evolution of our biodiversity standards and data flows.”")]),e._v(" "),o("p",[e._v("To get started, installation of the tool is done through a single pip install command (full directions can be found in the project README). Central to the tool is a table of DarwinCore terms linking a Data Package type, format and constraints for every DwC term. The tool can be used as CLI directly from your terminal window or as Python Library for developers. The tool can work with either locally stored or online DwCA. Once converted to Tabular DataPackage, the DwC data can then be ingested and further processed by software such as Goodtables, OpenRefine or any other Frictionless Data software.")]),e._v(" "),o("p",[e._v("André has aspirations to take the Frictionless DarwinCore tool further by encapsulating the tool in a web-service that will directly deliver Goodtables reports from a DwCA, which will make it even more user friendly. Additional ideas for further improvement would be including an import pathway for DarwinCore data into Open Refine, which is a popular tool in the GBIF community. André’s long term hope is that the Data Package will become an optional format for data download on "),o("a",{attrs:{href:"http://GBIF.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("GBIF.org"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("img",{attrs:{src:a(491),alt:"workflow"}}),e._v(" "),o("br")]),e._v(" "),o("p",[e._v("Further reading:")]),e._v(" "),o("p",[e._v("Repository: "),o("a",{attrs:{href:"https://github.com/frictionlessdata/FrictionlessDarwinCore",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/FrictionlessDarwinCore"),o("OutboundLink")],1)]),e._v(" "),o("p",[e._v("Project blog: "),o("a",{attrs:{href:"https://andrejjh.github.io/fdwc.github.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://andrejjh.github.io/fdwc.github.io/"),o("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/38.860bf20a.js b/assets/js/38.60d749aa.js similarity index 99% rename from assets/js/38.860bf20a.js rename to assets/js/38.60d749aa.js index 4dd62cdf9..a8d256e21 100644 --- a/assets/js/38.860bf20a.js +++ b/assets/js/38.60d749aa.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{507:function(e,a,t){e.exports=t.p+"assets/img/schema-1.d455d7fb.png"},508:function(e,a,t){e.exports=t.p+"assets/img/schema-2.97aad0c8.png"},630:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("In June 2019, "),r("a",{attrs:{href:"https://etalab.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("Etalab"),r("OutboundLink")],1),e._v(", a department of the French interministerial digital service (DINUM), launched "),r("a",{attrs:{href:"https://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(", a platform listing schemas for France. It could be described as what Johan Richer recently called a "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/04/23/table-schema-catalog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema catalog"),r("OutboundLink")],1),e._v(". This project is an initiative of "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(", the French open data platform, which is developed and maintained by Etalab.")]),e._v(" "),r("p",[r("img",{attrs:{src:"/img/blog/schema.gouv.fr.png",alt:"schema.gouv.fr homepage"}})]),e._v(" "),r("h2",{attrs:{id:"what-s-a-schema"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-s-a-schema"}},[e._v("#")]),e._v(" What’s a schema?")]),e._v(" "),r("p",[e._v("A schema declares a data model in a clear and precise manner, the various fields and types in a structured and consistent manner, according to a specification. For example, "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),r("OutboundLink")],1),e._v(" is a simple language to declare a schema for tabular data.")]),e._v(" "),r("p",[e._v("Schemas are well suited for a wide range of applications: validating data against a schema, documenting a data model, consolidating data from multiple sources, generating example datasets, or proposing tailored input forms. This wide range of applications makes schemas an important tool for both producers and reusers.")]),e._v(" "),r("h2",{attrs:{id:"advancing-open-data-quality"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#advancing-open-data-quality"}},[e._v("#")]),e._v(" Advancing open data quality")]),e._v(" "),r("p",[e._v("A common complaint of open data reusers has been the lack of quality of the data and data structure changes over time, without notice. The OKFN spoke about this issue in mid-2017 in a blog post, "),r("a",{attrs:{href:"https://blog.okfn.org/2017/05/31/open-data-quality-the-next-shift-in-open-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open data quality – the next shift in open data?"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("With "),r("a",{attrs:{href:"schema.data.gouv.fr"}},[e._v("schema.data.gouv.fr")]),e._v(", Etalab promotes high-quality open data: producers are encouraged to discuss and come up with an appropriate schema for the data they want to publish, and to document it with a recognised specification. Producers will then be able to make sure that the data they publish conforms to the schema over time. Reusers benefit from high-quality documentation, a stable data structure, and increased quality of the data.")]),e._v(" "),r("h2",{attrs:{id:"impacts"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#impacts"}},[e._v("#")]),e._v(" Impacts")]),e._v(" "),r("p",[e._v("The first impact of the launch of "),r("a",{attrs:{href:"https://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" has "),r("strong",[e._v("put at the forefront the challenge of open data quality")]),e._v(". It acknowledges that this is not a solved problem and that producers should embrace schemas, validators, documentation, automated testing to raise the quality of the data they publish. It’s also a recognition of the efforts already made by the community, for example the “Socle commun des données locales” (Common Ground of Local Data) by "),r("a",{attrs:{href:"http://www.opendatafrance.net",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenDataFrance"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("To help producers discover schemas and how it can be helpful for them, we published in March 2020 a "),r("a",{attrs:{href:"https://guides.etalab.gouv.fr/producteurs-schemas/",target:"_blank",rel:"noopener noreferrer"}},[e._v("long guide"),r("OutboundLink")],1),e._v(" going over steps producers are encouraged to follow when creating a schema: discovery, discussions, implementation, publication and finally referencing the schema on "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Since the launch, producers worked with their reusers and published various schemas: "),r("a",{attrs:{href:"https://schema.data.gouv.fr/etalab/schema-lieux-covoiturage/latest.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("carpooling places"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://schema.data.gouv.fr/arsante/schema-dae/latest.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("defibrillators"),r("OutboundLink")],1),e._v(" to name a few. People had in-depth discussions about their data model, encouraged by the thoroughness of the Table Schema specification. Producers worked hard to clean their data and finally reached a point where their dataset is 100% aligned with the schema, without any errors.")]),e._v(" "),r("h2",{attrs:{id:"what-s-next"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-s-next"}},[e._v("#")]),e._v(" What’s next")]),e._v(" "),r("p",[e._v("Here are a few things we are working on and hope to be able to finish in the coming years.")]),e._v(" "),r("h3",{attrs:{id:"improved-data-models-defined-in-the-law"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#improved-data-models-defined-in-the-law"}},[e._v("#")]),e._v(" Improved data models defined in the law")]),e._v(" "),r("p",[e._v("Right now, when data models are introduced by law, the data model is often described by a table. We’d like to offer a schema when these laws are published, to ease adoption by the community and improve discoverability.")]),e._v(" "),r("h3",{attrs:{id:"integration-with-data-gouv-fr"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#integration-with-data-gouv-fr"}},[e._v("#")]),e._v(" Integration with "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("The "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" initiative is mainly based on published datasets on the French open data platform "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(". However, these tools are still quite separated today. In the coming months, we would like to strengthen the link between "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" by promoting existing schemas directly on the open data platform.")]),e._v(" "),r("p",[e._v("First, we would like to inform users of the existence of a consolidated dataset based on an existing schema and provide them with its quality report. Such a feature is newly available on "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(". The same feature will arrive soon on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[r("img",{attrs:{src:t(507),alt:"Screenshot à prévoir"}})]),e._v(" "),r("p",[e._v("Second, we’re looking into integrating schemas into the data publishing process on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(". We could help users by letting them know that a schema corresponding to their dataset already exists. We could suggest them what changes to make to get their data directly validated. We already started doing this with a simple implementation: we post comments on datasets which are supposed to follow a schema, letting producers know if the data is valid and if not, enabling them to access a report to troubleshoot.")]),e._v(" "),r("p",[e._v("Another possibility would be to offer a new service on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" such as the generation of data from an automatically generated form. This is the goal of the ongoing development of "),r("a",{attrs:{href:"https://csv-gg.etalab.studio/?schema=etalab%2Fschema-lieux-covoiturage",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV-GG"),r("OutboundLink")],1),e._v(" allowing to generate a form from an existing Table Schema. This could help users to directly produce validated data.")]),e._v(" "),r("p",[r("img",{attrs:{src:t(508),alt:"screenshot à prévoir"}})]),e._v(" "),r("h3",{attrs:{id:"automation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#automation"}},[e._v("#")]),e._v(" Automation")]),e._v(" "),r("p",[e._v("In the longer term, we also plan to automate data consolidation based on a schema as much as possible. For that, we need to better know and understand available resources on the platform. This could be done by systematically analyzing the content of a new resource and try to fetch metadata such as headers or type of data for each column.")]),e._v(" "),r("p",[e._v("These metadata could then be used to identify datasets with similar structures and link them to an existing schema or propose to create a new one if it does not already exist.")]),e._v(" "),r("p",[e._v("We could also take advantage of the tool "),r("a",{attrs:{href:"https://github.com/etalab/csvapi",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSVAPI"),r("OutboundLink")],1),e._v(" which is actually in use on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" to preview data of a specific dataset. CSVAPI could evolve to offer new features such as highlighting quality problems directly in the dataset or navigating through different datasets with same - or partial - structures. The schema associated with a dataset could also help having a better preview by associating a type to each field. For example, a postal code could be recognized as such and the leading zero would not be cropped.")]),e._v(" "),r("h2",{attrs:{id:"conclusion"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#conclusion"}},[e._v("#")]),e._v(" Conclusion")]),e._v(" "),r("p",[e._v("All of the features mentioned in this article are intended to promote the usefulness and the value of schemas and lead to the creation of new ones. We hope this will result in an increase of the overall quality of the data hosted on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Furthermore, we strongly believe that these features will help to link different users and producers with similar interests and therefore be in line with the community-based nature of "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{507:function(e,a,t){e.exports=t.p+"assets/img/schema-1.d455d7fb.png"},508:function(e,a,t){e.exports=t.p+"assets/img/schema-2.97aad0c8.png"},631:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("In June 2019, "),r("a",{attrs:{href:"https://etalab.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("Etalab"),r("OutboundLink")],1),e._v(", a department of the French interministerial digital service (DINUM), launched "),r("a",{attrs:{href:"https://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(", a platform listing schemas for France. It could be described as what Johan Richer recently called a "),r("a",{attrs:{href:"https://frictionlessdata.io/blog/2020/04/23/table-schema-catalog/",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema catalog"),r("OutboundLink")],1),e._v(". This project is an initiative of "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(", the French open data platform, which is developed and maintained by Etalab.")]),e._v(" "),r("p",[r("img",{attrs:{src:"/img/blog/schema.gouv.fr.png",alt:"schema.gouv.fr homepage"}})]),e._v(" "),r("h2",{attrs:{id:"what-s-a-schema"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-s-a-schema"}},[e._v("#")]),e._v(" What’s a schema?")]),e._v(" "),r("p",[e._v("A schema declares a data model in a clear and precise manner, the various fields and types in a structured and consistent manner, according to a specification. For example, "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),r("OutboundLink")],1),e._v(" is a simple language to declare a schema for tabular data.")]),e._v(" "),r("p",[e._v("Schemas are well suited for a wide range of applications: validating data against a schema, documenting a data model, consolidating data from multiple sources, generating example datasets, or proposing tailored input forms. This wide range of applications makes schemas an important tool for both producers and reusers.")]),e._v(" "),r("h2",{attrs:{id:"advancing-open-data-quality"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#advancing-open-data-quality"}},[e._v("#")]),e._v(" Advancing open data quality")]),e._v(" "),r("p",[e._v("A common complaint of open data reusers has been the lack of quality of the data and data structure changes over time, without notice. The OKFN spoke about this issue in mid-2017 in a blog post, "),r("a",{attrs:{href:"https://blog.okfn.org/2017/05/31/open-data-quality-the-next-shift-in-open-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open data quality – the next shift in open data?"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("With "),r("a",{attrs:{href:"schema.data.gouv.fr"}},[e._v("schema.data.gouv.fr")]),e._v(", Etalab promotes high-quality open data: producers are encouraged to discuss and come up with an appropriate schema for the data they want to publish, and to document it with a recognised specification. Producers will then be able to make sure that the data they publish conforms to the schema over time. Reusers benefit from high-quality documentation, a stable data structure, and increased quality of the data.")]),e._v(" "),r("h2",{attrs:{id:"impacts"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#impacts"}},[e._v("#")]),e._v(" Impacts")]),e._v(" "),r("p",[e._v("The first impact of the launch of "),r("a",{attrs:{href:"https://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" has "),r("strong",[e._v("put at the forefront the challenge of open data quality")]),e._v(". It acknowledges that this is not a solved problem and that producers should embrace schemas, validators, documentation, automated testing to raise the quality of the data they publish. It’s also a recognition of the efforts already made by the community, for example the “Socle commun des données locales” (Common Ground of Local Data) by "),r("a",{attrs:{href:"http://www.opendatafrance.net",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenDataFrance"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("To help producers discover schemas and how it can be helpful for them, we published in March 2020 a "),r("a",{attrs:{href:"https://guides.etalab.gouv.fr/producteurs-schemas/",target:"_blank",rel:"noopener noreferrer"}},[e._v("long guide"),r("OutboundLink")],1),e._v(" going over steps producers are encouraged to follow when creating a schema: discovery, discussions, implementation, publication and finally referencing the schema on "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Since the launch, producers worked with their reusers and published various schemas: "),r("a",{attrs:{href:"https://schema.data.gouv.fr/etalab/schema-lieux-covoiturage/latest.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("carpooling places"),r("OutboundLink")],1),e._v(" or "),r("a",{attrs:{href:"https://schema.data.gouv.fr/arsante/schema-dae/latest.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("defibrillators"),r("OutboundLink")],1),e._v(" to name a few. People had in-depth discussions about their data model, encouraged by the thoroughness of the Table Schema specification. Producers worked hard to clean their data and finally reached a point where their dataset is 100% aligned with the schema, without any errors.")]),e._v(" "),r("h2",{attrs:{id:"what-s-next"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-s-next"}},[e._v("#")]),e._v(" What’s next")]),e._v(" "),r("p",[e._v("Here are a few things we are working on and hope to be able to finish in the coming years.")]),e._v(" "),r("h3",{attrs:{id:"improved-data-models-defined-in-the-law"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#improved-data-models-defined-in-the-law"}},[e._v("#")]),e._v(" Improved data models defined in the law")]),e._v(" "),r("p",[e._v("Right now, when data models are introduced by law, the data model is often described by a table. We’d like to offer a schema when these laws are published, to ease adoption by the community and improve discoverability.")]),e._v(" "),r("h3",{attrs:{id:"integration-with-data-gouv-fr"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#integration-with-data-gouv-fr"}},[e._v("#")]),e._v(" Integration with "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("The "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" initiative is mainly based on published datasets on the French open data platform "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(". However, these tools are still quite separated today. In the coming months, we would like to strengthen the link between "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" by promoting existing schemas directly on the open data platform.")]),e._v(" "),r("p",[e._v("First, we would like to inform users of the existence of a consolidated dataset based on an existing schema and provide them with its quality report. Such a feature is newly available on "),r("a",{attrs:{href:"http://schema.data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("schema.data.gouv.fr"),r("OutboundLink")],1),e._v(". The same feature will arrive soon on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[r("img",{attrs:{src:t(507),alt:"Screenshot à prévoir"}})]),e._v(" "),r("p",[e._v("Second, we’re looking into integrating schemas into the data publishing process on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(". We could help users by letting them know that a schema corresponding to their dataset already exists. We could suggest them what changes to make to get their data directly validated. We already started doing this with a simple implementation: we post comments on datasets which are supposed to follow a schema, letting producers know if the data is valid and if not, enabling them to access a report to troubleshoot.")]),e._v(" "),r("p",[e._v("Another possibility would be to offer a new service on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" such as the generation of data from an automatically generated form. This is the goal of the ongoing development of "),r("a",{attrs:{href:"https://csv-gg.etalab.studio/?schema=etalab%2Fschema-lieux-covoiturage",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV-GG"),r("OutboundLink")],1),e._v(" allowing to generate a form from an existing Table Schema. This could help users to directly produce validated data.")]),e._v(" "),r("p",[r("img",{attrs:{src:t(508),alt:"screenshot à prévoir"}})]),e._v(" "),r("h3",{attrs:{id:"automation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#automation"}},[e._v("#")]),e._v(" Automation")]),e._v(" "),r("p",[e._v("In the longer term, we also plan to automate data consolidation based on a schema as much as possible. For that, we need to better know and understand available resources on the platform. This could be done by systematically analyzing the content of a new resource and try to fetch metadata such as headers or type of data for each column.")]),e._v(" "),r("p",[e._v("These metadata could then be used to identify datasets with similar structures and link them to an existing schema or propose to create a new one if it does not already exist.")]),e._v(" "),r("p",[e._v("We could also take advantage of the tool "),r("a",{attrs:{href:"https://github.com/etalab/csvapi",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSVAPI"),r("OutboundLink")],1),e._v(" which is actually in use on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(" to preview data of a specific dataset. CSVAPI could evolve to offer new features such as highlighting quality problems directly in the dataset or navigating through different datasets with same - or partial - structures. The schema associated with a dataset could also help having a better preview by associating a type to each field. For example, a postal code could be recognized as such and the leading zero would not be cropped.")]),e._v(" "),r("h2",{attrs:{id:"conclusion"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#conclusion"}},[e._v("#")]),e._v(" Conclusion")]),e._v(" "),r("p",[e._v("All of the features mentioned in this article are intended to promote the usefulness and the value of schemas and lead to the creation of new ones. We hope this will result in an increase of the overall quality of the data hosted on "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Furthermore, we strongly believe that these features will help to link different users and producers with similar interests and therefore be in line with the community-based nature of "),r("a",{attrs:{href:"http://data.gouv.fr",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gouv.fr"),r("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/4.86253916.js b/assets/js/4.746cbcff.js similarity index 94% rename from assets/js/4.86253916.js rename to assets/js/4.746cbcff.js index e7ea43560..f128a3499 100644 --- a/assets/js/4.86253916.js +++ b/assets/js/4.746cbcff.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{403:function(e,t,a){e.exports=a.p+"assets/img/mrathris.dcada7fe.png"},404:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-8.076febc6.png"},405:function(e,t,a){e.exports=a.p+"assets/img/fgrow-report-committed.65b32666.png"},406:function(e,t,a){e.exports=a.p+"assets/img/fgrow-import-violations.3e3b4fd5.png"},407:function(e,t,a){e.exports=a.p+"assets/img/fgrow-staging-violations.74e14b9b.png"},408:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-2.064ea569.png"},409:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-6.be27035f.png"},410:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-1.8bb982f4.png"},411:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-10.6fde368d.png"},412:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-3.a93a07b9.png"},413:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-4.89b52caf.png"},564:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("Tesera is an employee-owned company, founded in 1997. Our focus is helping our clients create data-driven applications in the cloud. We also maintain two core product lines in addition to our consulting practice. "),r("a",{attrs:{href:"https://www.linkedin.com/showcase/municipal-risk-assessment-tool/about/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MRAT.ca"),r("OutboundLink")],1),e._v(" helps municipalities identify risk of basement flooding, while "),r("a",{attrs:{href:"https://cran.r-project.org/web/packages/forestinventory/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("forestinventory.ca"),r("OutboundLink")],1),e._v(" (High Resolution Inventory Services) enables forest and natural resource companies to access a new level of accuracy and precision in resource inventories and carbon measurement.")]),e._v(" "),r("p",[r("a",{attrs:{href:"http://tesera.com/",target:"_blank",rel:"noopener noreferrer"}},[r("img",{attrs:{src:a(403),alt:"MRAT + HRIS"}}),r("OutboundLink")],1),e._v(" "),r("br"),e._v(" "),r("em",[r("a",{attrs:{href:"https://www.linkedin.com/showcase/municipal-risk-assessment-tool/about/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MRAT.ca"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"http://forestinventory.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("forestinventory.ca"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("We deal with data from a variety of sources ranging from sample plots to in situ sensors. We grab samples and measurements to remotely sensed information from LiDAR, colour infrared and others. Many proprietary specifications exist across those data sources, and to work around this, we’ve adopted CSV as our universal format. We use Data Packages"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(", CSV files, and Table Schema"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" to create database tables, validate data schemas and domains, import data from S3"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" to PostgreSQL, DynamoDB"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(", and Elastic"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(". In some cases we also use these Frictionless Data specs to move between application components, in particular where multiple technologies (Python, R, Javascript, and other) are utilized in a workflow.")]),e._v(" "),r("p",[e._v("We have adopted the Data Package standard as a simple, elegant way to describe and package our CSV data for interoperability between systems and components. We use this in conjunction with the Table Schema which enables us to define rules and constraints"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" for each field in the CSV file. With this in mind we have set up our workflows to essentially connect S3 buckets with analytical processes. We have written some simple open-source AWS Lambda"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn7",id:"fnref7"}},[e._v("[7]")])]),e._v(" functions that let us easily invoke validation and sanitization at the end of each process on the backend. We also expose this to the frontend of some of our applications so users can work through an import/contribution process where they are shown issues with their data that must be fixed before they can contribute. "),r("strong",[e._v("This helps us ensure good interoperable data at a foundational level, thereby making it easier to use for analysis, visualization, or modeling without extensive ad-hoc quality control.")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(404),alt:'Example of validation error ("not a number") on import driven by Table Schema metadata'}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Example of validation error (“not a number”) on import driven by Table Schema metadata")])]),e._v(" "),r("p",[e._v("We discovered Frictionless Data through GitHub by following Max Ogden and some of the interesting work he is doing with "),r("a",{attrs:{href:"http://datproject.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dat"),r("OutboundLink")],1),e._v(". We were looking for simpler, more usable alternatives to the “standards” web-services craze of the 2000s. We had implemented a large interoperability hub for observation data called the [Water and Environmental hub (WEHUB)]"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn8",id:"fnref8"}},[e._v("[8]")])]),e._v(" which supported various "),r("a",{attrs:{href:"http://www.opengeospatial.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OGC"),r("OutboundLink")],1),e._v(" standards ("),r("a",{attrs:{href:"http://www.opengeospatial.org/standards/waterml",target:"_blank",rel:"noopener noreferrer"}},[e._v("WaterML"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"http://www.opengeospatial.org/standards/sos",target:"_blank",rel:"noopener noreferrer"}},[e._v("SOS"),r("OutboundLink")],1),e._v(") which was supposed to make important information accessible to many stakeholders, but in reality, nobody was using it. We were looking for a simpler way to enable data access and use for developers and downloaders alike.")]),e._v(" "),r("p",[e._v("We are especially keen on software that enables faster interoperability, especially within an AWS environment. We envision a framework of loaders, validators, sanitizers, analyzers, and exporters, fundamentally based around Amazon S3, various databases, and Lambda or Elastic Container Service"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn9",id:"fnref9"}},[e._v("[9]")])]),e._v(" (for larger processes). "),r("strong",[e._v("Having supported a lot of clients with a lot of projects, our goal has been to remove the common grunt work associated with data workflows to enable effort to be prioritized towards the use and application of the data.")])]),e._v(" "),r("p",[e._v("For instance, every data portal needs a way to import data into the system and likely a way to export data from the system. Depending on the complexity of the application and the size of the imports and exports, various approaches were utilized which directly leveraged the database or relied on various libraries. "),r("em",[e._v("The friction required to load and begin to make use of the data often consumed a large portion of project budgets.")]),e._v(" By moving towards common methods of import and export (as enabled by Data Package and Table Schema and deployed to Elastic Container Service and/or Lambda), we’ve been able to standardize that aspect of our data applications and not have to revisit it.")]),e._v(" "),r("p",[e._v("As the “Internet of Things” threatens to release yet another round of standards for essentially observation data, we hope to keep things simple and use what we have for these use cases as well. Smaller imports and exports can readily be executed by Lambda; when they are more complex or resource-intensive, Lambda can trigger an ECS task to complete the work.")]),e._v(" "),r("p",[e._v("We developed some basic CSV to DynamoDB and ElasticSearch loaders in support of a Common Operating Picture toolset for the "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/2016_Fort_McMurray_wildfire",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fort McMurray Wildfires"),r("OutboundLink")],1),e._v(". In the coming days, we would like to clean those up, along with our existing RDS loaders and Lambda functions and start moving towards the framework described. We are cleaning up and open sourcing a number of utilities to facilitate these workflows with the goal of being able to describe data types in CSV files, then automatically map them or input them into a model. There may be an opportunity to explicitly identify how spatial feature information is carried within a Data Package or Table Schema.")]),e._v(" "),r("p",[e._v("We are kind of excited about the method and framework itself to have almost "),r("a",{attrs:{href:"https://zapier.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zapier"),r("OutboundLink")],1),e._v("- or"),r("br"),e._v(" "),r("a",{attrs:{href:"https://ifttt.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("IFTTT"),r("OutboundLink")],1),e._v("-like capabilities for CSV data where we can rapidly accomplish many common use cases enabling resources to be prioritized to the business value. On the application side, we have been getting pretty excited about ElasticSearch and Kibana"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn10",id:"fnref10"}},[e._v("[10]")])]),e._v(" and perhaps extending them to bring together more seamless exploration of large dynamic geospatial datasets, especially where the data is continuous/temporal in nature and existing GIS technology falls pretty flat. This will be important as smart cities and “Internet of Things” use cases advance.")]),e._v(" "),r("h2",{attrs:{id:"projects"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#projects"}},[e._v("#")]),e._v(" Projects")]),e._v(" "),r("p",[r("em",[e._v("This next section will explore two Tesera-developed projects that employ the Frictionless Data specifications: the Provincial Growth and Yield Initiative Plot Sharing App (PGYI) and Mackenzie DataStream.")])]),e._v(" "),r("h3",{attrs:{id:"_1-provincial-growth-and-yield-initiative-plot-sharing-app"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_1-provincial-growth-and-yield-initiative-plot-sharing-app"}},[e._v("#")]),e._v(" 1. Provincial Growth and Yield Initiative Plot Sharing App")]),e._v(" "),r("p",[r("img",{attrs:{src:a(405),alt:"The Provincial Growth and Yield Initiative Plot Sharing App"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Provincial Growth and Yield Initiative Plot Sharing App")])]),e._v(" "),r("p",[e._v("With this app, we are enabling the 16 government and industrial members of "),r("a",{attrs:{href:"https://fgrow.friresearch.ca/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Forest Growth Organization of Western Canada (FGrOW)"),r("OutboundLink")],1),e._v(" to seamlessly share forest plot measurement data with each other and know that the data will be interoperable and meet their specifications. Specifications were designed primarily with the data manager in mind and were formatted as a contribution guidelines document. From this document, the "),r("a",{attrs:{href:"https://github.com/tesera/datatheme-afgo-pgyi",target:"_blank",rel:"noopener noreferrer"}},[e._v("afgo-pgyi"),r("OutboundLink")],1),e._v(" “Data Theme” was created which contains the Data Package details as well as the several Table Schemas required to assemble a dataset. Having access to this large and interoperable dataset will enable their members to improve their growth and yield models and respond to bioclimatic changes as they occur.")]),e._v(" "),r("p",[e._v("We supported FGrOW in creating a set of data standards and then created the Table Schemas to enable a validation workflow. The members upload a set of relational CSV files which are packaged up as Data Packages, uploaded to S3, and then validated by the Lambda Data Package Validator. The results of this initial validation are returned to the user as errors (cannot proceed) or warnings (something is wrong but it can be accepted).")]),e._v(" "),r("p",[r("img",{attrs:{src:a(406),alt:"PGYI import violations"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("PGYI import violations")])]),e._v(" "),r("p",[e._v("At this stage the data is considered imported. If there are no errors the user is able to stage their dataset which uses the Lambda RDS Loader to import the Data Package into an RDS PostGreSQL instance. This triggers a number of more sophisticated validation functions relating to tree growth rates, measurement impossibilities, and sanity checks at the database level.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(407),alt:"PGYI staging violations"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("PGYI staging violations")])]),e._v(" "),r("p",[e._v("Having previously ensured the data meets the Table Schema and was loaded successfully, we have confidence in executing custom database functions without having to handle endless data anomalies and exceptions. A simple example check to see if species changes between measurements can be illustrated below:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("CREATE OR REPLACE FUNCTION staging.get_upload_trees_species_violations(in_upload_id text)\nRETURNS SETOF staging.violation AS $$\n\nBEGIN\n -- RULE 1: tree species should not change over time\n RETURN QUERY\n\n SELECT\n '0'::text,\n staged_tree.upload_id,\n\n staged_tree.source_row_index,\n 'trees'::text,\n array_to_string(ARRAY[staged_tree.company, staged_tree.company_plot_number, staged_tree.tree_number::text], '-'),\n\n 'trees.species.change'::text,\n 'warning'::text,\n format('Tree species changed from %s to %s', committed_tree.species, staged_tree.species)\n\n FROM staging.staged_trees staged_tree\n INNER JOIN staging.committed_trees committed_tree\n USING (company, company_plot_number, tree_number)\n\n WHERE staged_tree.upload_id = in_upload_id\n AND (staged_tree.species NOTNULL AND staged_tree.species <>'No')\n AND staged_tree.species != committed_tree.species;\n\nEND;\n$$ LANGUAGE plpgsql;\n")])])]),r("p",[e._v("Again the user is presented with violations as errors or warnings and can they can choose to commit the plots without errors into the shared database. Essentially this three step workflow from imported, to staged, to committed allows FGroW to ensure quality data that will be useful for their modeling and analysis purposes.")]),e._v(" "),r("p",[e._v("FGroW has built a database that currently has 2400 permanent sample plots each containing many trees and all together 10s of millions of measurements across a wide variety of strata including various natural regions and natural sub-regions. This database provides the numeric power to produce and refine better growth models and enable companies to adopt their planning and management to real conditions.")]),e._v(" "),r("p",[e._v("There are many cases where industries might wish to bring together measurement data in a consistent way to maximize their productivity. "),r("strong",[e._v("One of the more obvious examples is in agriculture where precision information is increasingly collected at the local or individual farm level, but bringing this information together in aggregate would produce new and greater insight with regard to productivity, broad scale change, and perhaps adaption to climate change strategies.")])]),e._v(" "),r("h3",{attrs:{id:"_2-mackenzie-datastream"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_2-mackenzie-datastream"}},[e._v("#")]),e._v(" 2. Mackenzie DataStream")]),e._v(" "),r("p",[r("a",{attrs:{href:"http://www.mackenziedatastream.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://www.mackenziedatastream.org/"),r("OutboundLink")],1)]),e._v(" "),r("p",[r("img",{attrs:{src:a(408),alt:"Mackenzie DataStream App"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream App")])]),e._v(" "),r("p",[r("a",{attrs:{href:"http://www.mackenziedatastream.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mackenzie DataStream"),r("OutboundLink")],1),e._v(" is an open access platform for exploring and sharing water data in the Mackenzie River Basin. DataStream’s mission is to promote knowledge sharing and advance collaborative and evidence-based decision making throughout the Basin. The Mackenzie River Basin is extremely large, measuring 1.8 million square kilometers and as such monitoring is a large challenge. To overcome this challenge, water quality monitoring is carried out by a variety of partners which include communities and Aboriginal, territorial, and federal governments. With multiple parties collecting and sharing information, Mackenzie DataStream had to overcome challenges of trust and interoperability.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(409),alt:"The Mackenzie River Basin"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Mackenzie River Basin")])]),e._v(" "),r("p",[e._v("Tesera leveraged the Data Package standard as an easy way for Government and community partners alike to import data into the system. We used Table Schema to define the structure and constraints of the Data Themes which we represented in a simple visible way.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(410),alt:"Table fields and validation rules derived from Table Schema"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Table fields and validation rules derived from Table Schema")])]),e._v(" "),r("p",[e._v("The backend on this system also relies on the Data Package Validator and the Relational Database Loader. The observation data is then exposed to the client via a simple "),r("a",{attrs:{href:"http://expressjs.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Express.js"),r("OutboundLink")],1),e._v(" API as JSON. The Frictionless Data specifications help us ensure clean consistent data and make visualization a breeze. We push the data to "),r("a",{attrs:{href:"https://plot.ly/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Plotly"),r("OutboundLink")],1),e._v(" to build the charts as it provides lots of options for scientific plotting, as well as a good api, at a minimal cost.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(411),alt:"Mackenzie DataStream visualization example"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream visualization example")])]),e._v(" "),r("p",[e._v("The Mackenzie DataStream is gaining momentum and partners. The "),r("a",{attrs:{href:"http://www.fortnelsonfirstnation.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fort Nelson First Nation"),r("OutboundLink")],1),e._v(" has joined on as a contributing partner and the "),r("a",{attrs:{href:"http://www.gov.nt.ca/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Government of Northwest Territories"),r("OutboundLink")],1),e._v(" is looking to apply DataStream to a few other datatypes and bringing on some addition partners in water permitting and cumulative effects monitoring. We think of this as a simple and effective way to make environmental monitoring data more accessible.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(412),alt:"Mackenzie DataStream environmental observation data"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream environmental observation data")])]),e._v(" "),r("p",[e._v("There are many ways to monitor the environment, but bringing the data together according to standards, ensuring that it is loaded correctly, and making it accessible via a simple API seems pretty universal. We are working through a UX/UI overhaul and then hope to open source the entire DataStream application for other organizations that are collecting environmental observation data and looking to increase its utility to citizens, scientists, and consultants alike.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(413),alt:"Mackenzie DataStream summary statistics"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream summary statistics")])]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("Data Packages: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Table Schema: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Amazon Simple Storage Service (Amazon S3): "),r("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/s3/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Amazon DynamoDB: "),r("a",{attrs:{href:"https://aws.amazon.com/dynamodb/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/dynamodb/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Elastic Search: "),r("a",{attrs:{href:"https://www.elastic.co/products/elasticsearch",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.elastic.co/products/elasticsearch"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("Table Schema Field Constraints: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema/#constraints"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[r("p",[e._v("Amazon AWS Lambda: "),r("a",{attrs:{href:"https://aws.amazon.com/lambda/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/lambda/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn8"}},[r("p",[e._v("Water and Environmental Hub: "),r("a",{attrs:{href:"http://watercanada.net/2013/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://watercanada.net/2013/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref8"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn9"}},[r("p",[e._v("Amazon EC2: Virtual Server Hosting: "),r("a",{attrs:{href:"https://aws.amazon.com/ec2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/ec2/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref9"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn10"}},[r("p",[e._v("Kibana: "),r("a",{attrs:{href:"https://www.elastic.co/products/kibana",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.elastic.co/products/kibana"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref10"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{402:function(e,t,a){e.exports=a.p+"assets/img/mrathris.dcada7fe.png"},403:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-8.076febc6.png"},404:function(e,t,a){e.exports=a.p+"assets/img/fgrow-report-committed.65b32666.png"},405:function(e,t,a){e.exports=a.p+"assets/img/fgrow-import-violations.3e3b4fd5.png"},406:function(e,t,a){e.exports=a.p+"assets/img/fgrow-staging-violations.74e14b9b.png"},407:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-2.064ea569.png"},408:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-6.be27035f.png"},409:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-1.8bb982f4.png"},410:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-10.6fde368d.png"},411:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-3.a93a07b9.png"},412:function(e,t,a){e.exports=a.p+"assets/img/mackenzie-4.89b52caf.png"},562:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("Tesera is an employee-owned company, founded in 1997. Our focus is helping our clients create data-driven applications in the cloud. We also maintain two core product lines in addition to our consulting practice. "),r("a",{attrs:{href:"https://www.linkedin.com/showcase/municipal-risk-assessment-tool/about/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MRAT.ca"),r("OutboundLink")],1),e._v(" helps municipalities identify risk of basement flooding, while "),r("a",{attrs:{href:"https://cran.r-project.org/web/packages/forestinventory/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("forestinventory.ca"),r("OutboundLink")],1),e._v(" (High Resolution Inventory Services) enables forest and natural resource companies to access a new level of accuracy and precision in resource inventories and carbon measurement.")]),e._v(" "),r("p",[r("a",{attrs:{href:"http://tesera.com/",target:"_blank",rel:"noopener noreferrer"}},[r("img",{attrs:{src:a(402),alt:"MRAT + HRIS"}}),r("OutboundLink")],1),e._v(" "),r("br"),e._v(" "),r("em",[r("a",{attrs:{href:"https://www.linkedin.com/showcase/municipal-risk-assessment-tool/about/",target:"_blank",rel:"noopener noreferrer"}},[e._v("MRAT.ca"),r("OutboundLink")],1),e._v(" and "),r("a",{attrs:{href:"http://forestinventory.ca",target:"_blank",rel:"noopener noreferrer"}},[e._v("forestinventory.ca"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("We deal with data from a variety of sources ranging from sample plots to in situ sensors. We grab samples and measurements to remotely sensed information from LiDAR, colour infrared and others. Many proprietary specifications exist across those data sources, and to work around this, we’ve adopted CSV as our universal format. We use Data Packages"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(", CSV files, and Table Schema"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" to create database tables, validate data schemas and domains, import data from S3"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" to PostgreSQL, DynamoDB"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(", and Elastic"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(". In some cases we also use these Frictionless Data specs to move between application components, in particular where multiple technologies (Python, R, Javascript, and other) are utilized in a workflow.")]),e._v(" "),r("p",[e._v("We have adopted the Data Package standard as a simple, elegant way to describe and package our CSV data for interoperability between systems and components. We use this in conjunction with the Table Schema which enables us to define rules and constraints"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" for each field in the CSV file. With this in mind we have set up our workflows to essentially connect S3 buckets with analytical processes. We have written some simple open-source AWS Lambda"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn7",id:"fnref7"}},[e._v("[7]")])]),e._v(" functions that let us easily invoke validation and sanitization at the end of each process on the backend. We also expose this to the frontend of some of our applications so users can work through an import/contribution process where they are shown issues with their data that must be fixed before they can contribute. "),r("strong",[e._v("This helps us ensure good interoperable data at a foundational level, thereby making it easier to use for analysis, visualization, or modeling without extensive ad-hoc quality control.")])]),e._v(" "),r("p",[r("img",{attrs:{src:a(403),alt:'Example of validation error ("not a number") on import driven by Table Schema metadata'}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Example of validation error (“not a number”) on import driven by Table Schema metadata")])]),e._v(" "),r("p",[e._v("We discovered Frictionless Data through GitHub by following Max Ogden and some of the interesting work he is doing with "),r("a",{attrs:{href:"http://datproject.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dat"),r("OutboundLink")],1),e._v(". We were looking for simpler, more usable alternatives to the “standards” web-services craze of the 2000s. We had implemented a large interoperability hub for observation data called the [Water and Environmental hub (WEHUB)]"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn8",id:"fnref8"}},[e._v("[8]")])]),e._v(" which supported various "),r("a",{attrs:{href:"http://www.opengeospatial.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OGC"),r("OutboundLink")],1),e._v(" standards ("),r("a",{attrs:{href:"http://www.opengeospatial.org/standards/waterml",target:"_blank",rel:"noopener noreferrer"}},[e._v("WaterML"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"http://www.opengeospatial.org/standards/sos",target:"_blank",rel:"noopener noreferrer"}},[e._v("SOS"),r("OutboundLink")],1),e._v(") which was supposed to make important information accessible to many stakeholders, but in reality, nobody was using it. We were looking for a simpler way to enable data access and use for developers and downloaders alike.")]),e._v(" "),r("p",[e._v("We are especially keen on software that enables faster interoperability, especially within an AWS environment. We envision a framework of loaders, validators, sanitizers, analyzers, and exporters, fundamentally based around Amazon S3, various databases, and Lambda or Elastic Container Service"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn9",id:"fnref9"}},[e._v("[9]")])]),e._v(" (for larger processes). "),r("strong",[e._v("Having supported a lot of clients with a lot of projects, our goal has been to remove the common grunt work associated with data workflows to enable effort to be prioritized towards the use and application of the data.")])]),e._v(" "),r("p",[e._v("For instance, every data portal needs a way to import data into the system and likely a way to export data from the system. Depending on the complexity of the application and the size of the imports and exports, various approaches were utilized which directly leveraged the database or relied on various libraries. "),r("em",[e._v("The friction required to load and begin to make use of the data often consumed a large portion of project budgets.")]),e._v(" By moving towards common methods of import and export (as enabled by Data Package and Table Schema and deployed to Elastic Container Service and/or Lambda), we’ve been able to standardize that aspect of our data applications and not have to revisit it.")]),e._v(" "),r("p",[e._v("As the “Internet of Things” threatens to release yet another round of standards for essentially observation data, we hope to keep things simple and use what we have for these use cases as well. Smaller imports and exports can readily be executed by Lambda; when they are more complex or resource-intensive, Lambda can trigger an ECS task to complete the work.")]),e._v(" "),r("p",[e._v("We developed some basic CSV to DynamoDB and ElasticSearch loaders in support of a Common Operating Picture toolset for the "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/2016_Fort_McMurray_wildfire",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fort McMurray Wildfires"),r("OutboundLink")],1),e._v(". In the coming days, we would like to clean those up, along with our existing RDS loaders and Lambda functions and start moving towards the framework described. We are cleaning up and open sourcing a number of utilities to facilitate these workflows with the goal of being able to describe data types in CSV files, then automatically map them or input them into a model. There may be an opportunity to explicitly identify how spatial feature information is carried within a Data Package or Table Schema.")]),e._v(" "),r("p",[e._v("We are kind of excited about the method and framework itself to have almost "),r("a",{attrs:{href:"https://zapier.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Zapier"),r("OutboundLink")],1),e._v("- or"),r("br"),e._v(" "),r("a",{attrs:{href:"https://ifttt.com",target:"_blank",rel:"noopener noreferrer"}},[e._v("IFTTT"),r("OutboundLink")],1),e._v("-like capabilities for CSV data where we can rapidly accomplish many common use cases enabling resources to be prioritized to the business value. On the application side, we have been getting pretty excited about ElasticSearch and Kibana"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn10",id:"fnref10"}},[e._v("[10]")])]),e._v(" and perhaps extending them to bring together more seamless exploration of large dynamic geospatial datasets, especially where the data is continuous/temporal in nature and existing GIS technology falls pretty flat. This will be important as smart cities and “Internet of Things” use cases advance.")]),e._v(" "),r("h2",{attrs:{id:"projects"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#projects"}},[e._v("#")]),e._v(" Projects")]),e._v(" "),r("p",[r("em",[e._v("This next section will explore two Tesera-developed projects that employ the Frictionless Data specifications: the Provincial Growth and Yield Initiative Plot Sharing App (PGYI) and Mackenzie DataStream.")])]),e._v(" "),r("h3",{attrs:{id:"_1-provincial-growth-and-yield-initiative-plot-sharing-app"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_1-provincial-growth-and-yield-initiative-plot-sharing-app"}},[e._v("#")]),e._v(" 1. Provincial Growth and Yield Initiative Plot Sharing App")]),e._v(" "),r("p",[r("img",{attrs:{src:a(404),alt:"The Provincial Growth and Yield Initiative Plot Sharing App"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Provincial Growth and Yield Initiative Plot Sharing App")])]),e._v(" "),r("p",[e._v("With this app, we are enabling the 16 government and industrial members of "),r("a",{attrs:{href:"https://fgrow.friresearch.ca/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Forest Growth Organization of Western Canada (FGrOW)"),r("OutboundLink")],1),e._v(" to seamlessly share forest plot measurement data with each other and know that the data will be interoperable and meet their specifications. Specifications were designed primarily with the data manager in mind and were formatted as a contribution guidelines document. From this document, the "),r("a",{attrs:{href:"https://github.com/tesera/datatheme-afgo-pgyi",target:"_blank",rel:"noopener noreferrer"}},[e._v("afgo-pgyi"),r("OutboundLink")],1),e._v(" “Data Theme” was created which contains the Data Package details as well as the several Table Schemas required to assemble a dataset. Having access to this large and interoperable dataset will enable their members to improve their growth and yield models and respond to bioclimatic changes as they occur.")]),e._v(" "),r("p",[e._v("We supported FGrOW in creating a set of data standards and then created the Table Schemas to enable a validation workflow. The members upload a set of relational CSV files which are packaged up as Data Packages, uploaded to S3, and then validated by the Lambda Data Package Validator. The results of this initial validation are returned to the user as errors (cannot proceed) or warnings (something is wrong but it can be accepted).")]),e._v(" "),r("p",[r("img",{attrs:{src:a(405),alt:"PGYI import violations"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("PGYI import violations")])]),e._v(" "),r("p",[e._v("At this stage the data is considered imported. If there are no errors the user is able to stage their dataset which uses the Lambda RDS Loader to import the Data Package into an RDS PostGreSQL instance. This triggers a number of more sophisticated validation functions relating to tree growth rates, measurement impossibilities, and sanity checks at the database level.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(406),alt:"PGYI staging violations"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("PGYI staging violations")])]),e._v(" "),r("p",[e._v("Having previously ensured the data meets the Table Schema and was loaded successfully, we have confidence in executing custom database functions without having to handle endless data anomalies and exceptions. A simple example check to see if species changes between measurements can be illustrated below:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[e._v("CREATE OR REPLACE FUNCTION staging.get_upload_trees_species_violations(in_upload_id text)\nRETURNS SETOF staging.violation AS $$\n\nBEGIN\n -- RULE 1: tree species should not change over time\n RETURN QUERY\n\n SELECT\n '0'::text,\n staged_tree.upload_id,\n\n staged_tree.source_row_index,\n 'trees'::text,\n array_to_string(ARRAY[staged_tree.company, staged_tree.company_plot_number, staged_tree.tree_number::text], '-'),\n\n 'trees.species.change'::text,\n 'warning'::text,\n format('Tree species changed from %s to %s', committed_tree.species, staged_tree.species)\n\n FROM staging.staged_trees staged_tree\n INNER JOIN staging.committed_trees committed_tree\n USING (company, company_plot_number, tree_number)\n\n WHERE staged_tree.upload_id = in_upload_id\n AND (staged_tree.species NOTNULL AND staged_tree.species <>'No')\n AND staged_tree.species != committed_tree.species;\n\nEND;\n$$ LANGUAGE plpgsql;\n")])])]),r("p",[e._v("Again the user is presented with violations as errors or warnings and can they can choose to commit the plots without errors into the shared database. Essentially this three step workflow from imported, to staged, to committed allows FGroW to ensure quality data that will be useful for their modeling and analysis purposes.")]),e._v(" "),r("p",[e._v("FGroW has built a database that currently has 2400 permanent sample plots each containing many trees and all together 10s of millions of measurements across a wide variety of strata including various natural regions and natural sub-regions. This database provides the numeric power to produce and refine better growth models and enable companies to adopt their planning and management to real conditions.")]),e._v(" "),r("p",[e._v("There are many cases where industries might wish to bring together measurement data in a consistent way to maximize their productivity. "),r("strong",[e._v("One of the more obvious examples is in agriculture where precision information is increasingly collected at the local or individual farm level, but bringing this information together in aggregate would produce new and greater insight with regard to productivity, broad scale change, and perhaps adaption to climate change strategies.")])]),e._v(" "),r("h3",{attrs:{id:"_2-mackenzie-datastream"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_2-mackenzie-datastream"}},[e._v("#")]),e._v(" 2. Mackenzie DataStream")]),e._v(" "),r("p",[r("a",{attrs:{href:"http://www.mackenziedatastream.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://www.mackenziedatastream.org/"),r("OutboundLink")],1)]),e._v(" "),r("p",[r("img",{attrs:{src:a(407),alt:"Mackenzie DataStream App"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream App")])]),e._v(" "),r("p",[r("a",{attrs:{href:"http://www.mackenziedatastream.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Mackenzie DataStream"),r("OutboundLink")],1),e._v(" is an open access platform for exploring and sharing water data in the Mackenzie River Basin. DataStream’s mission is to promote knowledge sharing and advance collaborative and evidence-based decision making throughout the Basin. The Mackenzie River Basin is extremely large, measuring 1.8 million square kilometers and as such monitoring is a large challenge. To overcome this challenge, water quality monitoring is carried out by a variety of partners which include communities and Aboriginal, territorial, and federal governments. With multiple parties collecting and sharing information, Mackenzie DataStream had to overcome challenges of trust and interoperability.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(408),alt:"The Mackenzie River Basin"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Mackenzie River Basin")])]),e._v(" "),r("p",[e._v("Tesera leveraged the Data Package standard as an easy way for Government and community partners alike to import data into the system. We used Table Schema to define the structure and constraints of the Data Themes which we represented in a simple visible way.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(409),alt:"Table fields and validation rules derived from Table Schema"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Table fields and validation rules derived from Table Schema")])]),e._v(" "),r("p",[e._v("The backend on this system also relies on the Data Package Validator and the Relational Database Loader. The observation data is then exposed to the client via a simple "),r("a",{attrs:{href:"http://expressjs.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Express.js"),r("OutboundLink")],1),e._v(" API as JSON. The Frictionless Data specifications help us ensure clean consistent data and make visualization a breeze. We push the data to "),r("a",{attrs:{href:"https://plot.ly/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Plotly"),r("OutboundLink")],1),e._v(" to build the charts as it provides lots of options for scientific plotting, as well as a good api, at a minimal cost.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(410),alt:"Mackenzie DataStream visualization example"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream visualization example")])]),e._v(" "),r("p",[e._v("The Mackenzie DataStream is gaining momentum and partners. The "),r("a",{attrs:{href:"http://www.fortnelsonfirstnation.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fort Nelson First Nation"),r("OutboundLink")],1),e._v(" has joined on as a contributing partner and the "),r("a",{attrs:{href:"http://www.gov.nt.ca/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Government of Northwest Territories"),r("OutboundLink")],1),e._v(" is looking to apply DataStream to a few other datatypes and bringing on some addition partners in water permitting and cumulative effects monitoring. We think of this as a simple and effective way to make environmental monitoring data more accessible.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(411),alt:"Mackenzie DataStream environmental observation data"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream environmental observation data")])]),e._v(" "),r("p",[e._v("There are many ways to monitor the environment, but bringing the data together according to standards, ensuring that it is loaded correctly, and making it accessible via a simple API seems pretty universal. We are working through a UX/UI overhaul and then hope to open source the entire DataStream application for other organizations that are collecting environmental observation data and looking to increase its utility to citizens, scientists, and consultants alike.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(412),alt:"Mackenzie DataStream summary statistics"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("Mackenzie DataStream summary statistics")])]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("Data Packages: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Table Schema: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Amazon Simple Storage Service (Amazon S3): "),r("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/s3/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Amazon DynamoDB: "),r("a",{attrs:{href:"https://aws.amazon.com/dynamodb/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/dynamodb/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Elastic Search: "),r("a",{attrs:{href:"https://www.elastic.co/products/elasticsearch",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.elastic.co/products/elasticsearch"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("Table Schema Field Constraints: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema/#constraints"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[r("p",[e._v("Amazon AWS Lambda: "),r("a",{attrs:{href:"https://aws.amazon.com/lambda/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/lambda/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn8"}},[r("p",[e._v("Water and Environmental Hub: "),r("a",{attrs:{href:"http://watercanada.net/2013/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://watercanada.net/2013/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref8"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn9"}},[r("p",[e._v("Amazon EC2: Virtual Server Hosting: "),r("a",{attrs:{href:"https://aws.amazon.com/ec2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://aws.amazon.com/ec2/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref9"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn10"}},[r("p",[e._v("Kibana: "),r("a",{attrs:{href:"https://www.elastic.co/products/kibana",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.elastic.co/products/kibana"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref10"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/40.c7aa91c1.js b/assets/js/40.8609e724.js similarity index 99% rename from assets/js/40.c7aa91c1.js rename to assets/js/40.8609e724.js index fe9b88246..afc64f707 100644 --- a/assets/js/40.c7aa91c1.js +++ b/assets/js/40.8609e724.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{515:function(e,t,a){e.exports=a.p+"assets/img/TUDelft-training.7a056b52.png"},516:function(e,t,a){e.exports=a.p+"assets/img/TU-Delft-feedback.1c752ebd.png"},691:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[r("em",[e._v("Originally published on: "),r("a",{attrs:{href:"https://community.data.4tu.nl/2022/05/19/workshop-on-fair-and-frictionless-workflows-for-tabular-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://community.data.4tu.nl/2022/05/19/workshop-on-fair-and-frictionless-workflows-for-tabular-data/"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("4TU.ResearchData and Frictionless Data joined forces to organize the workshop "),r("a",{attrs:{href:"https://community.data.4tu.nl/2022/03/22/workshop-fair-and-frictionless-workflows-for-tabular-data-online/",target:"_blank",rel:"noopener noreferrer"}},[e._v("“FAIR and frictionless workflows for tabular data”"),r("OutboundLink")],1),e._v(". The workshop took place on 28 and 29 April 2022 in an online format")]),e._v(" "),r("p",[e._v("On 28 and 29 April we ran the workshop “FAIR and frictionless workflows for tabular data” in collaboration with members of the "),r("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data project team"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("This workshop was envisioned as a pilot to create training on reproducible and FAIR tools that researchers can use when working with tabular data, from creation to publication. The programme was a mixture of presentations, exercises and hands-on live coding sessions. We got a lot of inspiration from "),r("a",{attrs:{href:"https://carpentries.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Carpentries"),r("OutboundLink")],1),e._v(" style of workshops and tried to create a safe, inclusive and interactive learning experience for the participants.")]),e._v(" "),r("p",[e._v("The workshop started with an introduction to Reproducible and FAIR research given by "),r("a",{attrs:{href:"https://www.tudelft.nl/library/research-data-management/r/support/data-stewardship/contact/eirini-zormpa",target:"_blank",rel:"noopener noreferrer"}},[e._v("Eirini Zormpa"),r("OutboundLink")],1),e._v(" (Trainer at 4TU.ResearchData), who also introduced learners to best practices for data organization of tabular data based on the "),r("a",{attrs:{href:"https://datacarpentry.org/spreadsheet-ecology-lesson/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Carpentry for Ecologists lesson"),r("OutboundLink")],1),e._v(". You can have a look at "),r("a",{attrs:{href:"https://4turesearchdata-carpentries.github.io/frictionless-data-workshop/data-organisation.html#1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Eirini’s slides here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("The introduction was followed by a hands-on session exploring the "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data framework"),r("OutboundLink")],1),e._v(". The Frictionless Data project has developed a full data management framework for Python to describe, extract, validate, and transform tabular data following the FAIR principles. "),r("a",{attrs:{href:"https://www.linkedin.com/in/lilly-winfree-phd/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lilly Winfree"),r("OutboundLink")],1),e._v(" used Jupyter Notebook to introduce learners to the different tools, as it helps visualizing the steps of the workflow. You can access the presentation and the notebook (and all the materials of the workshop) used by Lilly in "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-",target:"_blank",rel:"noopener noreferrer"}},[e._v("this GitHub repository"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("During the hands-on coding session, the learners practiced what they were learning on an example dataset from ecology (source of the dataset: "),r("a",{attrs:{href:"https://datacarpentry.org/ecology-workshop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Carpentry for Ecologists"),r("OutboundLink")],1),e._v("). Later in the workshop, Katerina Drakoulaki, Frictionless Data fellow and helper, also gave an example of how to apply the framework tools to a "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-/blob/main/03_Frictionless%20Data-MBn%20presentation_28-4-2022.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("dataset coming from the computational musicology field"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("We concluded the workshop with a presentation about "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-/blob/main/04_FAIRandFRictionless%20workflows_Data_Publication.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Publication"),r("OutboundLink")],1),e._v(" by "),r("a",{attrs:{href:"https://www.tudelft.nl/staff/p.m.martinezlavanchy/?cHash=38d458b8cd0f7bc5562cd130725220c6",target:"_blank",rel:"noopener noreferrer"}},[e._v("Paula Martinez Lavanchy"),r("OutboundLink")],1),e._v(", Research Data Officer at 4TU.ResearchData. The presentation focused on why researchers should publish their data, how to select the data to publish and how to choose a good data repository that helps implement the FAIR principles to the researchers’ data. Paula also briefly demoed the features of 4TU.ResearchData using the "),r("a",{attrs:{href:"https://sandbox.data.4tu.nl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository sandbox"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Besides the instructors, we also had a great team of helpers that were there in case the learners encountered any technical problems or had questions during the live coding session. We would like to give a big thank you to: Nicolas Dintzner – TU Delft Data Steward of the Faculty of Technology, Policy & Management, Katerina Drakoulaki – Postdoctoral researcher, at NKUA & Frictionless Data Fellow, Aleksandra Wilczynska – Data Manager at TU Delft Library & the Digital Competence Center and Sara Petti – Project Manager at Open Knowledge Foundation.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(515),alt:"image"}}),r("br")]),e._v(" "),r("blockquote",[r("p",[r("strong",[e._v("Image:")]),e._v(" Top-left: Eirini Zormpa -Trainer of RDM and Open Science at TU Delft Library & 4TU.ResearchData, Top-right: Lilly Winfree – Product Manager of Frictionless Data at the Open Knowledge Foundation, Bottom: Katerina Drakoulaki – Postdoctoral researcher at NKUA & Frictionless Data fellow."),r("br")])]),e._v(" "),r("p",[e._v("Nineteen learners joined the workshop. The audience had a broad range of backgrounds with both researchers and support staff (e.g. data curator, research data manager, research software engineer, data librarian, etc.) represented. The workshop received quite positive feedback. Most of the learner’s expectations were fulfilled (79%) and they would recommend the workshop to other researchers (93%). It was also nice to know that most of the learners felt that they can apply what they learned immediately and they felt comfortable learning in the workshop.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(516),alt:"image"}}),r("br")]),e._v(" "),r("blockquote",[r("p",[r("strong",[e._v("Images:")]),e._v(" Feedback training event"),r("br")])]),e._v(" "),r("p",[e._v("This feedback from the learners has helped us to start thinking about how to improve future runs of the workshop. For example, we used less time than we had planned, which creates the opportunity to provide instruction on more features of the framework or to add more exercises or practice time. The learners also indicated they would have liked to have a common document (e.g. Google doc or HackMD) to share reference material and to document the code that the instructor was typing in case they got lost.")]),e._v(" "),r("p",[e._v("Even though there is room for improvement, the learners appreciated the highly practical approach of the workshop, the space they had to practice what they learned and the overall quality of the Frictionless Data framework tools. Here are some of the strengths that learners mentioned:")]),e._v(" "),r("p",[r("em",[e._v("‘Hands-on, can start using what I learned immediately’")])]),e._v(" "),r("p",[r("em",[e._v("‘Practical experience with the framework and working on shared examples.’")])]),e._v(" "),r("p",[r("em",[e._v("‘Machine readable data and packaging for interoperability through frictionless’")])]),e._v(" "),r("p",[r("em",[e._v("‘Very clear content. Assured assistance in case of technical problems. Adherence to timelines with breaks. Provided many in-depth links. Friendly atmosphere.’")])]),e._v(" "),r("p",[e._v("We at the 4TU.ResearchData team greatly enjoyed this collaboration that allowed us to help build the skills that researchers and other users of the repository need to make research data findable, accessible, interoperable and reproducible (FAIR).")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{515:function(e,t,a){e.exports=a.p+"assets/img/TUDelft-training.7a056b52.png"},516:function(e,t,a){e.exports=a.p+"assets/img/TU-Delft-feedback.1c752ebd.png"},692:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[r("em",[e._v("Originally published on: "),r("a",{attrs:{href:"https://community.data.4tu.nl/2022/05/19/workshop-on-fair-and-frictionless-workflows-for-tabular-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://community.data.4tu.nl/2022/05/19/workshop-on-fair-and-frictionless-workflows-for-tabular-data/"),r("OutboundLink")],1)])]),e._v(" "),r("p",[e._v("4TU.ResearchData and Frictionless Data joined forces to organize the workshop "),r("a",{attrs:{href:"https://community.data.4tu.nl/2022/03/22/workshop-fair-and-frictionless-workflows-for-tabular-data-online/",target:"_blank",rel:"noopener noreferrer"}},[e._v("“FAIR and frictionless workflows for tabular data”"),r("OutboundLink")],1),e._v(". The workshop took place on 28 and 29 April 2022 in an online format")]),e._v(" "),r("p",[e._v("On 28 and 29 April we ran the workshop “FAIR and frictionless workflows for tabular data” in collaboration with members of the "),r("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data project team"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("This workshop was envisioned as a pilot to create training on reproducible and FAIR tools that researchers can use when working with tabular data, from creation to publication. The programme was a mixture of presentations, exercises and hands-on live coding sessions. We got a lot of inspiration from "),r("a",{attrs:{href:"https://carpentries.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Carpentries"),r("OutboundLink")],1),e._v(" style of workshops and tried to create a safe, inclusive and interactive learning experience for the participants.")]),e._v(" "),r("p",[e._v("The workshop started with an introduction to Reproducible and FAIR research given by "),r("a",{attrs:{href:"https://www.tudelft.nl/library/research-data-management/r/support/data-stewardship/contact/eirini-zormpa",target:"_blank",rel:"noopener noreferrer"}},[e._v("Eirini Zormpa"),r("OutboundLink")],1),e._v(" (Trainer at 4TU.ResearchData), who also introduced learners to best practices for data organization of tabular data based on the "),r("a",{attrs:{href:"https://datacarpentry.org/spreadsheet-ecology-lesson/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Carpentry for Ecologists lesson"),r("OutboundLink")],1),e._v(". You can have a look at "),r("a",{attrs:{href:"https://4turesearchdata-carpentries.github.io/frictionless-data-workshop/data-organisation.html#1",target:"_blank",rel:"noopener noreferrer"}},[e._v("Eirini’s slides here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("The introduction was followed by a hands-on session exploring the "),r("a",{attrs:{href:"https://framework.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data framework"),r("OutboundLink")],1),e._v(". The Frictionless Data project has developed a full data management framework for Python to describe, extract, validate, and transform tabular data following the FAIR principles. "),r("a",{attrs:{href:"https://www.linkedin.com/in/lilly-winfree-phd/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Lilly Winfree"),r("OutboundLink")],1),e._v(" used Jupyter Notebook to introduce learners to the different tools, as it helps visualizing the steps of the workflow. You can access the presentation and the notebook (and all the materials of the workshop) used by Lilly in "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-",target:"_blank",rel:"noopener noreferrer"}},[e._v("this GitHub repository"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("During the hands-on coding session, the learners practiced what they were learning on an example dataset from ecology (source of the dataset: "),r("a",{attrs:{href:"https://datacarpentry.org/ecology-workshop/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Carpentry for Ecologists"),r("OutboundLink")],1),e._v("). Later in the workshop, Katerina Drakoulaki, Frictionless Data fellow and helper, also gave an example of how to apply the framework tools to a "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-/blob/main/03_Frictionless%20Data-MBn%20presentation_28-4-2022.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("dataset coming from the computational musicology field"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("We concluded the workshop with a presentation about "),r("a",{attrs:{href:"https://github.com/4TUResearchData-Carpentries/FAIR-and-Frictionless-workflows-for-tabular-data-/blob/main/04_FAIRandFRictionless%20workflows_Data_Publication.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Publication"),r("OutboundLink")],1),e._v(" by "),r("a",{attrs:{href:"https://www.tudelft.nl/staff/p.m.martinezlavanchy/?cHash=38d458b8cd0f7bc5562cd130725220c6",target:"_blank",rel:"noopener noreferrer"}},[e._v("Paula Martinez Lavanchy"),r("OutboundLink")],1),e._v(", Research Data Officer at 4TU.ResearchData. The presentation focused on why researchers should publish their data, how to select the data to publish and how to choose a good data repository that helps implement the FAIR principles to the researchers’ data. Paula also briefly demoed the features of 4TU.ResearchData using the "),r("a",{attrs:{href:"https://sandbox.data.4tu.nl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("repository sandbox"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("Besides the instructors, we also had a great team of helpers that were there in case the learners encountered any technical problems or had questions during the live coding session. We would like to give a big thank you to: Nicolas Dintzner – TU Delft Data Steward of the Faculty of Technology, Policy & Management, Katerina Drakoulaki – Postdoctoral researcher, at NKUA & Frictionless Data Fellow, Aleksandra Wilczynska – Data Manager at TU Delft Library & the Digital Competence Center and Sara Petti – Project Manager at Open Knowledge Foundation.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(515),alt:"image"}}),r("br")]),e._v(" "),r("blockquote",[r("p",[r("strong",[e._v("Image:")]),e._v(" Top-left: Eirini Zormpa -Trainer of RDM and Open Science at TU Delft Library & 4TU.ResearchData, Top-right: Lilly Winfree – Product Manager of Frictionless Data at the Open Knowledge Foundation, Bottom: Katerina Drakoulaki – Postdoctoral researcher at NKUA & Frictionless Data fellow."),r("br")])]),e._v(" "),r("p",[e._v("Nineteen learners joined the workshop. The audience had a broad range of backgrounds with both researchers and support staff (e.g. data curator, research data manager, research software engineer, data librarian, etc.) represented. The workshop received quite positive feedback. Most of the learner’s expectations were fulfilled (79%) and they would recommend the workshop to other researchers (93%). It was also nice to know that most of the learners felt that they can apply what they learned immediately and they felt comfortable learning in the workshop.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(516),alt:"image"}}),r("br")]),e._v(" "),r("blockquote",[r("p",[r("strong",[e._v("Images:")]),e._v(" Feedback training event"),r("br")])]),e._v(" "),r("p",[e._v("This feedback from the learners has helped us to start thinking about how to improve future runs of the workshop. For example, we used less time than we had planned, which creates the opportunity to provide instruction on more features of the framework or to add more exercises or practice time. The learners also indicated they would have liked to have a common document (e.g. Google doc or HackMD) to share reference material and to document the code that the instructor was typing in case they got lost.")]),e._v(" "),r("p",[e._v("Even though there is room for improvement, the learners appreciated the highly practical approach of the workshop, the space they had to practice what they learned and the overall quality of the Frictionless Data framework tools. Here are some of the strengths that learners mentioned:")]),e._v(" "),r("p",[r("em",[e._v("‘Hands-on, can start using what I learned immediately’")])]),e._v(" "),r("p",[r("em",[e._v("‘Practical experience with the framework and working on shared examples.’")])]),e._v(" "),r("p",[r("em",[e._v("‘Machine readable data and packaging for interoperability through frictionless’")])]),e._v(" "),r("p",[r("em",[e._v("‘Very clear content. Assured assistance in case of technical problems. Adherence to timelines with breaks. Provided many in-depth links. Friendly atmosphere.’")])]),e._v(" "),r("p",[e._v("We at the 4TU.ResearchData team greatly enjoyed this collaboration that allowed us to help build the skills that researchers and other users of the repository need to make research data findable, accessible, interoperable and reproducible (FAIR).")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/41.00d298c5.js b/assets/js/41.d85d054b.js similarity index 96% rename from assets/js/41.00d298c5.js rename to assets/js/41.d85d054b.js index 89a802f3e..60e20b1b3 100644 --- a/assets/js/41.00d298c5.js +++ b/assets/js/41.d85d054b.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{353:function(t,s,a){},531:function(t,s,a){"use strict";a(353)},716:function(t,s,a){"use strict";a.r(s);a(531);var l=a(29),i=Object(l.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"page-frontmatter-title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#page-frontmatter-title"}},[t._v("#")]),t._v(" "+t._s(t.$page.frontmatter.title))]),t._v(" "),a("p",[t._v("Our mission is to bring simplicity and gracefulness to the messy world of data. We build products for developers and data engineers. And those who aspire to become one.")]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"light-logo"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#light-logo"}},[t._v("#")]),t._v(" Light Logo")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-color-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-6 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/5 pt-12 pl-64",attrs:{src:"/img/frictionless-color-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"dark-logo"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dark-logo"}},[t._v("#")]),t._v(" Dark Logo")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-black-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-6 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/5 pt-12 pl-64",attrs:{src:"/img/frictionless-black-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"light-logotype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#light-logotype"}},[t._v("#")]),t._v(" Light Logotype")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-color-full-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-1 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/2 pt-16 pl-40",attrs:{src:"/img/frictionless-color-full-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"dark-logotype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dark-logotype"}},[t._v("#")]),t._v(" Dark Logotype")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-black-full-logo-blackfont.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-1 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/2 pt-16 pl-40",attrs:{src:"/img/frictionless-black-full-logo-blackfont.svg"}})])])])])}),[],!1,null,"c0ada04e",null);s.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{353:function(t,s,a){},527:function(t,s,a){"use strict";a(353)},716:function(t,s,a){"use strict";a.r(s);a(527);var l=a(29),i=Object(l.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"page-frontmatter-title"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#page-frontmatter-title"}},[t._v("#")]),t._v(" "+t._s(t.$page.frontmatter.title))]),t._v(" "),a("p",[t._v("Our mission is to bring simplicity and gracefulness to the messy world of data. We build products for developers and data engineers. And those who aspire to become one.")]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"light-logo"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#light-logo"}},[t._v("#")]),t._v(" Light Logo")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-color-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-6 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/5 pt-12 pl-64",attrs:{src:"/img/frictionless-color-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"dark-logo"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dark-logo"}},[t._v("#")]),t._v(" Dark Logo")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-black-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-6 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/5 pt-12 pl-64",attrs:{src:"/img/frictionless-black-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"light-logotype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#light-logotype"}},[t._v("#")]),t._v(" Light Logotype")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-color-full-logo.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-1 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/2 pt-16 pl-40",attrs:{src:"/img/frictionless-color-full-logo.svg"}})])])]),t._v(" "),a("div",{staticClass:"container flex flex-row"},[a("h2",{attrs:{id:"dark-logotype"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#dark-logotype"}},[t._v("#")]),t._v(" Dark Logotype")]),t._v(" "),a("div",{staticClass:"containerx w-full self-end text-right"},[a("a",{staticClass:"inline-block",attrs:{href:"/img/frictionless-black-full-logo-blackfont.svg",download:""}},[t._v("\n .svg\n ")])])]),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"w-full pt-4 pb-5 mx-auto"},[a("div",{staticClass:"w-full shadow subpixel-antialiased rounded h-64 bg-white border-gray-100 mx-auto"},[a("div",{staticClass:"pl-1 pt-1 h-auto font-mono text-xs bg-white"},[a("img",{staticClass:"w-1/2 pt-16 pl-40",attrs:{src:"/img/frictionless-black-full-logo-blackfont.svg"}})])])])])}),[],!1,null,"c0ada04e",null);s.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/42.cce7cdf3.js b/assets/js/42.d68d1746.js similarity index 95% rename from assets/js/42.cce7cdf3.js rename to assets/js/42.d68d1746.js index 200fde3b0..760eced0e 100644 --- a/assets/js/42.cce7cdf3.js +++ b/assets/js/42.d68d1746.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{354:function(t,a,s){},532:function(t,a,s){"use strict";s(354)},719:function(t,a,s){"use strict";s.r(a);s(532);var e=s(29),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"frictionless-roadmap"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-roadmap"}},[t._v("#")]),t._v(" Frictionless Roadmap")]),t._v(" "),s("ul",{staticClass:"timeline"},[s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Frictionless Framework (v4)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2020")]),t._v(" "),s("p",[t._v("A new Frictionless Framework is a full rework of the previous generation software stack composed by tabulator/tableschema/datapackage/etc libraries")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://repository.frictionlessdata.io/"}},[t._v("Frictionless Repository (v1)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Jun 2021")]),t._v(" "),s("p",[t._v("Data management service that brings continuous data validation to tabular data in your repository via Github Action")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Livemark (beta)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2021")]),t._v(" "),s("p",[t._v("Data presentation framework for Python that generates static sites from extended Markdown with interactive charts, tables, scripts, and other features")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://repository.frictionlessdata.io/"}},[t._v("Frictionless Repository (v2)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Sep 2022")]),t._v(" "),s("p",[t._v("Frictionless Repository is going to be updated to Frictionless Framework v5")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Frictionless Framework (v5)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2022")]),t._v(" "),s("p",[t._v("A year since the first framework release we're going to publish a new version with some low-level breaking changes.")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:""}},[t._v("Frictionless Application (beta)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Mar 2023")]),t._v(" "),s("p",[t._v("We're looking forward to finish our application work and release it to a broad audience.")])]),t._v(" "),s("li",{staticClass:"current"},[s("a",{attrs:{target:"_blank",href:""}},[t._v("Frictionless Application (v1)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Jun 2023")]),t._v(" "),s("p",[t._v("We're going to publish a stable release version of Frictionless Application")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{354:function(t,a,s){},528:function(t,a,s){"use strict";s(354)},720:function(t,a,s){"use strict";s.r(a);s(528);var e=s(29),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"frictionless-roadmap"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-roadmap"}},[t._v("#")]),t._v(" Frictionless Roadmap")]),t._v(" "),s("ul",{staticClass:"timeline"},[s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Frictionless Framework (v4)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2020")]),t._v(" "),s("p",[t._v("A new Frictionless Framework is a full rework of the previous generation software stack composed by tabulator/tableschema/datapackage/etc libraries")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://repository.frictionlessdata.io/"}},[t._v("Frictionless Repository (v1)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Jun 2021")]),t._v(" "),s("p",[t._v("Data management service that brings continuous data validation to tabular data in your repository via Github Action")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Livemark (beta)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2021")]),t._v(" "),s("p",[t._v("Data presentation framework for Python that generates static sites from extended Markdown with interactive charts, tables, scripts, and other features")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://repository.frictionlessdata.io/"}},[t._v("Frictionless Repository (v2)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Sep 2022")]),t._v(" "),s("p",[t._v("Frictionless Repository is going to be updated to Frictionless Framework v5")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:"https://framework.frictionlessdata.io/"}},[t._v("Frictionless Framework (v5)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Dec 2022")]),t._v(" "),s("p",[t._v("A year since the first framework release we're going to publish a new version with some low-level breaking changes.")])]),t._v(" "),s("li",{staticClass:"done"},[s("a",{attrs:{target:"_blank",href:""}},[t._v("Frictionless Application (beta)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Mar 2023")]),t._v(" "),s("p",[t._v("We're looking forward to finish our application work and release it to a broad audience.")])]),t._v(" "),s("li",{staticClass:"current"},[s("a",{attrs:{target:"_blank",href:""}},[t._v("Frictionless Application (v1)")]),t._v(" "),s("a",{staticClass:"float-right",attrs:{href:"#"}},[t._v("Jun 2023")]),t._v(" "),s("p",[t._v("We're going to publish a stable release version of Frictionless Application")])])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/43.f5b83848.js b/assets/js/43.195d6d05.js similarity index 99% rename from assets/js/43.f5b83848.js rename to assets/js/43.195d6d05.js index 80f64b338..84fce8179 100644 --- a/assets/js/43.f5b83848.js +++ b/assets/js/43.195d6d05.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{355:function(t,a,e){},533:function(t,a,e){"use strict";e(355)},548:function(t,a,e){"use strict";e.r(a);e(175);var r=[{name:"Rufus Pollock",city:"Paris, France",languages:["en","fr"],github:"rufuspollock",work:{role:"Creator",org:"Frictionless Data, Datopian"},reposOfficial:["datopian/*"]}];r=(r=(r=(r=r.concat([{name:"Evgeny Karev",city:"Loulé, Portugal",languages:["en","ru"],github:"roll",work:{role:"Technical Lead",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Sara Petti",city:"Bologna, Italy",languages:["en","it"],github:"sapetti9",work:{role:"Community Manager",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Edgar Zanella Alvarenga",city:"Italy",languages:["en","pt"],github:"aivuk",work:{role:"Developer",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Shashi Gharti",city:"Nepal",languages:["en","ne"],github:"shashigharti",work:{role:"Developer",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}]);var o=[{name:"Stephen Eglen",city:"UK",github:"sje30",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["https://sje30.github.io/"]}];o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.concat([{name:"Asura Enkhbayar",city:"Canada",github:"Bubblbu",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["Bubblbu/metrics-in-context"]}])).concat([{name:"Carles Pina i Estany",city:"Spain",github:"cpina",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["frictionlessdata/schema-collaboration"]}])).concat([{name:"Simon Tyrrell and Xingdong Bian",city:"UK",github:"billyfish",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["billyfish/eirods-dav#frictionless-data-support","TGAC/ckan-frictionlessdata"]}])).concat([{name:"Nikhil Vats",city:"India",github:"Nikhil-Vats",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["intermine/im-docs/blob/master/docs/webapp/frictionless/index.md"]}])).concat([{name:"André Heughebaert",city:"Belgium",github:"andrejjh",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["frictionlessdata/FrictionlessDarwinCore"]}])).concat([{name:"João Alexandre Peschanski",city:"Brasil",github:"neuromat",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["neuromat/nes"]}])).concat([{name:"Greg Bloom",city:"USA",github:"greggish",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["openreferral/"]}])).concat([{name:"Shelby Switzer",city:"USA",github:"switzersc",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["openreferral/"]}])).concat([{name:"Stephan Max",city:"Germany",github:"stephanmax",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["frictionlessdata/googlesheets-datapackage-tools"]}])).concat([{name:"Oleg Lavrovsky",city:"Switzerland",github:"loleg",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["loleg/DataPackage.jl"]}])).concat([{name:"Matt Thompson",city:"UK",github:"cblop",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-clj","frictionlessdata/tableschema-clj"]}])).concat([{name:"Georges Labrèche",city:"Germany",github:"georgeslabreche",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-java","frictionlessdata/tableschema-java"]}])).concat([{name:"Ori Hoch",city:"Israel",github:"OriHoch",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/tableschema-php","frictionlessdata/datapackage-php"]}])).concat([{name:"Daniel Fireman",city:"Brasil",github:"danielfireman",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-go","frictionlessdata/tableschema-go"]}])).concat([{name:"Open Knowledge Greece",city:"Greece",github:"okgreece",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-r","frictionlessdata/tableschema-r"]}]);var i=[{name:"Lindsay Gypin",city:"USA",github:"lagypin",work:{role:"Reproducible Research Fellow 2021-2022"}}];i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=i.concat([{name:"Kevin Kidambasi",city:"Kenya",github:"KKidambasi",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Melvin Ochieng",city:"Kenya",github:"IamMelvin5",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Victoria Stanley",city:"Germany",github:"vyelnats",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Zarena Syrgak",city:"Kazakhstan",github:"sarenaz",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Guo-Qiang Zhang",city:"Sweden",github:"zhangguoqianggu",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Kate Bowie",city:"USA",github:"katebowie",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Katerina Drakoulaki",city:"Greece",github:"KDrakoulaki",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Daniel Alcalà López",city:"Spain",github:"danalclop",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Jacqueline Maasch",city:"USA",github:"jmaasch",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Evelyn Night",city:"Kenya",github:"E-night",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Anne Lee Steele",city:"Switzerland",github:"aleesteele",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Sam Wilairat",city:"USA",github:"swilairat",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Monica Granados",city:"Canada",github:"Monsauce",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Selene Yang",city:"Paraguay",github:"seleneyang",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Daniel Ouso",city:"Kenya",github:"ousodaniel",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Lily Zhao",city:"USA",github:"lilyzzhao",work:{role:"Reproducible Research Fellow 2019-2020"}}]);var s={data:function(){return{team:r,toolFundPartners:o,fellows:i}}},c=(e(533),e(29)),n=Object(c.a)(s,(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-people"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-people"}},[t._v("#")]),t._v(" Frictionless People")]),t._v(" "),e("p",[e("big",[e("strong",[t._v("People working on the Frictionless Data project.")])])],1),t._v(" "),e("p",[t._v("Frictionless Data is a collective effort made by many amazing people working on various projects. We’re a group of programming engineers, data scientists, community builders, and, in general, people who are interested in working towards a fair, free and open future.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("There are many ways to join the movement. If you are interested in working on Frictionless Data don’t hesitate and contact the Frictionless Team using any available contact provided on this site.")])]),t._v(" "),e("h2",{attrs:{id:"core-team"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#core-team"}},[t._v("#")]),t._v(" Core Team")]),t._v(" "),e("p",[t._v("Frictionless Data has a small core team at the Open Knowledge Foundation and Datopian, and the project is supported by a large community of contributors.")]),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.team,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"tool-fund-partners"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#tool-fund-partners"}},[t._v("#")]),t._v(" Tool Fund Partners")]),t._v(" "),e("p",[t._v("Frictionless data has funded international partners who have worked to develop various tools and libraries for the project, and they are featured below. You can read more about their individual projects on the "),e("RouterLink",{attrs:{to:"/adoption/"}},[t._v("Adoption page")]),t._v(".")],1),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.toolFundPartners,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"fellows-programme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fellows-programme"}},[t._v("#")]),t._v(" Fellows Programme")]),t._v(" "),e("p",[t._v("The Frictionless Data for Reproducible Research Fellows are early career researchers that are being trained to become champions of the Frictionless Data tools and approaches in their fields of research. You can read more about the Fellows on the "),e("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Fellows site"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.fellows,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"code-contributors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-contributors"}},[t._v("#")]),t._v(" Code Contributors")]),t._v(" "),e("p",[t._v("Frictionless Data is possible due to our awesome contributor community. You can click on the pictures below to see code contributions in detail. This is only a subset of all the people working on the project - please take a look on our "),e("a",{attrs:{href:"https://github.com/frictionlessdata",target:"_blank",rel:"noopener noreferrer"}},[t._v("Github Organization"),e("OutboundLink")],1),t._v(" to view more. Are you interested in contributing? Check out our "),e("RouterLink",{attrs:{to:"/work-with-us/contribute/"}},[t._v("Contributing page")]),t._v(" to get started.")],1),t._v(" "),e("p",[e("strong",[e("big",[t._v("project")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/project/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/project"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("website")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/website/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/website"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("specs")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/specs/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/specs"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datahub.io")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/datopian/frontend/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=datopian/frontend"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-rb")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-rb"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-rb")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-rb/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-rb"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-php")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-php"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-php")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-php"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-java")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-java"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-java")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-java"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-go")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-go"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-go")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-go/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-go"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-swift")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-swift"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-swift")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-swift"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-jl")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage.jl/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage.jl"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-jl")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema.jl/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema.jl"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-clj")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-clj"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-clj")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-clj"}})])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{355:function(t,a,e){},529:function(t,a,e){"use strict";e(355)},548:function(t,a,e){"use strict";e.r(a);e(175);var r=[{name:"Rufus Pollock",city:"Paris, France",languages:["en","fr"],github:"rufuspollock",work:{role:"Creator",org:"Frictionless Data, Datopian"},reposOfficial:["datopian/*"]}];r=(r=(r=(r=r.concat([{name:"Evgeny Karev",city:"Loulé, Portugal",languages:["en","ru"],github:"roll",work:{role:"Technical Lead",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Sara Petti",city:"Bologna, Italy",languages:["en","it"],github:"sapetti9",work:{role:"Community Manager",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Edgar Zanella Alvarenga",city:"Italy",languages:["en","pt"],github:"aivuk",work:{role:"Developer",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}])).concat([{name:"Shashi Gharti",city:"Nepal",languages:["en","ne"],github:"shashigharti",work:{role:"Developer",org:"Frictionless Data, Open Knowledge Foundation"},reposOfficial:["okfn/*"]}]);var o=[{name:"Stephen Eglen",city:"UK",github:"sje30",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["https://sje30.github.io/"]}];o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.concat([{name:"Asura Enkhbayar",city:"Canada",github:"Bubblbu",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["Bubblbu/metrics-in-context"]}])).concat([{name:"Carles Pina i Estany",city:"Spain",github:"cpina",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["frictionlessdata/schema-collaboration"]}])).concat([{name:"Simon Tyrrell and Xingdong Bian",city:"UK",github:"billyfish",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["billyfish/eirods-dav#frictionless-data-support","TGAC/ckan-frictionlessdata"]}])).concat([{name:"Nikhil Vats",city:"India",github:"Nikhil-Vats",work:{role:"Tool Fund 2020 Grantee"},reposOfficial:["intermine/im-docs/blob/master/docs/webapp/frictionless/index.md"]}])).concat([{name:"André Heughebaert",city:"Belgium",github:"andrejjh",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["frictionlessdata/FrictionlessDarwinCore"]}])).concat([{name:"João Alexandre Peschanski",city:"Brasil",github:"neuromat",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["neuromat/nes"]}])).concat([{name:"Greg Bloom",city:"USA",github:"greggish",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["openreferral/"]}])).concat([{name:"Shelby Switzer",city:"USA",github:"switzersc",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["openreferral/"]}])).concat([{name:"Stephan Max",city:"Germany",github:"stephanmax",work:{role:"Tool Fund 2019 Grantee"},reposOfficial:["frictionlessdata/googlesheets-datapackage-tools"]}])).concat([{name:"Oleg Lavrovsky",city:"Switzerland",github:"loleg",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["loleg/DataPackage.jl"]}])).concat([{name:"Matt Thompson",city:"UK",github:"cblop",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-clj","frictionlessdata/tableschema-clj"]}])).concat([{name:"Georges Labrèche",city:"Germany",github:"georgeslabreche",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-java","frictionlessdata/tableschema-java"]}])).concat([{name:"Ori Hoch",city:"Israel",github:"OriHoch",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/tableschema-php","frictionlessdata/datapackage-php"]}])).concat([{name:"Daniel Fireman",city:"Brasil",github:"danielfireman",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-go","frictionlessdata/tableschema-go"]}])).concat([{name:"Open Knowledge Greece",city:"Greece",github:"okgreece",work:{role:"Tool Fund 2017 Grantee"},reposOfficial:["frictionlessdata/datapackage-r","frictionlessdata/tableschema-r"]}]);var i=[{name:"Lindsay Gypin",city:"USA",github:"lagypin",work:{role:"Reproducible Research Fellow 2021-2022"}}];i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=(i=i.concat([{name:"Kevin Kidambasi",city:"Kenya",github:"KKidambasi",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Melvin Ochieng",city:"Kenya",github:"IamMelvin5",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Victoria Stanley",city:"Germany",github:"vyelnats",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Zarena Syrgak",city:"Kazakhstan",github:"sarenaz",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Guo-Qiang Zhang",city:"Sweden",github:"zhangguoqianggu",work:{role:"Reproducible Research Fellow 2021-2022"}}])).concat([{name:"Kate Bowie",city:"USA",github:"katebowie",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Katerina Drakoulaki",city:"Greece",github:"KDrakoulaki",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Daniel Alcalà López",city:"Spain",github:"danalclop",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Jacqueline Maasch",city:"USA",github:"jmaasch",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Evelyn Night",city:"Kenya",github:"E-night",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Anne Lee Steele",city:"Switzerland",github:"aleesteele",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Sam Wilairat",city:"USA",github:"swilairat",work:{role:"Reproducible Research Fellow 2020-2021"}}])).concat([{name:"Monica Granados",city:"Canada",github:"Monsauce",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Selene Yang",city:"Paraguay",github:"seleneyang",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Daniel Ouso",city:"Kenya",github:"ousodaniel",work:{role:"Reproducible Research Fellow 2019-2020"}}])).concat([{name:"Lily Zhao",city:"USA",github:"lilyzzhao",work:{role:"Reproducible Research Fellow 2019-2020"}}]);var s={data:function(){return{team:r,toolFundPartners:o,fellows:i}}},c=(e(529),e(29)),n=Object(c.a)(s,(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"frictionless-people"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-people"}},[t._v("#")]),t._v(" Frictionless People")]),t._v(" "),e("p",[e("big",[e("strong",[t._v("People working on the Frictionless Data project.")])])],1),t._v(" "),e("p",[t._v("Frictionless Data is a collective effort made by many amazing people working on various projects. We’re a group of programming engineers, data scientists, community builders, and, in general, people who are interested in working towards a fair, free and open future.")]),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("There are many ways to join the movement. If you are interested in working on Frictionless Data don’t hesitate and contact the Frictionless Team using any available contact provided on this site.")])]),t._v(" "),e("h2",{attrs:{id:"core-team"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#core-team"}},[t._v("#")]),t._v(" Core Team")]),t._v(" "),e("p",[t._v("Frictionless Data has a small core team at the Open Knowledge Foundation and Datopian, and the project is supported by a large community of contributors.")]),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.team,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"tool-fund-partners"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#tool-fund-partners"}},[t._v("#")]),t._v(" Tool Fund Partners")]),t._v(" "),e("p",[t._v("Frictionless data has funded international partners who have worked to develop various tools and libraries for the project, and they are featured below. You can read more about their individual projects on the "),e("RouterLink",{attrs:{to:"/adoption/"}},[t._v("Adoption page")]),t._v(".")],1),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.toolFundPartners,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"fellows-programme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fellows-programme"}},[t._v("#")]),t._v(" Fellows Programme")]),t._v(" "),e("p",[t._v("The Frictionless Data for Reproducible Research Fellows are early career researchers that are being trained to become champions of the Frictionless Data tools and approaches in their fields of research. You can read more about the Fellows on the "),e("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Fellows site"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("div",{staticClass:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3"},t._l(t.fellows,(function(t){return e("TeamProfile",{key:t.name,attrs:{profile:t}})})),1),t._v(" "),e("h2",{attrs:{id:"code-contributors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-contributors"}},[t._v("#")]),t._v(" Code Contributors")]),t._v(" "),e("p",[t._v("Frictionless Data is possible due to our awesome contributor community. You can click on the pictures below to see code contributions in detail. This is only a subset of all the people working on the project - please take a look on our "),e("a",{attrs:{href:"https://github.com/frictionlessdata",target:"_blank",rel:"noopener noreferrer"}},[t._v("Github Organization"),e("OutboundLink")],1),t._v(" to view more. Are you interested in contributing? Check out our "),e("RouterLink",{attrs:{to:"/work-with-us/contribute/"}},[t._v("Contributing page")]),t._v(" to get started.")],1),t._v(" "),e("p",[e("strong",[e("big",[t._v("project")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/project/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/project"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("website")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/website/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/website"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("specs")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/specs/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/specs"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datahub.io")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/datopian/frontend/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=datopian/frontend"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("frictionless-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/frictionless-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/frictionless-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-py")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-py"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-js")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-js/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-js"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-rb")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-rb"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-rb")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-rb/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-rb"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-php")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-php"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-php")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-php"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-java")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-java"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-java")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-java"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-go")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-go"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-go")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-go/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-go"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-r")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-r"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-swift")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-swift/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-swift"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-swift")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-swift/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-swift"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-jl")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage.jl/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage.jl"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-jl")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema.jl/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema.jl"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("datapackage-clj")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/datapackage-clj"}})]),t._v(" "),e("p",[e("strong",[e("big",[t._v("tableschema-clj")])],1)]),t._v(" "),e("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj/graphs/contributors",title:"Open a Github repo"}},[e("img",{attrs:{src:"https://contrib.rocks/image?repo=frictionlessdata/tableschema-clj"}})])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/44.7e6af297.js b/assets/js/44.0c1dd86a.js similarity index 97% rename from assets/js/44.7e6af297.js rename to assets/js/44.0c1dd86a.js index f7395b22a..037faff51 100644 --- a/assets/js/44.7e6af297.js +++ b/assets/js/44.0c1dd86a.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{400:function(t,e,a){t.exports=a.p+"assets/img/dataship.91c1ed64.gif"},562:function(t,e,a){"use strict";a.r(e);var o=a(29),s=Object(o.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"https://dataship.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Dataship"),o("OutboundLink")],1),t._v(" is a way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free. It allows you to create notebooks that hold and deliver your data, as well as text, images and inline scripts for doing analysis and visualization. The people you share it with can read, execute and even edit a copy of your notebook and publish the remixed version as a fork.")]),t._v(" "),o("p",[t._v("One of the main challenges we face with data is that it’s hard to share it with others. Tools like Jupyter (iPython notebook)"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn1",id:"fnref1"}},[t._v("[1]")])]),t._v(" make it much easier and more affordable to do analysis (with the help of open source projects like numpy"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn2",id:"fnref2"}},[t._v("[2]")])]),t._v(" and pandas"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn3",id:"fnref3"}},[t._v("[3]")])]),t._v("). What they don’t do is allow you to "),o("em",[t._v("cheaply and easily share that with the world")]),t._v(". "),o("strong",[t._v("If it were as easy to share data and analysis as it is to share pictures of your breakfast, the world would be a more enlightened place.")]),t._v(" Dataship is helping to build that world.")]),t._v(" "),o("p",[t._v("Every notebook on Dataship is also a Data Package"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn4",id:"fnref4"}},[t._v("[4]")])]),t._v(". Like other Data Packages it can be downloaded, along with its data, just by giving its URL to software like data-cli"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn5",id:"fnref5"}},[t._v("[5]")])]),t._v(". Additionally, working with existing Data Packages is easy. Just as you can fork other notebooks, you can also fork existing Data Packages, even when they’re located somewhere else, like GitHub.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(400),alt:"Dataship GIF"}}),t._v(" "),o("br"),t._v(" "),o("em",[t._v("Dataship in action")])]),t._v(" "),o("p",[t._v("Every cell in a notebook is represented by a resource entry"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn6",id:"fnref6"}},[t._v("[6]")])]),t._v(" in an underlying Data Package. This also allows for interesting possibilities. One of these is executable Data Packages. Since the code is included inline and its dependencies are explicit and bounded, very simple software could be written to execute a Data Package-based notebook from the command line, printing the results to the console and writing images to the current directory.")]),t._v(" "),o("p",[t._v("It would be useful to have a JavaScript version of some of the functionality in goodtables"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn7",id:"fnref7"}},[t._v("[7]")])]),t._v(" available for use, specifically header detection in parsed csv contents (output of PapaParse), as well as an option in dpm to not put things in a ‘datapackages’ folder, as I rarely need this when downloading a dataset.")]),t._v(" "),o("p",[t._v("dpm, mentioned above, is now deprecated. Check out DataHub’s "),o("a",{attrs:{href:"https://github.com/datahq/data-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("data-cli"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("My next task will be building and integrating the machine learning and neural network components into Dataship. After that I’ll be focusing on features that allow organizations to store private encrypted data, in addition to the default public storage. The focus of the platform will always be open data, but hosting closed data sources will allow us to nudge people towards sharing, when it makes sense.")]),t._v(" "),o("p",[t._v("As for additional use cases, the volume of personal data is growing exponentially- from medical data to internet activity and media consumption. These are just a few existing examples. The rise of the Internet of Things will only accelerate this. People are also beginning to see the value in controlling their data themselves. Providing mechanisms for doing this will likely become important over the next ten years.")]),t._v(" "),o("hr",{staticClass:"footnotes-sep"}),t._v(" "),o("section",{staticClass:"footnotes"},[o("ol",{staticClass:"footnotes-list"},[o("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[o("p",[t._v("Jupyter Notebook: "),o("a",{attrs:{href:"http://jupyter.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://jupyter.org/"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[o("p",[t._v("NumPy: Python package for scientific computing: "),o("a",{attrs:{href:"http://www.numpy.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://www.numpy.org"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[o("p",[t._v("Pandas: Python package for data analysis: "),o("a",{attrs:{href:"http://pandas.pydata.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://pandas.pydata.org/"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[o("p",[t._v("Data Packages: "),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[o("p",[t._v("DataHub’s data commandline tool: "),o("a",{attrs:{href:"https://github.com/datahq/data-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/datahq/data-cli"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[o("p",[t._v("Data Package Resource: "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#resource-information",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/data-package/#resource-information"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[o("p",[t._v("goodtables: "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://try.goodtables.io"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[t._v("↩︎")])])])])])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{413:function(t,e,a){t.exports=a.p+"assets/img/dataship.91c1ed64.gif"},564:function(t,e,a){"use strict";a.r(e);var o=a(29),s=Object(o.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[o("a",{attrs:{href:"https://dataship.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Dataship"),o("OutboundLink")],1),t._v(" is a way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free. It allows you to create notebooks that hold and deliver your data, as well as text, images and inline scripts for doing analysis and visualization. The people you share it with can read, execute and even edit a copy of your notebook and publish the remixed version as a fork.")]),t._v(" "),o("p",[t._v("One of the main challenges we face with data is that it’s hard to share it with others. Tools like Jupyter (iPython notebook)"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn1",id:"fnref1"}},[t._v("[1]")])]),t._v(" make it much easier and more affordable to do analysis (with the help of open source projects like numpy"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn2",id:"fnref2"}},[t._v("[2]")])]),t._v(" and pandas"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn3",id:"fnref3"}},[t._v("[3]")])]),t._v("). What they don’t do is allow you to "),o("em",[t._v("cheaply and easily share that with the world")]),t._v(". "),o("strong",[t._v("If it were as easy to share data and analysis as it is to share pictures of your breakfast, the world would be a more enlightened place.")]),t._v(" Dataship is helping to build that world.")]),t._v(" "),o("p",[t._v("Every notebook on Dataship is also a Data Package"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn4",id:"fnref4"}},[t._v("[4]")])]),t._v(". Like other Data Packages it can be downloaded, along with its data, just by giving its URL to software like data-cli"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn5",id:"fnref5"}},[t._v("[5]")])]),t._v(". Additionally, working with existing Data Packages is easy. Just as you can fork other notebooks, you can also fork existing Data Packages, even when they’re located somewhere else, like GitHub.")]),t._v(" "),o("p",[o("img",{attrs:{src:a(413),alt:"Dataship GIF"}}),t._v(" "),o("br"),t._v(" "),o("em",[t._v("Dataship in action")])]),t._v(" "),o("p",[t._v("Every cell in a notebook is represented by a resource entry"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn6",id:"fnref6"}},[t._v("[6]")])]),t._v(" in an underlying Data Package. This also allows for interesting possibilities. One of these is executable Data Packages. Since the code is included inline and its dependencies are explicit and bounded, very simple software could be written to execute a Data Package-based notebook from the command line, printing the results to the console and writing images to the current directory.")]),t._v(" "),o("p",[t._v("It would be useful to have a JavaScript version of some of the functionality in goodtables"),o("sup",{staticClass:"footnote-ref"},[o("a",{attrs:{href:"#fn7",id:"fnref7"}},[t._v("[7]")])]),t._v(" available for use, specifically header detection in parsed csv contents (output of PapaParse), as well as an option in dpm to not put things in a ‘datapackages’ folder, as I rarely need this when downloading a dataset.")]),t._v(" "),o("p",[t._v("dpm, mentioned above, is now deprecated. Check out DataHub’s "),o("a",{attrs:{href:"https://github.com/datahq/data-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("data-cli"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("My next task will be building and integrating the machine learning and neural network components into Dataship. After that I’ll be focusing on features that allow organizations to store private encrypted data, in addition to the default public storage. The focus of the platform will always be open data, but hosting closed data sources will allow us to nudge people towards sharing, when it makes sense.")]),t._v(" "),o("p",[t._v("As for additional use cases, the volume of personal data is growing exponentially- from medical data to internet activity and media consumption. These are just a few existing examples. The rise of the Internet of Things will only accelerate this. People are also beginning to see the value in controlling their data themselves. Providing mechanisms for doing this will likely become important over the next ten years.")]),t._v(" "),o("hr",{staticClass:"footnotes-sep"}),t._v(" "),o("section",{staticClass:"footnotes"},[o("ol",{staticClass:"footnotes-list"},[o("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[o("p",[t._v("Jupyter Notebook: "),o("a",{attrs:{href:"http://jupyter.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://jupyter.org/"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[o("p",[t._v("NumPy: Python package for scientific computing: "),o("a",{attrs:{href:"http://www.numpy.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://www.numpy.org"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[o("p",[t._v("Pandas: Python package for data analysis: "),o("a",{attrs:{href:"http://pandas.pydata.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://pandas.pydata.org/"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[o("p",[t._v("Data Packages: "),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[o("p",[t._v("DataHub’s data commandline tool: "),o("a",{attrs:{href:"https://github.com/datahq/data-cli",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/datahq/data-cli"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[o("p",[t._v("Data Package Resource: "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#resource-information",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://specs.frictionlessdata.io/data-package/#resource-information"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[t._v("↩︎")])])]),t._v(" "),o("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[o("p",[t._v("goodtables: "),o("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://try.goodtables.io"),o("OutboundLink")],1),t._v(" "),o("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[t._v("↩︎")])])])])])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/45.18c8dc64.js b/assets/js/45.bb7acaec.js similarity index 97% rename from assets/js/45.18c8dc64.js rename to assets/js/45.bb7acaec.js index 7e737c05d..644ff7d28 100644 --- a/assets/js/45.18c8dc64.js +++ b/assets/js/45.bb7acaec.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{416:function(e,t,a){e.exports=a.p+"assets/img/cmso-1.25f92f63.png"},568:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("Researchers worldwide try to understand how cells move, a process extremely important for many physiological and pathological conditions. "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Cell_migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell migration"),r("OutboundLink")],1),e._v(" is in fact involved in many processes, like wound healing,neuronal development and cancer invasion. The "),r("a",{attrs:{href:"https://cmso.science/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell Migration Standardization Organization"),r("OutboundLink")],1),e._v(" (CMSO) is a community building standards for cell migration data, in order to enable data sharing in the field. The organization has three main working groups:")]),e._v(" "),r("ul",[r("li",[e._v("Minimal reporting requirement (developing "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/MIACME",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIACME"),r("OutboundLink")],1),e._v(", i.e. the Minimum Information About a Cell Migration Experiment)")]),e._v(" "),r("li",[e._v("Controlled Vocabularies")]),e._v(" "),r("li",[e._v("Data Formats and APIs")])]),e._v(" "),r("p",[e._v("In our last working group, we discussed where the Data Package specifications"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" could be used or expanded for the definition of a standard format and the corresponding libraries to interact with these standards. In particular, we have started to address the standardization of cell tracking data. This is data produced using tracking software that reconstructs cell movement in time based on images from a microscope.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(416),alt:"Diagram"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("In pink, the "),r("a",{attrs:{href:"http://isa-tools.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ISA"),r("OutboundLink")],1),e._v(" (Investigation Study Assay) model to annotate the experimental metadata; in blue, the "),r("a",{attrs:{href:"http://www.openmicroscopy.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OME"),r("OutboundLink")],1),e._v(" (Open Microscopy Environment) model for the imaging data; in green, our biotracks format based on the Data Package specification for the analytics data (cell tracking, positions, features etc.);in purple, CV: Controlled Vocabulary; and in turquoise, "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/MIACME",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIACME"),r("OutboundLink")],1),e._v(": Minimum Information About a Cell Migration Experiment. "),r("a",{attrs:{href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC BY-SA 4.0"),r("OutboundLink")],1),e._v(" Credit: Paola Masuzzo (text) and CMSO (diagram).")])]),e._v(" "),r("p",[e._v("CMSO deals specifically with cell migration data (a subject of cell biology). Our main challenge lies in the heterogeneity of the data. This diversity has its origin in two factors:")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Experimentally")]),e._v(": Cell migration data can be produced using many diverse techniques (imaging, non-imaging, dynamic, static, high-throughput/screening, etc.)")]),e._v(" "),r("li",[r("strong",[e._v("Analytically")]),e._v(": These data are produced using many diverse software packages, each of these writing data to specific (sometimes proprietary) file formats.")])]),e._v(" "),r("p",[e._v("This diversity hampers (or at least makes very difficult) procedures like meta-analysis, data integration, data mining, and last but not least, data "),r("em",[e._v("reproducibility")]),e._v(".")]),e._v(" "),r("p",[e._v("CMSO has developed and is about to release the first specification of a "),r("a",{attrs:{href:"https://cellmigstandorg.github.io/Tracks/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell Tracking format"),r("OutboundLink")],1),e._v(". This specification is built on a tabular representation, i.e. data are stored in tables. Current v0.1 of this specification can be seen at "),r("a",{attrs:{href:"https://cellmigstandorg.github.io/Tracks/v0.1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("CMSO is using the "),r("em",[e._v("Tabular")]),e._v(" Data Package"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" specification to represent cell migration-derived tracking data, as illustrated"),r("br"),e._v(" "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". The specification is used for two goals:")]),e._v(" "),r("ol",[r("li",[r("strong",[e._v("Create a Data Package representation")]),e._v(" where the data—in our case objects (e.g. cells detected in microscopy images), links and optionally tracks—are stored in CSV files, while metadata and schema"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" information are stored in a JSON file.")]),e._v(" "),r("li",[r("strong",[e._v("Write")]),e._v(" this Data Package to a pandas"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(" dataframe, to aid quick inspection and visualization.")])]),e._v(" "),r("p",[e._v("You can see some examples "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/tree/master/examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("I am an Open Science fan and advocate, so I try to keep up to date with the initiatives of the"),r("br"),e._v(" "),r("a",{attrs:{href:"https://okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International"),r("OutboundLink")],1),e._v(" teams. I think I first became aware of Frictionless Data when I saw a tweet and I checked the specs out. Also, CMSO really wanted to keep a possible specification and file format light and simple. So different people of the team must have googled for ‘CSV and JSON formats’ or something like that, and Frictionless Data popped out 😃.")]),e._v(" "),r("p",[e._v("I have opened a couple of issues on the "),r("a",{attrs:{href:"https://github.com/frictionlessdata/specs",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub page of the spec"),r("OutboundLink")],1),e._v(", detailing what I would like to see developed in the Frictionless Data project. The CMSO is not sure yet if the Data Package representation will be the one we’ll go for in the very end, because we would first like to know how sustainable/sustained this spec will be in the future.")]),e._v(" "),r("p",[e._v("CMSO is looking into expanding the "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/tree/master/examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("list of examples"),r("OutboundLink")],1),e._v(" we have so far in terms of tracking software. Personally, I would like to choose a reference data set (a live-cell, time-lapse microscopy data set), and run different cell tracking algorithms/software packages on it. Then I want to put the results into a common, light and easy-to-interpret CSV+JSON format (the biotracks format), and show people how data containerization"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(" can be the way to go to enable research data exchange and knowledge discovery at large.")]),e._v(" "),r("p",[e._v("With most other specifications, cell tracking data are stored in tabular format, but metadata are never kept together with the data, which makes data interpretation and sharing very difficult. The Frictionless Data specifications take good care of this aspect. Some other formats are based on XML"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" annotation, which certainly does the job, but are perhaps heavier (even though perhaps more sustainable in the long term). I hate Excel formats, and unfortunately I need to parse those too. I love the integration with Python"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn7",id:"fnref7"}},[e._v("[7]")])]),e._v(" and the pandas"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4:1"}},[e._v("[4:1]")])]),e._v(" system, this is a big plus when doing data science.")]),e._v(" "),r("p",[e._v("As a researcher, I mostly deal with research data. I am pretty sure if this could work for cell migration data, it could work for many cell biology disciplines as well. I recommend speaking to more researchers and data producers to determine additional use cases!")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Tabular Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/tabular-data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Table Schema: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Pandas: Python package for data analysis: "),r("a",{attrs:{href:"http://pandas.pydata.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://pandas.pydata.org/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")]),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4:1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Design Philosophy: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("specs"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("Extensible Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/XML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/XML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[r("p",[e._v("Data Package-aware libraries in Python: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/datapackage-py"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/tableschema-py"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables-py"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{418:function(e,t,a){e.exports=a.p+"assets/img/cmso-1.25f92f63.png"},570:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("Researchers worldwide try to understand how cells move, a process extremely important for many physiological and pathological conditions. "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Cell_migration",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell migration"),r("OutboundLink")],1),e._v(" is in fact involved in many processes, like wound healing,neuronal development and cancer invasion. The "),r("a",{attrs:{href:"https://cmso.science/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell Migration Standardization Organization"),r("OutboundLink")],1),e._v(" (CMSO) is a community building standards for cell migration data, in order to enable data sharing in the field. The organization has three main working groups:")]),e._v(" "),r("ul",[r("li",[e._v("Minimal reporting requirement (developing "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/MIACME",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIACME"),r("OutboundLink")],1),e._v(", i.e. the Minimum Information About a Cell Migration Experiment)")]),e._v(" "),r("li",[e._v("Controlled Vocabularies")]),e._v(" "),r("li",[e._v("Data Formats and APIs")])]),e._v(" "),r("p",[e._v("In our last working group, we discussed where the Data Package specifications"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" could be used or expanded for the definition of a standard format and the corresponding libraries to interact with these standards. In particular, we have started to address the standardization of cell tracking data. This is data produced using tracking software that reconstructs cell movement in time based on images from a microscope.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(418),alt:"Diagram"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("In pink, the "),r("a",{attrs:{href:"http://isa-tools.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ISA"),r("OutboundLink")],1),e._v(" (Investigation Study Assay) model to annotate the experimental metadata; in blue, the "),r("a",{attrs:{href:"http://www.openmicroscopy.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OME"),r("OutboundLink")],1),e._v(" (Open Microscopy Environment) model for the imaging data; in green, our biotracks format based on the Data Package specification for the analytics data (cell tracking, positions, features etc.);in purple, CV: Controlled Vocabulary; and in turquoise, "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/MIACME",target:"_blank",rel:"noopener noreferrer"}},[e._v("MIACME"),r("OutboundLink")],1),e._v(": Minimum Information About a Cell Migration Experiment. "),r("a",{attrs:{href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC BY-SA 4.0"),r("OutboundLink")],1),e._v(" Credit: Paola Masuzzo (text) and CMSO (diagram).")])]),e._v(" "),r("p",[e._v("CMSO deals specifically with cell migration data (a subject of cell biology). Our main challenge lies in the heterogeneity of the data. This diversity has its origin in two factors:")]),e._v(" "),r("ul",[r("li",[r("strong",[e._v("Experimentally")]),e._v(": Cell migration data can be produced using many diverse techniques (imaging, non-imaging, dynamic, static, high-throughput/screening, etc.)")]),e._v(" "),r("li",[r("strong",[e._v("Analytically")]),e._v(": These data are produced using many diverse software packages, each of these writing data to specific (sometimes proprietary) file formats.")])]),e._v(" "),r("p",[e._v("This diversity hampers (or at least makes very difficult) procedures like meta-analysis, data integration, data mining, and last but not least, data "),r("em",[e._v("reproducibility")]),e._v(".")]),e._v(" "),r("p",[e._v("CMSO has developed and is about to release the first specification of a "),r("a",{attrs:{href:"https://cellmigstandorg.github.io/Tracks/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Cell Tracking format"),r("OutboundLink")],1),e._v(". This specification is built on a tabular representation, i.e. data are stored in tables. Current v0.1 of this specification can be seen at "),r("a",{attrs:{href:"https://cellmigstandorg.github.io/Tracks/v0.1/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("CMSO is using the "),r("em",[e._v("Tabular")]),e._v(" Data Package"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" specification to represent cell migration-derived tracking data, as illustrated"),r("br"),e._v(" "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(". The specification is used for two goals:")]),e._v(" "),r("ol",[r("li",[r("strong",[e._v("Create a Data Package representation")]),e._v(" where the data—in our case objects (e.g. cells detected in microscopy images), links and optionally tracks—are stored in CSV files, while metadata and schema"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" information are stored in a JSON file.")]),e._v(" "),r("li",[r("strong",[e._v("Write")]),e._v(" this Data Package to a pandas"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(" dataframe, to aid quick inspection and visualization.")])]),e._v(" "),r("p",[e._v("You can see some examples "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/tree/master/examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("I am an Open Science fan and advocate, so I try to keep up to date with the initiatives of the"),r("br"),e._v(" "),r("a",{attrs:{href:"https://okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International"),r("OutboundLink")],1),e._v(" teams. I think I first became aware of Frictionless Data when I saw a tweet and I checked the specs out. Also, CMSO really wanted to keep a possible specification and file format light and simple. So different people of the team must have googled for ‘CSV and JSON formats’ or something like that, and Frictionless Data popped out 😃.")]),e._v(" "),r("p",[e._v("I have opened a couple of issues on the "),r("a",{attrs:{href:"https://github.com/frictionlessdata/specs",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub page of the spec"),r("OutboundLink")],1),e._v(", detailing what I would like to see developed in the Frictionless Data project. The CMSO is not sure yet if the Data Package representation will be the one we’ll go for in the very end, because we would first like to know how sustainable/sustained this spec will be in the future.")]),e._v(" "),r("p",[e._v("CMSO is looking into expanding the "),r("a",{attrs:{href:"https://github.com/CellMigStandOrg/biotracks/tree/master/examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("list of examples"),r("OutboundLink")],1),e._v(" we have so far in terms of tracking software. Personally, I would like to choose a reference data set (a live-cell, time-lapse microscopy data set), and run different cell tracking algorithms/software packages on it. Then I want to put the results into a common, light and easy-to-interpret CSV+JSON format (the biotracks format), and show people how data containerization"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(" can be the way to go to enable research data exchange and knowledge discovery at large.")]),e._v(" "),r("p",[e._v("With most other specifications, cell tracking data are stored in tabular format, but metadata are never kept together with the data, which makes data interpretation and sharing very difficult. The Frictionless Data specifications take good care of this aspect. Some other formats are based on XML"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn6",id:"fnref6"}},[e._v("[6]")])]),e._v(" annotation, which certainly does the job, but are perhaps heavier (even though perhaps more sustainable in the long term). I hate Excel formats, and unfortunately I need to parse those too. I love the integration with Python"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn7",id:"fnref7"}},[e._v("[7]")])]),e._v(" and the pandas"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4:1"}},[e._v("[4:1]")])]),e._v(" system, this is a big plus when doing data science.")]),e._v(" "),r("p",[e._v("As a researcher, I mostly deal with research data. I am pretty sure if this could work for cell migration data, it could work for many cell biology disciplines as well. I recommend speaking to more researchers and data producers to determine additional use cases!")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Tabular Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/tabular-data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Table Schema: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/table-schema"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Pandas: Python package for data analysis: "),r("a",{attrs:{href:"http://pandas.pydata.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://pandas.pydata.org/"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")]),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4:1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Design Philosophy: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("specs"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn6"}},[r("p",[e._v("Extensible Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/XML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/XML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref6"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn7"}},[r("p",[e._v("Data Package-aware libraries in Python: "),r("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/datapackage-py"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/tableschema-py"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables-py"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref7"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/46.b7a06152.js b/assets/js/46.61d51c30.js similarity index 98% rename from assets/js/46.b7a06152.js rename to assets/js/46.61d51c30.js index c9ec40e6a..95de50f76 100644 --- a/assets/js/46.b7a06152.js +++ b/assets/js/46.61d51c30.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{417:function(e,t,a){e.exports=a.p+"assets/img/data-retriever-install.1fdce2e3.gif"},569:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[r("a",{attrs:{href:"http://www.data-retriever.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Data Retriever"),r("OutboundLink")],1),e._v(" automates the tasks of finding, downloading, and cleaning up publicly available data, and then stores them in a variety of databases and file formats. This lets data analysts spend less time cleaning up and managing data, and more time analyzing it.")]),e._v(" "),r("p",[e._v("We originally built the Data Retriever starting in 2010 with a focus on ecological data. Over time, we realized that the common challenges with finding downloading, and cleaning up ecological data applied to data in most other fields, so we rebranded and starting integrating data from other fields as well.")]),e._v(" "),r("p",[e._v("The Data Retriever is primarily focused on "),r("em",[e._v("tabular")]),e._v(" data, but we’re starting work on supporting spatial data as well.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(417),alt:"Diagram"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Data Retriever automatically installing the "),r("a",{attrs:{href:"https://www.pwrc.usgs.gov/bbs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BBS (USGS North American Breeding Bird Survey)"),r("OutboundLink")],1),e._v(" dataset")])]),e._v(" "),r("p",[e._v("Data is often messy and needs cleaning and restructuring before it can be effectively used. It is often not feasible to modify and redistribute the data due to licensing and other limitations (Editor’s note: see our "),r("RouterLink",{attrs:{to:"/blog/2016/11/15/open-power-system-data/"}},[e._v("Open Power System Data case study")]),e._v(" for more on this).")],1),e._v(" "),r("p",[e._v("We need to make it as easy as possible for contributors to "),r("a",{attrs:{href:"https://retriever.readthedocs.io/en/latest/retriever.lib.html#retriever-lib-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("add new datasets"),r("OutboundLink")],1),e._v(". For relatively clean datasets this means having a simple, easy-to-work-with metadata standard to describe existing data. The description for each dataset is written in a single file which gets read by our plugin infrastructure.")]),e._v(" "),r("p",[e._v("To describe the structure of simple data, we originally created a YAML-like"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" metadata structure. When the Data Package"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" specs were created by "),r("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International"),r("OutboundLink")],1),e._v(", we decided to switch over to using this standard so that others could benefit from the metadata we were creating and so that we could benefit from th standards-based infrastructure[^software] being created around the specs.")]),e._v(" "),r("p",[e._v("The transition to the Data Package specification was fairly smooth as most of the fields we needed were already included in the specs. The only thing that we needed to add were fields for restructuring poorly formatted data since the spec assumes the data is well structured to begin with. For example, we use custom fields for describing how to convert "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Wide_and_narrow_data",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("wide")]),e._v(" data to "),r("strong",[e._v("long")]),e._v(" data"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("We first learned about Frictionless Data through the "),r("a",{attrs:{href:"https://blog.okfn.org/2016/02/29/sloan-foundation-funds-frictionless-data-tooling-and-engagement-at-open-knowledge/",target:"_blank",rel:"noopener noreferrer"}},[e._v("announcement"),r("OutboundLink")],1),e._v(" of their funding by the Sloan Foundation. Going forward, we would love to see the Data Package spec expanded to include information about “imperfections” in data. It currently assumes that the person creating the metadata can modify the raw data files to comply with the standard rules of data structure. However this doesn’t work if someone else is distributing the data, which is a very common use"),r("br"),e._v("\ncase.")]),e._v(" "),r("p",[e._v("The expansion of the standard would include things like a way to indicate wide versus long data with enough information to uniquely describe how to translate from one to the other as well as information on single tables that are composed from data in many separate files. We have already been adding new fields to the JSON to accomplish some of these things and would be happy to be part of a larger dialog about implementing them more widely. For the wide-data-to-long-data example mentioned above, we use "),r("code",[e._v("ct_column")]),e._v(" and "),r("code",[e._v("ct_names")]),e._v(" fields and a "),r("code",[e._v("ct-type")]),e._v(" type to indicate how to transform the data into a properly normalized form.")]),e._v(" "),r("p",[e._v("The other thing we’ve come across is the need to develop a clear specification for "),r("a",{attrs:{href:"http://semver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("semantic versioning"),r("OutboundLink")],1),e._v(" of Data Packages. The specification includes an optional "),r("code",[e._v("version")]),e._v(" field"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" for keeping track to changes to the package. This version has a standard structure from semantic versioning in software that includes major, minor, and patch level changes. Unlike in software there is no clearly established standard for what changes in different version numbers indicate. Since we work with a lot of different datasets, we’ve been changing a lot of version numbers over the last year; this has lead us to "),r("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/421",target:"_blank",rel:"noopener noreferrer"}},[e._v("open a discussion with the OKFN team"),r("OutboundLink")],1),e._v(" about developing a standard to apply to these changes.")]),e._v(" "),r("p",[e._v("Our next big step is working on the challenge of "),r("strong",[e._v("simple data integration")]),e._v(". One of the major challenges data analysts have after they have cleaned up and prepared individual data sources is combining them. General solutions to the data integration problem (e.g. linked data approaches) have proven to difficult but we are approaching the problem by tackling a small number of common use cases and involving humans in the metadata development describing the linkages between datasets.")]),e._v(" "),r("p",[e._v("The major specification that is available for ecological data is the "),r("a",{attrs:{href:"https://knb.ecoinformatics.org/#external//emlparser/docs/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ecological Metadata Language (EML)"),r("OutboundLink")],1),e._v(". It is an XML"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(" based spec that includes a lot of information specific to ecological datasets. The nice thing about EML—which is also its challenge—is that it is very comprehensive. This gives it a lot of strength in a linked data context, but also means that it is difficult to drive adoption by users.")]),e._v(" "),r("p",[e._v("The Frictionless Data specifications line up better with our approach to data"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(", which is to complement lightweight computational methods with human contributions to make data easier to work with quickly.")]),e._v(" "),r("p",[e._v("Community contributions to our work are welcome. We work hard to make all of our development efforts open and inclusive (see our "),r("a",{attrs:{href:"https://github.com/weecology/retriever/blob/master/docs/code_of_conduct.rst",target:"_blank",rel:"noopener noreferrer"}},[e._v("Code of Conduct"),r("OutboundLink")],1),e._v(") and love it when new developers, data scientists, and domain specialists "),r("a",{attrs:{href:"http://www.data-retriever.org/#contribute",target:"_blank",rel:"noopener noreferrer"}},[e._v("contribute"),r("OutboundLink")],1),e._v(". A contribution can be as easy as adding a new dataset by following "),r("a",{attrs:{href:"https://retriever.readthedocs.io/en/latest/retriever.lib.html#retriever-lib-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("a set of prompts"),r("OutboundLink")],1),e._v(" to create a new JSON file and submitting a "),r("a",{attrs:{href:"https://help.github.com/articles/about-pull-requests/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PR"),r("OutboundLink")],1),e._v(" on GitHub, or even just opening an issue to tell us about a dataset that would be useful to you. So, "),r("a",{attrs:{href:"http://github.com/weecology/retriever/issues/new",target:"_blank",rel:"noopener noreferrer"}},[e._v("open an issue"),r("OutboundLink")],1),e._v(", submit a PR, or stop by our "),r("a",{attrs:{href:"https://gitter.im/weecology/retriever",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gitter chat channel"),r("OutboundLink")],1),e._v(" and say “Hi”. We also participate in "),r("a",{attrs:{href:"https://developers.google.com/open-source/gsoc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Google Summer of Code"),r("OutboundLink")],1),e._v(", which is a great opportunity for students interested in being directly supported to work on the project.")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("YAML Ain’t Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/YAML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/YAML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Data Package version field: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/patterns/#data-package-version",target:"_blank",rel:"noopener noreferrer"}},[e._v("/specs/#version"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Extensible Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/XML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/XML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Design Philosophy: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/#design-philosophy",target:"_blank",rel:"noopener noreferrer"}},[e._v("/specs/#design-philosophy"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{416:function(e,t,a){e.exports=a.p+"assets/img/data-retriever-install.1fdce2e3.gif"},568:function(e,t,a){"use strict";a.r(t);var r=a(29),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[r("a",{attrs:{href:"http://www.data-retriever.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Data Retriever"),r("OutboundLink")],1),e._v(" automates the tasks of finding, downloading, and cleaning up publicly available data, and then stores them in a variety of databases and file formats. This lets data analysts spend less time cleaning up and managing data, and more time analyzing it.")]),e._v(" "),r("p",[e._v("We originally built the Data Retriever starting in 2010 with a focus on ecological data. Over time, we realized that the common challenges with finding downloading, and cleaning up ecological data applied to data in most other fields, so we rebranded and starting integrating data from other fields as well.")]),e._v(" "),r("p",[e._v("The Data Retriever is primarily focused on "),r("em",[e._v("tabular")]),e._v(" data, but we’re starting work on supporting spatial data as well.")]),e._v(" "),r("p",[r("img",{attrs:{src:a(416),alt:"Diagram"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("The Data Retriever automatically installing the "),r("a",{attrs:{href:"https://www.pwrc.usgs.gov/bbs/",target:"_blank",rel:"noopener noreferrer"}},[e._v("BBS (USGS North American Breeding Bird Survey)"),r("OutboundLink")],1),e._v(" dataset")])]),e._v(" "),r("p",[e._v("Data is often messy and needs cleaning and restructuring before it can be effectively used. It is often not feasible to modify and redistribute the data due to licensing and other limitations (Editor’s note: see our "),r("RouterLink",{attrs:{to:"/blog/2016/11/15/open-power-system-data/"}},[e._v("Open Power System Data case study")]),e._v(" for more on this).")],1),e._v(" "),r("p",[e._v("We need to make it as easy as possible for contributors to "),r("a",{attrs:{href:"https://retriever.readthedocs.io/en/latest/retriever.lib.html#retriever-lib-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("add new datasets"),r("OutboundLink")],1),e._v(". For relatively clean datasets this means having a simple, easy-to-work-with metadata standard to describe existing data. The description for each dataset is written in a single file which gets read by our plugin infrastructure.")]),e._v(" "),r("p",[e._v("To describe the structure of simple data, we originally created a YAML-like"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn1",id:"fnref1"}},[e._v("[1]")])]),e._v(" metadata structure. When the Data Package"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn2",id:"fnref2"}},[e._v("[2]")])]),e._v(" specs were created by "),r("a",{attrs:{href:"https://okfn.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International"),r("OutboundLink")],1),e._v(", we decided to switch over to using this standard so that others could benefit from the metadata we were creating and so that we could benefit from th standards-based infrastructure[^software] being created around the specs.")]),e._v(" "),r("p",[e._v("The transition to the Data Package specification was fairly smooth as most of the fields we needed were already included in the specs. The only thing that we needed to add were fields for restructuring poorly formatted data since the spec assumes the data is well structured to begin with. For example, we use custom fields for describing how to convert "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/Wide_and_narrow_data",target:"_blank",rel:"noopener noreferrer"}},[r("strong",[e._v("wide")]),e._v(" data to "),r("strong",[e._v("long")]),e._v(" data"),r("OutboundLink")],1),e._v(".")]),e._v(" "),r("p",[e._v("We first learned about Frictionless Data through the "),r("a",{attrs:{href:"https://blog.okfn.org/2016/02/29/sloan-foundation-funds-frictionless-data-tooling-and-engagement-at-open-knowledge/",target:"_blank",rel:"noopener noreferrer"}},[e._v("announcement"),r("OutboundLink")],1),e._v(" of their funding by the Sloan Foundation. Going forward, we would love to see the Data Package spec expanded to include information about “imperfections” in data. It currently assumes that the person creating the metadata can modify the raw data files to comply with the standard rules of data structure. However this doesn’t work if someone else is distributing the data, which is a very common use"),r("br"),e._v("\ncase.")]),e._v(" "),r("p",[e._v("The expansion of the standard would include things like a way to indicate wide versus long data with enough information to uniquely describe how to translate from one to the other as well as information on single tables that are composed from data in many separate files. We have already been adding new fields to the JSON to accomplish some of these things and would be happy to be part of a larger dialog about implementing them more widely. For the wide-data-to-long-data example mentioned above, we use "),r("code",[e._v("ct_column")]),e._v(" and "),r("code",[e._v("ct_names")]),e._v(" fields and a "),r("code",[e._v("ct-type")]),e._v(" type to indicate how to transform the data into a properly normalized form.")]),e._v(" "),r("p",[e._v("The other thing we’ve come across is the need to develop a clear specification for "),r("a",{attrs:{href:"http://semver.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("semantic versioning"),r("OutboundLink")],1),e._v(" of Data Packages. The specification includes an optional "),r("code",[e._v("version")]),e._v(" field"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn3",id:"fnref3"}},[e._v("[3]")])]),e._v(" for keeping track to changes to the package. This version has a standard structure from semantic versioning in software that includes major, minor, and patch level changes. Unlike in software there is no clearly established standard for what changes in different version numbers indicate. Since we work with a lot of different datasets, we’ve been changing a lot of version numbers over the last year; this has lead us to "),r("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/421",target:"_blank",rel:"noopener noreferrer"}},[e._v("open a discussion with the OKFN team"),r("OutboundLink")],1),e._v(" about developing a standard to apply to these changes.")]),e._v(" "),r("p",[e._v("Our next big step is working on the challenge of "),r("strong",[e._v("simple data integration")]),e._v(". One of the major challenges data analysts have after they have cleaned up and prepared individual data sources is combining them. General solutions to the data integration problem (e.g. linked data approaches) have proven to difficult but we are approaching the problem by tackling a small number of common use cases and involving humans in the metadata development describing the linkages between datasets.")]),e._v(" "),r("p",[e._v("The major specification that is available for ecological data is the "),r("a",{attrs:{href:"https://knb.ecoinformatics.org/#external//emlparser/docs/index.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Ecological Metadata Language (EML)"),r("OutboundLink")],1),e._v(". It is an XML"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn4",id:"fnref4"}},[e._v("[4]")])]),e._v(" based spec that includes a lot of information specific to ecological datasets. The nice thing about EML—which is also its challenge—is that it is very comprehensive. This gives it a lot of strength in a linked data context, but also means that it is difficult to drive adoption by users.")]),e._v(" "),r("p",[e._v("The Frictionless Data specifications line up better with our approach to data"),r("sup",{staticClass:"footnote-ref"},[r("a",{attrs:{href:"#fn5",id:"fnref5"}},[e._v("[5]")])]),e._v(", which is to complement lightweight computational methods with human contributions to make data easier to work with quickly.")]),e._v(" "),r("p",[e._v("Community contributions to our work are welcome. We work hard to make all of our development efforts open and inclusive (see our "),r("a",{attrs:{href:"https://github.com/weecology/retriever/blob/master/docs/code_of_conduct.rst",target:"_blank",rel:"noopener noreferrer"}},[e._v("Code of Conduct"),r("OutboundLink")],1),e._v(") and love it when new developers, data scientists, and domain specialists "),r("a",{attrs:{href:"http://www.data-retriever.org/#contribute",target:"_blank",rel:"noopener noreferrer"}},[e._v("contribute"),r("OutboundLink")],1),e._v(". A contribution can be as easy as adding a new dataset by following "),r("a",{attrs:{href:"https://retriever.readthedocs.io/en/latest/retriever.lib.html#retriever-lib-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("a set of prompts"),r("OutboundLink")],1),e._v(" to create a new JSON file and submitting a "),r("a",{attrs:{href:"https://help.github.com/articles/about-pull-requests/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PR"),r("OutboundLink")],1),e._v(" on GitHub, or even just opening an issue to tell us about a dataset that would be useful to you. So, "),r("a",{attrs:{href:"http://github.com/weecology/retriever/issues/new",target:"_blank",rel:"noopener noreferrer"}},[e._v("open an issue"),r("OutboundLink")],1),e._v(", submit a PR, or stop by our "),r("a",{attrs:{href:"https://gitter.im/weecology/retriever",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gitter chat channel"),r("OutboundLink")],1),e._v(" and say “Hi”. We also participate in "),r("a",{attrs:{href:"https://developers.google.com/open-source/gsoc/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Google Summer of Code"),r("OutboundLink")],1),e._v(", which is a great opportunity for students interested in being directly supported to work on the project.")]),e._v(" "),r("hr",{staticClass:"footnotes-sep"}),e._v(" "),r("section",{staticClass:"footnotes"},[r("ol",{staticClass:"footnotes-list"},[r("li",{staticClass:"footnote-item",attrs:{id:"fn1"}},[r("p",[e._v("YAML Ain’t Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/YAML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/YAML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref1"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn2"}},[r("p",[e._v("Data Package: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://specs.frictionlessdata.io/data-package"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref2"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn3"}},[r("p",[e._v("Data Package version field: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/patterns/#data-package-version",target:"_blank",rel:"noopener noreferrer"}},[e._v("/specs/#version"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref3"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn4"}},[r("p",[e._v("Extensible Markup Language: "),r("a",{attrs:{href:"https://en.wikipedia.org/wiki/XML",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://en.wikipedia.org/wiki/XML"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref4"}},[e._v("↩︎")])])]),e._v(" "),r("li",{staticClass:"footnote-item",attrs:{id:"fn5"}},[r("p",[e._v("Design Philosophy: "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/#design-philosophy",target:"_blank",rel:"noopener noreferrer"}},[e._v("/specs/#design-philosophy"),r("OutboundLink")],1),e._v(" "),r("a",{staticClass:"footnote-backref",attrs:{href:"#fnref5"}},[e._v("↩︎")])])])])])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/47.7ce0d603.js b/assets/js/47.5792fa84.js similarity index 98% rename from assets/js/47.7ce0d603.js rename to assets/js/47.5792fa84.js index 5d341426e..be21703db 100644 --- a/assets/js/47.7ce0d603.js +++ b/assets/js/47.5792fa84.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{418:function(e,t,a){e.exports=a.p+"assets/img/adbio.ea0206c3.png"},570:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"context"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),o("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),o("p",[e._v("Sam Payne and his team at the Pacific Northwest National Laboratory (PNNL) have designed an application called "),o("a",{attrs:{href:"https://adbio.pnnl.gov/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Active Data Biology"),o("OutboundLink")],1),e._v(" (ADBio) which is an interactive web-based suite of tools for analyzing high-throughput omics (a set of related fields of study in biology). The goal is to visualize and analyze datasets while still enabling seamless collaboration between computational and non-computational domain experts. The tool provides several views on the same data facilitating different avenues of investigation.")]),e._v(" "),o("p",[e._v("One of the high level goals of ADBio was to make collaborative data analysis work in a similar manner to collaborative software development (versioned, asynchronous, flexible, sharable, global). You can read more of the motivation in the Open Knowledge International blog post "),o("a",{attrs:{href:"https://blog.okfn.org/2016/11/29/git-for-data-analysis-why-version-control-is-essential-collaboration-public-trust/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Git for Data Analysis – why version control is essential for collaboration and for gaining public trust"),o("OutboundLink")],1),e._v(" written by Sam Payne as part of the pilot. To facilitate this goal, Sam and his team used version-controlled repositories as the storage mechanism for all required resources. Data, software (for conducting analyses), and insights (gained from these analyses) for the project all get checked into the same repository. ADBio pulls data and software directly from the repository and serves up an interactive visualization for data exploration. Any insight you choose to record gets checked back into the repository.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(418),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("When we were first approached by Sam and his team, they outlined several use cases for which it might be valuable to have formal Data Package support (with the benefit of the associated tooling) within their framework. In the end, we decided to work on the first: "),o("em",[e._v("validating metadata associated with ADBio repositories")]),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"use-case-validating-metadata"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#use-case-validating-metadata"}},[e._v("#")]),e._v(" Use Case: Validating Metadata")]),e._v(" "),o("p",[e._v("To initiate a project in Active Data Biology, users start with a dataset of quantitative molecular measurements across multiple samples combined with metadata for each sample. Each repository on ADBio contains these two types of files. For clinical experiments, the metadata may include information about a participant’s age, gender, disease stage, etc. For an environmental experiment, this may be geographical location, temperature, time of day, etc. One "),o("a",{attrs:{href:"https://github.com/ActiveDataBio/ADB-User-Study/blob/master/metadata.tsv",target:"_blank",rel:"noopener noreferrer"}},[e._v("example"),o("OutboundLink")],1),e._v(" of a metadata file can be found at on the ADB-User-Study project repository under the "),o("a",{attrs:{href:"https://github.com/ActiveDataBio/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ActiveDataBio organization on GitHub"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The metadata file can be updated or expanded during the course of analysis. This is currently not easily done within ADBio. Moreover, the researchers lacked any formal schema describing the metadata file and its contents. It was suggested that having a Data Package formalizing the metadata file would be a benefit. This would also enable validation of the contents, according to the schema stored as part of the Data Package. Finally, the researchers also requested the development of a web UI to edit the metadata file that would be an application within the ADBio suite. Users could then update the schema online, and it would be versioned through GitHub like everything else. Scenario")]),e._v(" "),o("p",[e._v("A user gets updated survival information for patients in a clinical study and wants to update the metadata associated with this experiment. Within ADBio, the user opens the “Metadata” app and enters new information into the user interface. When finished, user clicks a ‘save’ button and the data is validated against the schema. If it fails, the specific cells are highlighted and annotated with failure codes. If it passes, the new metadata file is checked into the repository with a user-specified comment for the commit message.")]),e._v(" "),o("h2",{attrs:{id:"the-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),o("h3",{attrs:{id:"what-did-we-do"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),o("p",[e._v("This was a valuable pilot for several reasons. For one, the researchers interests in openness and the value of public, versioned infrastructure like GitHub for tabular, flat file datasets aligned well with the overall interests of the project. OKI’s first step was to start a new repository to track progress "),o("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-pnnl",target:"_blank",rel:"noopener noreferrer"}},[e._v("in the open"),o("OutboundLink")],1),e._v(". In addition, OKI also created their own "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ADB-User-Study",target:"_blank",rel:"noopener noreferrer"}},[e._v("“fork” (i.e. versioned copy) of the repository"),o("OutboundLink")],1),e._v(" in which PNNL stored their exemplar metadata file.")]),e._v(" "),o("h3",{attrs:{id:"data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[e._v("#")]),e._v(" Data")]),e._v(" "),o("p",[e._v("The "),o("code",[e._v("metadata.tsv")]),e._v(" file is specially formatted compared to other TSV (tab-separated values) files in that it contains two extra rows below the header for describing a column’s "),o("em",[e._v("methods")]),e._v(" and "),o("em",[e._v("descriptions")]),e._v(". While this is a neat way of storing metadata for each column, it is not particularly standard as ordinarily, we would expect all rows below the header contain actual data. Nevertheless, it provided a great start to the development of a custom schema. We used the information stored in these rows to generate a "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),o("OutboundLink")],1),e._v(" for the data compatible with our software ("),o("a",{attrs:{href:"https://github.com/frictionlessdata/ADB-User-Study/blob/master/metadata-schema.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("the schema"),o("OutboundLink")],1),e._v(").")]),e._v(" "),o("p",[e._v("For instance, if a column in the original metadata.tsv file had the text "),o("code",[e._v("categorical")]),e._v(" in its "),o("code",[e._v("#methods")]),e._v(" row, we knew that this translated very well to our "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("enum (short for enumerated list) constraint"),o("OutboundLink")],1),e._v(". However, this was not enough. We had to infer from the values below in the dataset which values were actually valid categorical values for that column. So, for example, the "),o("code",[e._v("PlatinumStatus")]),e._v(" column could only be one of "),o("code",[e._v("Resistant")]),e._v(", "),o("code",[e._v("Sensitive")]),e._v(", or "),o("code",[e._v("Tooearly")]),e._v(" leading to the following constraint definition in Table Schema:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"constraints": {\n "enum": [\n "Resistant",\n "Sensitive",\n "Tooearly"\n ]\n}\n')])])]),o("p",[e._v("More straightforward was the translation of the "),o("code",[e._v("#descriptions")]),e._v(" row; each description was translated directly into a "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#description",target:"_blank",rel:"noopener noreferrer"}},[e._v("description attribute"),o("OutboundLink")],1),e._v(" on the column:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"description": "It describes whether the patient was resistant to platinum (chemotherapy) treatment",\n')])])]),o("p",[e._v("What the "),o("code",[e._v("metadata.tsv")]),e._v(" file did not record at all was any information about the “type” of value expected for each column. For instance, the "),o("code",[e._v("days_to_death")]),e._v(" column would never contain a value that was of a “geopoint” type, but rather always a number (and a whole number at that). Likewise, the "),o("code",[e._v("additional_immuno_therapy")]),e._v(" column would always be a True/False (i.e. boolean) value. With PNNL’s domain expertise, OKI added these expectations to the schema so that "),o("code",[e._v("days_to_death")]),e._v(" could be relied upon to always be an integer and "),o("code",[e._v("additional_immuno_therapy")]),e._v(" a boolean (True/False) value.")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('{\n "name": "additional_immuno_therapy",\n "type": "boolean"\n}\n')])])]),o("p",[e._v("Up to this point, the dataset provided by PNNL was adequately described by our specifications. One challenge was how to deal, though, with the many missing values in the dataset. While we had discussion on the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/97",target:"_blank",rel:"noopener noreferrer"}},[e._v("topic"),o("OutboundLink")],1),e._v(", we had not yet established a formal way of specifying. In part due to observed usage and the needs of the pilot, we formalized an approach to recording information about which values signal missing data in "),o("a",{attrs:{href:"https://twitter.com/OKFNLabs/status/765568650699018241",target:"_blank",rel:"noopener noreferrer"}},[e._v("mid-August 2016"),o("OutboundLink")],1),e._v(". We added this information to the Table Schema:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"missingValues": [\n "[Not Applicable]",\n "[Not Available]",\n "[Pending]"\n]\n')])])]),o("h3",{attrs:{id:"software"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),o("p",[e._v("Goodtables had "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("existed"),o("OutboundLink")],1),e._v(" as a Python library and web application developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema as described above. This software was put to good use in a local government context.")]),e._v(" "),o("p",[e._v("For this pilot, and in coordination with other work in the project, we took the opportunity to drastically improve the software to support the online, automated validation referenced in the above use case. We took as inspiration the workflow in use in software development environments around the world—continuous automated testing—and applied to data. This involved not only updating the Python library to reflect the specification development to date, but the design of a new data publishing workflow that is applicable beyond PNNL’s needs. It is designed to be extensible, so that custom checks and custom backends (e.g. other places where one might publish a dataset) can take advantage of this workflow. For example, in addition to datasets stored on GitHub, the new goodtables supports the automated validation of datasets stored on S3 and we are currently working on validation of datasets stored on CKAN.")]),e._v(" "),o("p",[e._v("Goodtables supports validation of tabular data in GitHub repositories to solve the use case for Active Data Biology. On every update to the dataset, a validation task is run on the stored data.")]),e._v(" "),o("h2",{attrs:{id:"review"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),o("h3",{attrs:{id:"how-effective-was-it"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[e._v("#")]),e._v(" How Effective Was It")]),e._v(" "),o("p",[e._v("The omics team at PNNL are still investigating the use of "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" for their use case, but early reports are positive:")]),e._v(" "),o("blockquote",[o("p",[e._v("We created a schema and started testing it. So far so good! I think this is going to work for a lot of projects which want to store data in a repo.")])]),e._v(" "),o("p",[e._v("As a real test of the generality of goodtables, we also tried to apply it to another project. This second project is a public repository describing measurements of metabolites in ion mobility mass spectrometry. Here, we are again using flat files for structured data. The data is actually a library of information describing metabolites, and we know that the library will be growing. So it was very similar to the ADBio project, in that the curated data would be continually updated. (see "),o("a",{attrs:{href:"https://github.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS"),o("OutboundLink")],1),e._v(" for the project itself, and "),o("a",{attrs:{href:"https://github.com/PNNL-Comp-Mass-Spec/metaboliteValidation",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/PNNL-Comp-Mass-Spec/metaboliteValidation"),o("OutboundLink")],1),e._v(" for a validation script that leverages goodtables).")]),e._v(" "),o("p",[e._v("Of course, technical issues that they have encountered have been translated in GitHub issues and are being addressed:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/issues/233",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/issues/233"),o("OutboundLink")],1)]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/pull/235",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/pull/235"),o("OutboundLink")],1)]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/issues/232",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/issues/232"),o("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{417:function(e,t,a){e.exports=a.p+"assets/img/adbio.ea0206c3.png"},569:function(e,t,a){"use strict";a.r(t);var o=a(29),i=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"context"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[e._v("#")]),e._v(" Context")]),e._v(" "),o("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[e._v("#")]),e._v(" Problem We Were Trying To Solve")]),e._v(" "),o("p",[e._v("Sam Payne and his team at the Pacific Northwest National Laboratory (PNNL) have designed an application called "),o("a",{attrs:{href:"https://adbio.pnnl.gov/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Active Data Biology"),o("OutboundLink")],1),e._v(" (ADBio) which is an interactive web-based suite of tools for analyzing high-throughput omics (a set of related fields of study in biology). The goal is to visualize and analyze datasets while still enabling seamless collaboration between computational and non-computational domain experts. The tool provides several views on the same data facilitating different avenues of investigation.")]),e._v(" "),o("p",[e._v("One of the high level goals of ADBio was to make collaborative data analysis work in a similar manner to collaborative software development (versioned, asynchronous, flexible, sharable, global). You can read more of the motivation in the Open Knowledge International blog post "),o("a",{attrs:{href:"https://blog.okfn.org/2016/11/29/git-for-data-analysis-why-version-control-is-essential-collaboration-public-trust/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Git for Data Analysis – why version control is essential for collaboration and for gaining public trust"),o("OutboundLink")],1),e._v(" written by Sam Payne as part of the pilot. To facilitate this goal, Sam and his team used version-controlled repositories as the storage mechanism for all required resources. Data, software (for conducting analyses), and insights (gained from these analyses) for the project all get checked into the same repository. ADBio pulls data and software directly from the repository and serves up an interactive visualization for data exploration. Any insight you choose to record gets checked back into the repository.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(417),alt:"ADBio"}})]),e._v(" "),o("p",[e._v("When we were first approached by Sam and his team, they outlined several use cases for which it might be valuable to have formal Data Package support (with the benefit of the associated tooling) within their framework. In the end, we decided to work on the first: "),o("em",[e._v("validating metadata associated with ADBio repositories")]),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"use-case-validating-metadata"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#use-case-validating-metadata"}},[e._v("#")]),e._v(" Use Case: Validating Metadata")]),e._v(" "),o("p",[e._v("To initiate a project in Active Data Biology, users start with a dataset of quantitative molecular measurements across multiple samples combined with metadata for each sample. Each repository on ADBio contains these two types of files. For clinical experiments, the metadata may include information about a participant’s age, gender, disease stage, etc. For an environmental experiment, this may be geographical location, temperature, time of day, etc. One "),o("a",{attrs:{href:"https://github.com/ActiveDataBio/ADB-User-Study/blob/master/metadata.tsv",target:"_blank",rel:"noopener noreferrer"}},[e._v("example"),o("OutboundLink")],1),e._v(" of a metadata file can be found at on the ADB-User-Study project repository under the "),o("a",{attrs:{href:"https://github.com/ActiveDataBio/",target:"_blank",rel:"noopener noreferrer"}},[e._v("ActiveDataBio organization on GitHub"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("The metadata file can be updated or expanded during the course of analysis. This is currently not easily done within ADBio. Moreover, the researchers lacked any formal schema describing the metadata file and its contents. It was suggested that having a Data Package formalizing the metadata file would be a benefit. This would also enable validation of the contents, according to the schema stored as part of the Data Package. Finally, the researchers also requested the development of a web UI to edit the metadata file that would be an application within the ADBio suite. Users could then update the schema online, and it would be versioned through GitHub like everything else. Scenario")]),e._v(" "),o("p",[e._v("A user gets updated survival information for patients in a clinical study and wants to update the metadata associated with this experiment. Within ADBio, the user opens the “Metadata” app and enters new information into the user interface. When finished, user clicks a ‘save’ button and the data is validated against the schema. If it fails, the specific cells are highlighted and annotated with failure codes. If it passes, the new metadata file is checked into the repository with a user-specified comment for the commit message.")]),e._v(" "),o("h2",{attrs:{id:"the-work"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[e._v("#")]),e._v(" The Work")]),e._v(" "),o("h3",{attrs:{id:"what-did-we-do"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[e._v("#")]),e._v(" What Did We Do")]),e._v(" "),o("p",[e._v("This was a valuable pilot for several reasons. For one, the researchers interests in openness and the value of public, versioned infrastructure like GitHub for tabular, flat file datasets aligned well with the overall interests of the project. OKI’s first step was to start a new repository to track progress "),o("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-pnnl",target:"_blank",rel:"noopener noreferrer"}},[e._v("in the open"),o("OutboundLink")],1),e._v(". In addition, OKI also created their own "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ADB-User-Study",target:"_blank",rel:"noopener noreferrer"}},[e._v("“fork” (i.e. versioned copy) of the repository"),o("OutboundLink")],1),e._v(" in which PNNL stored their exemplar metadata file.")]),e._v(" "),o("h3",{attrs:{id:"data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[e._v("#")]),e._v(" Data")]),e._v(" "),o("p",[e._v("The "),o("code",[e._v("metadata.tsv")]),e._v(" file is specially formatted compared to other TSV (tab-separated values) files in that it contains two extra rows below the header for describing a column’s "),o("em",[e._v("methods")]),e._v(" and "),o("em",[e._v("descriptions")]),e._v(". While this is a neat way of storing metadata for each column, it is not particularly standard as ordinarily, we would expect all rows below the header contain actual data. Nevertheless, it provided a great start to the development of a custom schema. We used the information stored in these rows to generate a "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),o("OutboundLink")],1),e._v(" for the data compatible with our software ("),o("a",{attrs:{href:"https://github.com/frictionlessdata/ADB-User-Study/blob/master/metadata-schema.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("the schema"),o("OutboundLink")],1),e._v(").")]),e._v(" "),o("p",[e._v("For instance, if a column in the original metadata.tsv file had the text "),o("code",[e._v("categorical")]),e._v(" in its "),o("code",[e._v("#methods")]),e._v(" row, we knew that this translated very well to our "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("enum (short for enumerated list) constraint"),o("OutboundLink")],1),e._v(". However, this was not enough. We had to infer from the values below in the dataset which values were actually valid categorical values for that column. So, for example, the "),o("code",[e._v("PlatinumStatus")]),e._v(" column could only be one of "),o("code",[e._v("Resistant")]),e._v(", "),o("code",[e._v("Sensitive")]),e._v(", or "),o("code",[e._v("Tooearly")]),e._v(" leading to the following constraint definition in Table Schema:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"constraints": {\n "enum": [\n "Resistant",\n "Sensitive",\n "Tooearly"\n ]\n}\n')])])]),o("p",[e._v("More straightforward was the translation of the "),o("code",[e._v("#descriptions")]),e._v(" row; each description was translated directly into a "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#description",target:"_blank",rel:"noopener noreferrer"}},[e._v("description attribute"),o("OutboundLink")],1),e._v(" on the column:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"description": "It describes whether the patient was resistant to platinum (chemotherapy) treatment",\n')])])]),o("p",[e._v("What the "),o("code",[e._v("metadata.tsv")]),e._v(" file did not record at all was any information about the “type” of value expected for each column. For instance, the "),o("code",[e._v("days_to_death")]),e._v(" column would never contain a value that was of a “geopoint” type, but rather always a number (and a whole number at that). Likewise, the "),o("code",[e._v("additional_immuno_therapy")]),e._v(" column would always be a True/False (i.e. boolean) value. With PNNL’s domain expertise, OKI added these expectations to the schema so that "),o("code",[e._v("days_to_death")]),e._v(" could be relied upon to always be an integer and "),o("code",[e._v("additional_immuno_therapy")]),e._v(" a boolean (True/False) value.")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('{\n "name": "additional_immuno_therapy",\n "type": "boolean"\n}\n')])])]),o("p",[e._v("Up to this point, the dataset provided by PNNL was adequately described by our specifications. One challenge was how to deal, though, with the many missing values in the dataset. While we had discussion on the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/97",target:"_blank",rel:"noopener noreferrer"}},[e._v("topic"),o("OutboundLink")],1),e._v(", we had not yet established a formal way of specifying. In part due to observed usage and the needs of the pilot, we formalized an approach to recording information about which values signal missing data in "),o("a",{attrs:{href:"https://twitter.com/OKFNLabs/status/765568650699018241",target:"_blank",rel:"noopener noreferrer"}},[e._v("mid-August 2016"),o("OutboundLink")],1),e._v(". We added this information to the Table Schema:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v('"missingValues": [\n "[Not Applicable]",\n "[Not Available]",\n "[Pending]"\n]\n')])])]),o("h3",{attrs:{id:"software"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#software"}},[e._v("#")]),e._v(" Software")]),e._v(" "),o("p",[e._v("Goodtables had "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2015/02/20/introducing-goodtables.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("existed"),o("OutboundLink")],1),e._v(" as a Python library and web application developed by Open Knowledge International to support the validation of tabular datasets both in terms of structure and also with respect to a published schema as described above. This software was put to good use in a local government context.")]),e._v(" "),o("p",[e._v("For this pilot, and in coordination with other work in the project, we took the opportunity to drastically improve the software to support the online, automated validation referenced in the above use case. We took as inspiration the workflow in use in software development environments around the world—continuous automated testing—and applied to data. This involved not only updating the Python library to reflect the specification development to date, but the design of a new data publishing workflow that is applicable beyond PNNL’s needs. It is designed to be extensible, so that custom checks and custom backends (e.g. other places where one might publish a dataset) can take advantage of this workflow. For example, in addition to datasets stored on GitHub, the new goodtables supports the automated validation of datasets stored on S3 and we are currently working on validation of datasets stored on CKAN.")]),e._v(" "),o("p",[e._v("Goodtables supports validation of tabular data in GitHub repositories to solve the use case for Active Data Biology. On every update to the dataset, a validation task is run on the stored data.")]),e._v(" "),o("h2",{attrs:{id:"review"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[e._v("#")]),e._v(" Review")]),e._v(" "),o("h3",{attrs:{id:"how-effective-was-it"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[e._v("#")]),e._v(" How Effective Was It")]),e._v(" "),o("p",[e._v("The omics team at PNNL are still investigating the use of "),o("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" for their use case, but early reports are positive:")]),e._v(" "),o("blockquote",[o("p",[e._v("We created a schema and started testing it. So far so good! I think this is going to work for a lot of projects which want to store data in a repo.")])]),e._v(" "),o("p",[e._v("As a real test of the generality of goodtables, we also tried to apply it to another project. This second project is a public repository describing measurements of metabolites in ion mobility mass spectrometry. Here, we are again using flat files for structured data. The data is actually a library of information describing metabolites, and we know that the library will be growing. So it was very similar to the ADBio project, in that the curated data would be continually updated. (see "),o("a",{attrs:{href:"https://github.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/PNNL-Comp-Mass-Spec/MetabolomicsCCS"),o("OutboundLink")],1),e._v(" for the project itself, and "),o("a",{attrs:{href:"https://github.com/PNNL-Comp-Mass-Spec/metaboliteValidation",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/PNNL-Comp-Mass-Spec/metaboliteValidation"),o("OutboundLink")],1),e._v(" for a validation script that leverages goodtables).")]),e._v(" "),o("p",[e._v("Of course, technical issues that they have encountered have been translated in GitHub issues and are being addressed:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/issues/233",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/issues/233"),o("OutboundLink")],1)]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/pull/235",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/pull/235"),o("OutboundLink")],1)]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables.io/issues/232",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables.io/issues/232"),o("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/48.8ca4767a.js b/assets/js/48.75e1e944.js similarity index 99% rename from assets/js/48.8ca4767a.js rename to assets/js/48.75e1e944.js index 1e49585e6..614c5fd65 100644 --- a/assets/js/48.8ca4767a.js +++ b/assets/js/48.75e1e944.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{425:function(t,a,s){t.exports=s.p+"assets/img/camimage1.409b3ea6.png"},575:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"context"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[t._v("#")]),t._v(" Context")]),t._v(" "),e("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[t._v("#")]),t._v(" Problem We Were Trying To Solve")]),t._v(" "),e("p",[t._v("Stephen Eglen was looking to investigate the applicability of the Data Package concept to facilitate data reuse in the field of Computational Neuroscience. The following figure describes the kind of data he is collecting. He was eventually seeking to get around 100–160 fields like this. Each circle is a cell drawn approximately to scale. The units of measurement are microns (micrometers).")]),t._v(" "),e("p",[e("img",{attrs:{src:s(425),alt:"ADBio"}})]),t._v(" "),e("p",[t._v("The basic data are quite simple: two columns of numbers that describes the center of each circle where each circle represents a "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/Retinal_ganglion_cell",target:"_blank",rel:"noopener noreferrer"}},[t._v("retinal ganglion cell"),e("OutboundLink")],1),t._v(". The metadata that adds context to this data are as follows: the radius of each circle is 10um representing the average radius of this cell type; the dashed line represents the sample window which is the region of space within which the cells were sampled; the species from which the cells were sampled is a cat.")]),t._v(" "),e("p",[t._v("The key question posed by the collection of such data in large quantities is “where to store all these metadata”. More formally, Stephen wanted a way to include the following metadata with sampled data:")]),t._v(" "),e("ol",[e("li",[t._v("Cell type: on center retinal ganglion cells")]),t._v(" "),e("li",[t._v("Species: cat")]),t._v(" "),e("li",[t._v("Radius of "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/Soma_(biology)"}},[t._v("soma")]),t._v(": 10 um")]),t._v(" "),e("li",[t._v("Citation to original paper where data were presented: Wässle H, Boycott BB, Illing RB (1981) Morphology and mosaic of on- and off-beta cells in the cat retina and some functional considerations. Proc R Soc Lond B Biol Sci 212:177–195.")]),t._v(" "),e("li",[t._v("Unit of measurement: micron.")]),t._v(" "),e("li",[t._v("(Optionally) A raw image from where the data where taken. e.g. "),e("a",{attrs:{href:"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The long-term goal was to build a website/repository containing about 100+ examples of these “retinal mosaics”. The website would allow people to view the mosaics, download the data files, or run online some simple analysis.")]),t._v(" "),e("h2",{attrs:{id:"the-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[t._v("#")]),t._v(" The Work")]),t._v(" "),e("h3",{attrs:{id:"what-did-we-do"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[t._v("#")]),t._v(" What Did We Do")]),t._v(" "),e("p",[t._v("The Data Package specification is meant to be a container for data providing a consistent interface to tabular data. The Data Package specification outlines a number of different fields that can be stored within a descriptor file, "),e("code",[t._v("datapackage.json")]),t._v(". For instance, for this example, we can assign a title to this Data Package by setting the field "),e("code",[t._v("title")]),t._v(" to “Example Retinal Mosaic”:")]),t._v(" "),e("p",[e("code",[t._v('"title" : "Example Retinal Mosaic"')])]),t._v(" "),e("p",[t._v("We can also, for instance, set a "),e("code",[t._v("homepage")]),t._v(" for the dataset which is a URL for the home on the web that is related to this Data Package.")]),t._v(" "),e("p",[e("code",[t._v('"homepage": "http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/"')])]),t._v(" "),e("p",[t._v("Some of the other metadata Stephen required do not, however, map well to existing specified fields in a Data Package. For instance, as the Data Package is not specialized for storing biological data, there is no field for “species”. (The Digital Curation Centre maintains a database of domain-specific metadata standards for biology and other fields.) The specification is intended to be quite flexible in these circumstances:")]),t._v(" "),e("blockquote",[e("p",[t._v("Adherence to the specification does not imply that additional, non-specified properties cannot be used: a descriptor MAY include any number of properties in additional to those described as required and optional properties […] This flexibility enables specific communities to extend Data Packages as appropriate for the data they manage.")])]),t._v(" "),e("p",[t._v("As an example, we stored the radius in a new field called "),e("code",[t._v("soma-radius")]),t._v(" in the “root” level of the Data Package:")]),t._v(" "),e("p",[e("code",[t._v('"soma-radius": 10')])]),t._v(" "),e("p",[t._v("While there are many different ways in which this particular element of metadata could have been stored, this was a good start that would allow easy iteration. In storing this metadata in the datapackage.json, Data Package-aware tooling could read it with the data.")]),t._v(" "),e("p",[t._v("For example, using the Data Package library (“datapkg”) written by ROpenSci, we can replace multiple calls to the data input functions (in this case, Stephen used the "),e("code",[t._v("read.table()")]),t._v(" and "),e("code",[t._v("scan()")]),t._v(" functions with a single call to "),e("code",[t._v("datapkg_read()")]),t._v(" and store the result in a new object which combines both metadata and data called rmdp.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[t._v('# install_github("frictionlessdata/datapackage-r")')]),t._v("\nlibrary"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("datapkg"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nrmdp "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" datapkg_read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# read soma radius from rmdp")]),t._v("\nsoma.rad "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("`soma"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v("radius`\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# read other metadata from the same object")]),t._v("\non "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("data"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("points\nw "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("data"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("window\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# plot")]),t._v("\nplot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" type"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" asp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bty"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nsymbols"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" circles"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("rep"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("soma.rad"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" nrow"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" add"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("TRUE")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("inch"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("FALSE")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bg"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"red"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" rect"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" lty"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Below is the annotated datapackage.json with the metadata at the top followed by the resource information. As a start, we have included information on cell type, species, and units in the description, but we can easily create new fields to store these fields in a more structured way as we did with "),e("code",[t._v("soma-radius")]),t._v(":")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"example-retinal-mosaic"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Example Retinal Mosaic"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Homepage"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Image"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"This is an example retinal mosaic Data Package."')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"cell type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"on center"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"soma-radius"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("I’ve used a "),e("code",[t._v("sources")]),t._v(" array with a single source object:")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Wässle H, Boycott BB, Illing RB (1981) Morphology and mosaic of on- and off-beta cells in the cat retina and some functional considerations. Proc R Soc Lond B Biol Sci 212:177–195."')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("The "),e("code",[t._v("resources")]),t._v(" array in datapackage.json listed the files in the original datasets with "),e("code",[t._v("dialect")]),t._v(" and "),e("code",[t._v("schema")]),t._v(" information included. We named the first resource “points” with the filename set in "),e("code",[t._v("path")]),t._v(". Because it is a space-delimited tabular file without a header, we needed to pass that information to the "),e("code",[t._v("dialect")]),t._v(" attribute so that "),e("code",[t._v("datapkg_read()")]),t._v(" can read the file. The "),e("code",[t._v("schema")]),t._v(" attribute specifies the "),e("code",[t._v("type")]),t._v(" of all the values in the table (e.g. “number”) as well as additional "),e("code",[t._v("constraints")]),t._v(" on the value. Stephen noted that you can’t have an x coordinate without the y, so we have set "),e("code",[t._v("required")]),t._v(" to true for both fields. In addition, Stephen noted that the “window” rectangle is a simple validation on the data, so I have translated the x and y bounds of the window to constraining conditions on each column. We do understand that assessing the validity of such data can be more complicated, however.")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"resources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"points"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"w81s1on.txt"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\t"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"header"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"x"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"constraints"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"required"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"minimum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("28.08")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"maximum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("778.08")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"y"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"constraints"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"required"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"minimum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("16.2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"maximum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1007.02")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("For the completeness of the example, we have also added a resource for the “window” rectangle even though (a) we have already stored this data in the "),e("code",[t._v("constraints")]),t._v(" key of the points matrix and (b) it is ideally stored as a vector not a data frame. The benefit of this method is the ability to load all the data files at once and reference them from a common datapackage.")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"window"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"w81s1w.txt"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\t"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"header"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"xmin"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"xmax"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ymin"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ymax"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"review"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[t._v("#")]),t._v(" Review")]),t._v(" "),e("h3",{attrs:{id:"how-effective-was-it"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[t._v("#")]),t._v(" How Effective Was It")]),t._v(" "),e("p",[t._v("The pilot tackled an interesting use case: providing a generic “home” for metadata related to an experiment,"),e("br"),t._v("\nin a way that is clear and easy to read without the overhead of a more advanced, domain-specific specification."),e("br"),t._v("\nIn a more complicated example, storing the metadata with the data for each sample—paired with a tool that could"),e("br"),t._v("\nread this metadata—could provide an “object-oriented” style of working with experimental data.")]),t._v(" "),e("p",[t._v("We have not tried this out on multiple samples (this is forthcoming), so we don’t have much information yet on"),e("br"),t._v("\nthe usefulness of this approach, but the exercise raised several important issues to potentially address with the"),e("br"),t._v("\nData Package format:")]),t._v(" "),e("ol",[e("li",[t._v("Stephen’s request for a specified location for storing units in a structured way comes up often: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/216",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/specs/issues/216"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("More iterations, with more of a variety of data sources could help in trialling this")]),t._v(" "),e("li",[t._v("Stephen wanted to store a non-tabular data file (an image) with the tabular datasets that comprise his datasets. This is currently not allowed, but the subsequent definition of a Tabular Data Resource could pave the way for a method of specifying types of different resources and the kind of processing, validation or otherwise, that could be done with each.")])]),t._v(" "),e("h2",{attrs:{id:"next-steps"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[t._v("#")]),t._v(" Next Steps")]),t._v(" "),e("h3",{attrs:{id:"areas-for-future-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-future-work"}},[t._v("#")]),t._v(" Areas for future work")]),t._v(" "),e("p",[t._v("Stephen now has about 100 retinal mosaics that might make for a nice use case of the Data Package. In addition, The Frictionless Data Tool Fund has funded the development of the next version of the R Data Package. This will make some of the improvements brought to the Data Package specifications in the past few months available in the R library.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{430:function(t,a,s){t.exports=s.p+"assets/img/camimage1.409b3ea6.png"},578:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"context"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[t._v("#")]),t._v(" Context")]),t._v(" "),e("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[t._v("#")]),t._v(" Problem We Were Trying To Solve")]),t._v(" "),e("p",[t._v("Stephen Eglen was looking to investigate the applicability of the Data Package concept to facilitate data reuse in the field of Computational Neuroscience. The following figure describes the kind of data he is collecting. He was eventually seeking to get around 100–160 fields like this. Each circle is a cell drawn approximately to scale. The units of measurement are microns (micrometers).")]),t._v(" "),e("p",[e("img",{attrs:{src:s(430),alt:"ADBio"}})]),t._v(" "),e("p",[t._v("The basic data are quite simple: two columns of numbers that describes the center of each circle where each circle represents a "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/Retinal_ganglion_cell",target:"_blank",rel:"noopener noreferrer"}},[t._v("retinal ganglion cell"),e("OutboundLink")],1),t._v(". The metadata that adds context to this data are as follows: the radius of each circle is 10um representing the average radius of this cell type; the dashed line represents the sample window which is the region of space within which the cells were sampled; the species from which the cells were sampled is a cat.")]),t._v(" "),e("p",[t._v("The key question posed by the collection of such data in large quantities is “where to store all these metadata”. More formally, Stephen wanted a way to include the following metadata with sampled data:")]),t._v(" "),e("ol",[e("li",[t._v("Cell type: on center retinal ganglion cells")]),t._v(" "),e("li",[t._v("Species: cat")]),t._v(" "),e("li",[t._v("Radius of "),e("a",{attrs:{href:"https://en.wikipedia.org/wiki/Soma_(biology)"}},[t._v("soma")]),t._v(": 10 um")]),t._v(" "),e("li",[t._v("Citation to original paper where data were presented: Wässle H, Boycott BB, Illing RB (1981) Morphology and mosaic of on- and off-beta cells in the cat retina and some functional considerations. Proc R Soc Lond B Biol Sci 212:177–195.")]),t._v(" "),e("li",[t._v("Unit of measurement: micron.")]),t._v(" "),e("li",[t._v("(Optionally) A raw image from where the data where taken. e.g. "),e("a",{attrs:{href:"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The long-term goal was to build a website/repository containing about 100+ examples of these “retinal mosaics”. The website would allow people to view the mosaics, download the data files, or run online some simple analysis.")]),t._v(" "),e("h2",{attrs:{id:"the-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[t._v("#")]),t._v(" The Work")]),t._v(" "),e("h3",{attrs:{id:"what-did-we-do"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#what-did-we-do"}},[t._v("#")]),t._v(" What Did We Do")]),t._v(" "),e("p",[t._v("The Data Package specification is meant to be a container for data providing a consistent interface to tabular data. The Data Package specification outlines a number of different fields that can be stored within a descriptor file, "),e("code",[t._v("datapackage.json")]),t._v(". For instance, for this example, we can assign a title to this Data Package by setting the field "),e("code",[t._v("title")]),t._v(" to “Example Retinal Mosaic”:")]),t._v(" "),e("p",[e("code",[t._v('"title" : "Example Retinal Mosaic"')])]),t._v(" "),e("p",[t._v("We can also, for instance, set a "),e("code",[t._v("homepage")]),t._v(" for the dataset which is a URL for the home on the web that is related to this Data Package.")]),t._v(" "),e("p",[e("code",[t._v('"homepage": "http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/"')])]),t._v(" "),e("p",[t._v("Some of the other metadata Stephen required do not, however, map well to existing specified fields in a Data Package. For instance, as the Data Package is not specialized for storing biological data, there is no field for “species”. (The Digital Curation Centre maintains a database of domain-specific metadata standards for biology and other fields.) The specification is intended to be quite flexible in these circumstances:")]),t._v(" "),e("blockquote",[e("p",[t._v("Adherence to the specification does not imply that additional, non-specified properties cannot be used: a descriptor MAY include any number of properties in additional to those described as required and optional properties […] This flexibility enables specific communities to extend Data Packages as appropriate for the data they manage.")])]),t._v(" "),e("p",[t._v("As an example, we stored the radius in a new field called "),e("code",[t._v("soma-radius")]),t._v(" in the “root” level of the Data Package:")]),t._v(" "),e("p",[e("code",[t._v('"soma-radius": 10')])]),t._v(" "),e("p",[t._v("While there are many different ways in which this particular element of metadata could have been stored, this was a good start that would allow easy iteration. In storing this metadata in the datapackage.json, Data Package-aware tooling could read it with the data.")]),t._v(" "),e("p",[t._v("For example, using the Data Package library (“datapkg”) written by ROpenSci, we can replace multiple calls to the data input functions (in this case, Stephen used the "),e("code",[t._v("read.table()")]),t._v(" and "),e("code",[t._v("scan()")]),t._v(" functions with a single call to "),e("code",[t._v("datapkg_read()")]),t._v(" and store the result in a new object which combines both metadata and data called rmdp.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[e("span",{pre:!0,attrs:{class:"token comment"}},[t._v('# install_github("frictionlessdata/datapackage-r")')]),t._v("\nlibrary"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("datapkg"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nrmdp "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" datapkg_read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# read soma radius from rmdp")]),t._v("\nsoma.rad "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("`soma"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v("radius`\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# read other metadata from the same object")]),t._v("\non "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("data"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("points\nw "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<-")]),t._v(" rmdp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("data"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("window\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# plot")]),t._v("\nplot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" type"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" asp"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bty"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'n'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nsymbols"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" circles"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("rep"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("soma.rad"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" nrow"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("on"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" add"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("TRUE")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("inch"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("FALSE")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" bg"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"red"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" rect"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" w"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" lty"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Below is the annotated datapackage.json with the metadata at the top followed by the resource information. As a start, we have included information on cell type, species, and units in the description, but we can easily create new fields to store these fields in a more structured way as we did with "),e("code",[t._v("soma-radius")]),t._v(":")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"example-retinal-mosaic"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Example Retinal Mosaic"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Homepage"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"Image"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"http://www.damtp.cam.ac.uk/user/sje30/data/mosaics/w81_scan/w81all.png"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"This is an example retinal mosaic Data Package."')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"cell type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"on center"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"soma-radius"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("I’ve used a "),e("code",[t._v("sources")]),t._v(" array with a single source object:")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Wässle H, Boycott BB, Illing RB (1981) Morphology and mosaic of on- and off-beta cells in the cat retina and some functional considerations. Proc R Soc Lond B Biol Sci 212:177–195."')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("The "),e("code",[t._v("resources")]),t._v(" array in datapackage.json listed the files in the original datasets with "),e("code",[t._v("dialect")]),t._v(" and "),e("code",[t._v("schema")]),t._v(" information included. We named the first resource “points” with the filename set in "),e("code",[t._v("path")]),t._v(". Because it is a space-delimited tabular file without a header, we needed to pass that information to the "),e("code",[t._v("dialect")]),t._v(" attribute so that "),e("code",[t._v("datapkg_read()")]),t._v(" can read the file. The "),e("code",[t._v("schema")]),t._v(" attribute specifies the "),e("code",[t._v("type")]),t._v(" of all the values in the table (e.g. “number”) as well as additional "),e("code",[t._v("constraints")]),t._v(" on the value. Stephen noted that you can’t have an x coordinate without the y, so we have set "),e("code",[t._v("required")]),t._v(" to true for both fields. In addition, Stephen noted that the “window” rectangle is a simple validation on the data, so I have translated the x and y bounds of the window to constraining conditions on each column. We do understand that assessing the validity of such data can be more complicated, however.")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"resources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"points"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"w81s1on.txt"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\t"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"header"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"x"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"constraints"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"required"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"minimum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("28.08")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"maximum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("778.08")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"y"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"constraints"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"required"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"minimum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("16.2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"maximum"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1007.02")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("For the completeness of the example, we have also added a resource for the “window” rectangle even though (a) we have already stored this data in the "),e("code",[t._v("constraints")]),t._v(" key of the points matrix and (b) it is ideally stored as a vector not a data frame. The benefit of this method is the ability to load all the data files at once and reference them from a common datapackage.")]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"window"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"w81s1w.txt"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\t"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"header"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"xmin"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"xmax"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ymin"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ymax"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"number"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h2",{attrs:{id:"review"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[t._v("#")]),t._v(" Review")]),t._v(" "),e("h3",{attrs:{id:"how-effective-was-it"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#how-effective-was-it"}},[t._v("#")]),t._v(" How Effective Was It")]),t._v(" "),e("p",[t._v("The pilot tackled an interesting use case: providing a generic “home” for metadata related to an experiment,"),e("br"),t._v("\nin a way that is clear and easy to read without the overhead of a more advanced, domain-specific specification."),e("br"),t._v("\nIn a more complicated example, storing the metadata with the data for each sample—paired with a tool that could"),e("br"),t._v("\nread this metadata—could provide an “object-oriented” style of working with experimental data.")]),t._v(" "),e("p",[t._v("We have not tried this out on multiple samples (this is forthcoming), so we don’t have much information yet on"),e("br"),t._v("\nthe usefulness of this approach, but the exercise raised several important issues to potentially address with the"),e("br"),t._v("\nData Package format:")]),t._v(" "),e("ol",[e("li",[t._v("Stephen’s request for a specified location for storing units in a structured way comes up often: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/216",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/specs/issues/216"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("More iterations, with more of a variety of data sources could help in trialling this")]),t._v(" "),e("li",[t._v("Stephen wanted to store a non-tabular data file (an image) with the tabular datasets that comprise his datasets. This is currently not allowed, but the subsequent definition of a Tabular Data Resource could pave the way for a method of specifying types of different resources and the kind of processing, validation or otherwise, that could be done with each.")])]),t._v(" "),e("h2",{attrs:{id:"next-steps"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[t._v("#")]),t._v(" Next Steps")]),t._v(" "),e("h3",{attrs:{id:"areas-for-future-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#areas-for-future-work"}},[t._v("#")]),t._v(" Areas for future work")]),t._v(" "),e("p",[t._v("Stephen now has about 100 retinal mosaics that might make for a nice use case of the Data Package. In addition, The Frictionless Data Tool Fund has funded the development of the next version of the R Data Package. This will make some of the improvements brought to the Data Package specifications in the past few months available in the R library.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/49.65f04b89.js b/assets/js/49.63bda42d.js similarity index 99% rename from assets/js/49.65f04b89.js rename to assets/js/49.63bda42d.js index de198c0ce..12b7f0393 100644 --- a/assets/js/49.65f04b89.js +++ b/assets/js/49.63bda42d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{441:function(t,a,s){t.exports=s.p+"assets/img/packagist.835e6f2c.png"},585:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"dm4t-pilot"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dm4t-pilot"}},[t._v("#")]),t._v(" DM4T Pilot")]),t._v(" "),e("h2",{attrs:{id:"pilot-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#pilot-name"}},[t._v("#")]),t._v(" Pilot Name")]),t._v(" "),e("p",[t._v("Data Management for TEDDINET (DM4T)")]),t._v(" "),e("h2",{attrs:{id:"authors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#authors"}},[t._v("#")]),t._v(" Authors")]),t._v(" "),e("p",[t._v("Julian Padget (DM4T), Dan Fowler (OKI), Evgeny Karev (OKI)")]),t._v(" "),e("h2",{attrs:{id:"field"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#field"}},[t._v("#")]),t._v(" Field")]),t._v(" "),e("p",[t._v("Energy Data")]),t._v(" "),e("h2",{attrs:{id:"fd-tech-involved"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fd-tech-involved"}},[t._v("#")]),t._v(" FD Tech Involved")]),t._v(" "),e("ul",[e("li",[t._v("Frictionless Data specs: "),e("a",{attrs:{href:"http://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://specs.frictionlessdata.io/"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("Data Package Pipelines: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("Goodtables: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/goodtables-py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[e("code",[t._v("packagist")]),t._v(" has now moved to "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("create.frictionlessdata.io"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"context"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[t._v("#")]),t._v(" Context")]),t._v(" "),e("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[t._v("#")]),t._v(" Problem We Were Trying To Solve")]),t._v(" "),e("p",[t._v("Open Knowledge International and the Data Management for TEDDINET project (DM4T) agreed to work together on a proof-of-concept pilot to attempt to use Frictionless Data approaches to address some of the data legacy issues facing the TEDDINET project, a research network addressing the challenges of transforming energy demand in our buildings, as a key component of the transition to an affordable, low carbon energy system. The problem as described on the DM4T Website:")]),t._v(" "),e("blockquote",[e("p",[t._v("The Engineering and Physical Sciences Research Council (EPSRC), the UK’s main agency for funding research in engineering and the physical sciences, funded 22 projects over two calls in 2010 and 2012 to investigate Transforming Energy Demand through Digital Innovation’ (TEDDI) as a means to find out how people use energy in homes and what can be done reduce energy consumption. A lot of data is being collected at different levels of detail in a variety of housing throughout the UK, but the level of detail are largely defined by the needs of each individual project. At the same time, the Research Councils UK (RCUK) are defining guidelines for what happens to data generated by projects they fund which require researchers to take concrete actions to store, preserve, and document their data for future reference.")])]),t._v(" "),e("blockquote",[e("p",[t._v("The problem, however, is that there is relatively little awareness, limited experience and only emerging practice of how to incorporate data management into much of physical science research. This is in contrast to established procedures for data formats and sharing in the biosciences, stemming from international collaboration on the Human Genome Project, and in the social sciences, where data from national surveys, including census data, have been centrally archived for many years. Consequently, current solutions may be able to meet a minimal interpretation of the requirements, but not effectively deliver the desired data legacy.")])]),t._v(" "),e("p",[t._v("The DM4T group selected three suitable datasets to on which to base this work and provided domain knowledge to ensure the pilot is applicable to real use cases.")]),t._v(" "),e("p",[t._v("Output was tracked here: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/issues"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"the-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[t._v("#")]),t._v(" The work")]),t._v(" "),e("p",[t._v("We will use the "),e("code",[t._v("refit-cleaned")]),t._v(" dataset to show the Frictionless Data specs and software capabilities. For this work, we limited the size of this dataset in order to preserve a reasonable showcasing time. However, by design the Frictionless Data software has a very good scalability and this process could be reproduced for the whole dataset. But for now it is worth noting that the speed for such a big datasets could be a bottle neck for a research work.")]),t._v(" "),e("h3",{attrs:{id:"refit-electrical-load-measurements-cleaned"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#refit-electrical-load-measurements-cleaned"}},[t._v("#")]),t._v(" REFIT: Electrical Load Measurements (Cleaned)")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the dataset: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/tree/delivery/datasets/refit-cleaned",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/tree/delivery/datasets/refit-cleaned"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("For each house in the study, this dataset consists of granular readings of electrical load. There were 20 houses in total, and each house had a different mix of devices plugged into the electrical load sensor. The dataset was distributed as a zipped file (~500MB) containing 20 CSVs with a combined ~120 million rows.")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("Time,Unix,Aggregate,Appliance1,Appliance2,Appliance3,Appliance4,Appliance5,Appliance6,Appliance7,Appliance8,Appliance9\n2013-10-09 13:06:17,1381323977,523,74,0,69,0,0,0,0,0,1\n2013-10-09 13:06:31,1381323991,526,75,0,69,0,0,0,0,0,1\n2013-10-09 13:06:46,1381324006,540,74,0,68,0,0,0,0,0,1\n2013-10-09 13:07:01,1381324021,532,74,0,68,0,0,0,0,0,1\n2013-10-09 13:07:15,1381324035,540,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:18,1381324038,539,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:30,1381324050,537,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:32,1381324052,537,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:44,1381324064,548,74,0,69,0,0,0,0,0,1\n")])])]),e("p",[t._v("Given that these datasets were already provided in well structured CSV files, it was straightforward to translate the data dictionary found in the dataset’s README into the relevant fields in the datapackage.json. We did not need to alter the CSVs that comprise the dataset.")]),t._v(" "),e("h3",{attrs:{id:"creating-a-data-package-using-datapackage-pipelines"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-data-package-using-datapackage-pipelines"}},[t._v("#")]),t._v(" Creating a data package using Datapackage Pipelines")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the Datapackage Pipelines project: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("Datapackage Pipelines is a framework for declarative stream-processing of tabular data. It is built upon the concepts and tooling of the Frictionless Data project. The basic concept in this framework is the pipeline. A pipeline has a list of processing steps, and it generates a single data package as its output. Pipelines are defined in a declarative way, not in code. One or more pipelines can be defined in a "),e("code",[t._v("pipeline-spec.yaml")]),t._v(" file. This file specifies the list of processors (referenced by name) and their execution parameters.")]),t._v(" "),e("p",[t._v("One of the main purposes of the Frictionless Data project is data containerization. It means that instead of having two separated data knowledge sources (data files and text readme), we’re going to put both of them into a container based on the "),e("code",[t._v("Data Package")]),t._v(" specification. This allows us to:")]),t._v(" "),e("ul",[e("li",[t._v("Ensure that the dataset description is shipped with the data files")]),t._v(" "),e("li",[t._v("Provide column data type information to allow type validation")]),t._v(" "),e("li",[t._v("Use the Frictionless Data tooling for reading and validating datasets")]),t._v(" "),e("li",[t._v("Enable usage of other software which supports Frictionless Data specifications")])]),t._v(" "),e("p",[t._v("First, we used the "),e("code",[t._v("datapackage-pipeline")]),t._v(" library to create a data package from the raw dataset. We need a declarative file called "),e("code",[t._v("datapackage-pipelines.yaml")]),t._v(" to describe data transformations steps:")]),t._v(" "),e("blockquote",[e("p",[t._v("datapackage-pipelines.yaml")])]),t._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("refit-cleaned")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("pipeline")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" add_metadata\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("electrical"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("measurements\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'REFIT: Electrical Load Measurements'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("license")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" CC"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("BY"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.0")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Collection of this dataset was supported by the Engineering and Physical Sciences Research Council (EPSRC) via the project entitled Personalised Retrofit Decision Support Tools for UK Homes using Smart Home Technology (REFIT)"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" which is a collaboration among the Universities of Strathclyde"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Loughborough and East Anglia. The dataset includes data from 20 households from the Loughborough area over the period 2013 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" 2015. Additional information about REFIT is available from www.refitsmarthomes.org.\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'REFIT: Electrical Load Measurements (Cleaned)'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("web")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://pure.strath.ac.uk/portal/en/datasets/refit-electrical-load-measurements-cleaned(9ab14b0e-19ac-4279-938f-27f643078cec).html'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("email")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" researchdataproject@strath.ac.uk\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" add_resource\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("url")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datasets/refit-cleaned/House_1.csv'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("format")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" csv\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Other resources are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" stream_remote_resources\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" set_types\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("resources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"house-[0-9]{1,2}"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("types")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v('"Time"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" datetime\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("format")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"fmt:%Y-%m-%d %H:%M:%S"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Unix")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Aggregate")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v('"Appliance[1-9]"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" processors.modify_descriptions\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("resources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" house"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("descriptions")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Fridge\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Chest Freezer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance3")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Upright Freezer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance4")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Tumble Dryer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance5")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("descripion")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Washing Machine\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance6")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Dishwasher\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance7")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Computer Site\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance8")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Television Site\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance9")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Electric Heater\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Other resources are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" dump.to_path\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("out-path")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" packages/refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cleaned\n")])])]),e("p",[t._v("The process follows contains these steps:")]),t._v(" "),e("ul",[e("li",[t._v("Create the data package metadata")]),t._v(" "),e("li",[t._v("Add all data files from the disc")]),t._v(" "),e("li",[t._v("Start resources streaming into the data package")]),t._v(" "),e("li",[t._v("Update resources descriptions using a custom processor")]),t._v(" "),e("li",[t._v("Save the data package to the disc")])]),t._v(" "),e("p",[t._v("Now we’re ready to run this pipeline:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ dpp run ./refit-cleaned\n")])])]),e("p",[t._v("After this step we have a data package containing a descriptor:")]),t._v(" "),e("blockquote",[e("p",[t._v("packages/refit-cleaned/datapakcage.json")])]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bytes"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1121187")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"count_of_rows"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("19980")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Collection of this dataset was supported by the Engineering and Physical Sciences Research Council (EPSRC) via the project entitled Personalised Retrofit Decision Support Tools for UK Homes using Smart Home Technology (REFIT), which is a collaboration among the Universities of Strathclyde, Loughborough and East Anglia. The dataset includes data from 20 households from the Loughborough area over the period 2013 - 2015. Additional information about REFIT is available from www.refitsmarthomes.org."')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"hash"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"433ff35135e0a43af6f00f04cb8e666d"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"license"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"CC-BY-4.0"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"refit-electrical-load-measurements"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"resources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bytes"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("55251")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"count_of_rows"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("999")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('","')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"doubleQuote"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"lineTerminator"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\r\\n"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"quoteChar"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\""')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"skipInitialSpace"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dpp:streamedFrom"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"datasets/refit-cleaned/House_1.csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dpp:streaming"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"encoding"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"utf-8"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"format"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"hash"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ad42fbf1302cabe30e217ff105d5a7fd"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"house-1"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data/house-1.csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"format"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"%Y-%m-%d %H:%M:%S"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Time"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"datetime"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Unix"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Aggregate"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Fridge"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance1"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Chest Freezer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance2"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Upright Freezer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance3"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Tumble Dryer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance4"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"descripion"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Washing Machine"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance5"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Dishwasher"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance6"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Computer Site"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance7"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Television Site"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance8"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Electric Heater"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance9"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n # Other resources is omitted\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("And a list of data files linked in the descriptor:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("ls")]),t._v(" packages/refit-cleaned/data\nhouse-10.csv house-13.csv house-17.csv house-1.csv house-2.csv house-5.csv house-8.csv\nhouse-11.csv house-15.csv house-18.csv house-20.csv house-3.csv house-6.csv house-9.csv\nhouse-12.csv house-16.csv house-19.csv house-21.csv house-4.csv house-7.csv\n")])])]),e("h3",{attrs:{id:"validating-a-data-package-using-goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-a-data-package-using-goodtables"}},[t._v("#")]),t._v(" Validating a data package using Goodtables")]),t._v(" "),e("p",[t._v("Goodtables is a software family for tabular data validation. It’s available as a Python library, a command line tool, "),e("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("web application"),e("OutboundLink")],1),t._v(" and "),e("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("continuous validation service"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("The main features of Goodtables are:")]),t._v(" "),e("ul",[e("li",[t._v("Structural checks: Ensure that there are no empty rows, no blank headers, etc.")]),t._v(" "),e("li",[t._v("Content checks: Ensure that the values have the correct types (“string”, “number”, “date”, etc.), that their format is valid (“string must be an e-mail”), and that they respect the constraints (“age must be a number greater than 18”).")]),t._v(" "),e("li",[t._v("Support for multiple tabular formats: CSV, Excel files, LibreOffice, Data Package, etc.")]),t._v(" "),e("li",[t._v("Parallelized validations for multi-table datasets")])]),t._v(" "),e("p",[t._v("Because we have provided data types for the columns at the wrapping stage, here we validate both the data structure and compliance to the data types using the Goodtables command line interface:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ goodtables packages/refit-cleaned/datapackage.json\nDATASET\n"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'error-count'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'preset'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datapackage'")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'table-count'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.694")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" True"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h3",{attrs:{id:"modifying-a-data-package-using-packagist"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#modifying-a-data-package-using-packagist"}},[t._v("#")]),t._v(" Modifying a data package using Packagist")]),t._v(" "),e("p",[t._v("If we need to modify our data package, we could use the "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Packagist"),e("OutboundLink")],1),t._v(". It incorporates a straightforward UI to modify and validate data package descriptors. With its easy to use interface we are able to:")]),t._v(" "),e("ul",[e("li",[t._v("Load/validate/save a data package")]),t._v(" "),e("li",[t._v("Update a data package metadata")]),t._v(" "),e("li",[t._v("Add/remove/modify data package resources")]),t._v(" "),e("li",[t._v("Add/remove/modify data resource fields")]),t._v(" "),e("li",[t._v("Set type/format for data values")])]),t._v(" "),e("p",[e("img",{attrs:{src:s(441),alt:"ADBio"}})]),t._v(" "),e("p",[t._v("On the figure above we have loaded the "),e("code",[t._v("refit-cleaned")]),t._v(" data package into the Packagist UI to make changes to the data package as needed.")]),t._v(" "),e("h3",{attrs:{id:"publishing-a-data-package-to-amazon-s3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#publishing-a-data-package-to-amazon-s3"}},[t._v("#")]),t._v(" Publishing a data package to Amazon S3")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the published package: "),e("a",{attrs:{href:"https://s3.eu-central-1.amazonaws.com/pilot-dm4t/pilot-dm4t/packages/refit-cleaned/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://s3.eu-central-1.amazonaws.com/pilot-dm4t/pilot-dm4t/packages/refit-cleaned/datapackage.json"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("In this section we will show how data packages can be moved from one data storage system to another. This is possible because it has been containerised.")]),t._v(" "),e("p",[t._v("One important feature of the "),e("code",[t._v("datapackage-pipelines")]),t._v(" project that it works as a conveyor. We could push our data package not only to the local disc but to other destinations. For example to the Amazon S3:")]),t._v(" "),e("blockquote",[e("p",[t._v("pipelines-spec.yml")])]),t._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("refit-cleaned")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Initial steps are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" aws.dump.to_s3\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("bucket")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pilot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("dm4t\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("path")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pilot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("dm4t/packages/refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cleaned\n")])])]),e("p",[t._v("Running this command again:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ dpp run ./refit-cleaned\n")])])]),e("p",[t._v("And now our data package is published to Amazon the S3 remote storage:")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://i.imgur.com/5Z7EPDR.pnghttps://",alt:"screenshot of S3 storage"}})]),t._v(" "),e("h3",{attrs:{id:"getting-insight-from-data-using-python-libraries"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-insight-from-data-using-python-libraries"}},[t._v("#")]),t._v(" Getting insight from data using Python libraries")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the demostration script: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The Frictionless Data projects provides various Python (along with other 8 languages) libraries to work with data package programatically. We used the "),e("code",[t._v("datapackage")]),t._v(" library to analyse the "),e("code",[t._v("refit-cleaned")]),t._v(" data package:")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" datetime\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" statistics\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" datapackage "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Package\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get aggregates")]),t._v("\nconsumption "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\npackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'packages/refit-cleaned/datapackage.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" resource "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" row "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("iter")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("keyed"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n hour "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hour\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("setdefault"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("append"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("row"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aggregate'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get averages")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" hour "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" statistics"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("mean"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Print results")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" hour "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("sorted")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("print")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Average consumption at %02d hours: %.0f'")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Now we could run it in the command line:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ python examles/refit-cleaned.py\nAverage consumption at 00 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("232")]),t._v("\nAverage consumption at 01 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("213")]),t._v("\nAverage consumption at 02 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("247")]),t._v("\nAverage consumption at 03 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("335")]),t._v("\nAverage consumption at 04 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("215")]),t._v("\nAverage consumption at 05 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("690")]),t._v("\nAverage consumption at 06 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("722")]),t._v("\nAverage consumption at 07 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("648")]),t._v("\nAverage consumption at 08 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("506")]),t._v("\nAverage consumption at 09 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("464")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("364")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("11")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("569")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("520")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("13")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("497")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("14")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("380")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("15")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("383")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("16")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("459")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("17")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("945")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("18")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("733")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("19")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("732")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("471")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("21")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("478")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("22")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("325")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("23")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("231")]),t._v("\n")])])]),e("p",[t._v("Here we we’re able to get the averages for electricity consumption grouped by hour. We could have achieved this in different ways, but using the Frictionless Data specs and software provides some important advantages:")]),t._v(" "),e("ul",[e("li",[t._v("The fact that we have data wrapped into a data package has allowed us to validate and read the data already converted for its correct types (e.g native python "),e("code",[t._v("datetime")]),t._v(" object). No need for any kind of string parsing.")]),t._v(" "),e("li",[t._v("The Frictionless Data software uses file streams under the hood. This means that only the current row is kept in memory, so we’re able to handle datasets bigger than the available RAM memory.")])]),t._v(" "),e("h3",{attrs:{id:"exporting-data-to-an-elasticsearch-cluster"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#exporting-data-to-an-elasticsearch-cluster"}},[t._v("#")]),t._v(" Exporting data to an ElasticSearch cluster")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the export script: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The Frictionless Data software provides plugins to export data to various backends like SQL, BigQuery etc. We will export the first resource from our data package for future analysis:")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" elasticsearch "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Elasticsearch\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" datapackage "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Package\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" tableschema_elasticsearch "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Storage\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get resource")]),t._v("\npackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'packages/refit-cleaned/datapackage.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nresource "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Create storage")]),t._v("\nengine "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Elasticsearch"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nstorage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Storage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("engine"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Write data")]),t._v("\nstorage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("create"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'refit-cleaned'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("schema"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("list")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("storage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("write"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'refit-cleaned'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("keyed"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Unix'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n")])])]),e("p",[t._v("Now we are able to check that our documents are indexed:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ http http://localhost:9200/_cat/indices?v\n")])])]),e("h3",{attrs:{id:"getting-insight-from-data-using-kibana"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-insight-from-data-using-kibana"}},[t._v("#")]),t._v(" Getting insight from data using Kibana")]),t._v(" "),e("p",[t._v("To demonstrate how the Frictionless Data specs and software empower the usage of other analytics tools, we will use ElasticSearch/Kibana project. On the previous step we have imported our data package into an ElasticSearch cluster. It allows us to visualize data using a simple UI:")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://i.imgur.com/Fm373F4.png",alt:"screenshot of elasticsearch cluster"}})]),t._v(" "),e("p",[t._v("In this screenshot we see the distribution of the average electricity comsumption. This is just an example of what you can do by having the ability to easily load datasets into other analytical software.")]),t._v(" "),e("h2",{attrs:{id:"review"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[t._v("#")]),t._v(" Review")]),t._v(" "),e("h3",{attrs:{id:"the-results"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-results"}},[t._v("#")]),t._v(" The results")]),t._v(" "),e("p",[t._v("In this pilot, we have been able to demonstrate the the following:")]),t._v(" "),e("ul",[e("li",[t._v("Packaging the "),e("code",[t._v("refit-cleaned")]),t._v(" dataset as a data package using the Data Package Pipelines library")]),t._v(" "),e("li",[t._v("Validating the data package using the Goodtables library")]),t._v(" "),e("li",[t._v("Modifying data packages metadata using the Packagist UI")]),t._v(" "),e("li",[t._v("Uploading the dataset to Amazon S3 and ElasticSearch cluster using Frictionless Data tools")]),t._v(" "),e("li",[t._v("Reading and analysing in Python the created Data Package using the Frictionless Data library")])]),t._v(" "),e("h3",{attrs:{id:"current-limitations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#current-limitations"}},[t._v("#")]),t._v(" Current limitations")]),t._v(" "),e("p",[t._v("The central challenge of working with these datasets is the size. Publishing the results of these research projects as flat files for immediate analysis is beneficial, however, the scale of each of these datasets (gigabytes of data, millions of rows) is a challenge to deal with no matter how you are storing. Processing this data through Data Package pipelines takes a long time.")]),t._v(" "),e("h3",{attrs:{id:"next-steps"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[t._v("#")]),t._v(" Next Steps")]),t._v(" "),e("ul",[e("li",[t._v("Improve the speed of the data package creation step")])]),t._v(" "),e("h3",{attrs:{id:"find-out-more"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[t._v("#")]),t._v(" Find Out More")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-pnnl",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-pnnl"),e("OutboundLink")],1)])]),t._v(" "),e("h3",{attrs:{id:"source-material"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#source-material"}},[t._v("#")]),t._v(" Source Material")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://app.hubspot.com/sales/2281421/deal/146418008",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://app.hubspot.com/sales/2281421/deal/146418008"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://discuss.okfn.org/c/working-groups/open-archaeology",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://discuss.okfn.org/c/working-groups/open-archaeology"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-open-archaeology",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-open-archaeology"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{441:function(t,a,s){t.exports=s.p+"assets/img/packagist.835e6f2c.png"},586:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"dm4t-pilot"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#dm4t-pilot"}},[t._v("#")]),t._v(" DM4T Pilot")]),t._v(" "),e("h2",{attrs:{id:"pilot-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#pilot-name"}},[t._v("#")]),t._v(" Pilot Name")]),t._v(" "),e("p",[t._v("Data Management for TEDDINET (DM4T)")]),t._v(" "),e("h2",{attrs:{id:"authors"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#authors"}},[t._v("#")]),t._v(" Authors")]),t._v(" "),e("p",[t._v("Julian Padget (DM4T), Dan Fowler (OKI), Evgeny Karev (OKI)")]),t._v(" "),e("h2",{attrs:{id:"field"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#field"}},[t._v("#")]),t._v(" Field")]),t._v(" "),e("p",[t._v("Energy Data")]),t._v(" "),e("h2",{attrs:{id:"fd-tech-involved"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#fd-tech-involved"}},[t._v("#")]),t._v(" FD Tech Involved")]),t._v(" "),e("ul",[e("li",[t._v("Frictionless Data specs: "),e("a",{attrs:{href:"http://specs.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://specs.frictionlessdata.io/"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("Data Package Pipelines: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),e("OutboundLink")],1)]),t._v(" "),e("li",[t._v("Goodtables: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/goodtables-py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[e("code",[t._v("packagist")]),t._v(" has now moved to "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("create.frictionlessdata.io"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"context"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#context"}},[t._v("#")]),t._v(" Context")]),t._v(" "),e("h3",{attrs:{id:"problem-we-were-trying-to-solve"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#problem-we-were-trying-to-solve"}},[t._v("#")]),t._v(" Problem We Were Trying To Solve")]),t._v(" "),e("p",[t._v("Open Knowledge International and the Data Management for TEDDINET project (DM4T) agreed to work together on a proof-of-concept pilot to attempt to use Frictionless Data approaches to address some of the data legacy issues facing the TEDDINET project, a research network addressing the challenges of transforming energy demand in our buildings, as a key component of the transition to an affordable, low carbon energy system. The problem as described on the DM4T Website:")]),t._v(" "),e("blockquote",[e("p",[t._v("The Engineering and Physical Sciences Research Council (EPSRC), the UK’s main agency for funding research in engineering and the physical sciences, funded 22 projects over two calls in 2010 and 2012 to investigate Transforming Energy Demand through Digital Innovation’ (TEDDI) as a means to find out how people use energy in homes and what can be done reduce energy consumption. A lot of data is being collected at different levels of detail in a variety of housing throughout the UK, but the level of detail are largely defined by the needs of each individual project. At the same time, the Research Councils UK (RCUK) are defining guidelines for what happens to data generated by projects they fund which require researchers to take concrete actions to store, preserve, and document their data for future reference.")])]),t._v(" "),e("blockquote",[e("p",[t._v("The problem, however, is that there is relatively little awareness, limited experience and only emerging practice of how to incorporate data management into much of physical science research. This is in contrast to established procedures for data formats and sharing in the biosciences, stemming from international collaboration on the Human Genome Project, and in the social sciences, where data from national surveys, including census data, have been centrally archived for many years. Consequently, current solutions may be able to meet a minimal interpretation of the requirements, but not effectively deliver the desired data legacy.")])]),t._v(" "),e("p",[t._v("The DM4T group selected three suitable datasets to on which to base this work and provided domain knowledge to ensure the pilot is applicable to real use cases.")]),t._v(" "),e("p",[t._v("Output was tracked here: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/issues"),e("OutboundLink")],1)]),t._v(" "),e("h2",{attrs:{id:"the-work"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-work"}},[t._v("#")]),t._v(" The work")]),t._v(" "),e("p",[t._v("We will use the "),e("code",[t._v("refit-cleaned")]),t._v(" dataset to show the Frictionless Data specs and software capabilities. For this work, we limited the size of this dataset in order to preserve a reasonable showcasing time. However, by design the Frictionless Data software has a very good scalability and this process could be reproduced for the whole dataset. But for now it is worth noting that the speed for such a big datasets could be a bottle neck for a research work.")]),t._v(" "),e("h3",{attrs:{id:"refit-electrical-load-measurements-cleaned"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#refit-electrical-load-measurements-cleaned"}},[t._v("#")]),t._v(" REFIT: Electrical Load Measurements (Cleaned)")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the dataset: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/tree/delivery/datasets/refit-cleaned",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/tree/delivery/datasets/refit-cleaned"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("For each house in the study, this dataset consists of granular readings of electrical load. There were 20 houses in total, and each house had a different mix of devices plugged into the electrical load sensor. The dataset was distributed as a zipped file (~500MB) containing 20 CSVs with a combined ~120 million rows.")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v("Time,Unix,Aggregate,Appliance1,Appliance2,Appliance3,Appliance4,Appliance5,Appliance6,Appliance7,Appliance8,Appliance9\n2013-10-09 13:06:17,1381323977,523,74,0,69,0,0,0,0,0,1\n2013-10-09 13:06:31,1381323991,526,75,0,69,0,0,0,0,0,1\n2013-10-09 13:06:46,1381324006,540,74,0,68,0,0,0,0,0,1\n2013-10-09 13:07:01,1381324021,532,74,0,68,0,0,0,0,0,1\n2013-10-09 13:07:15,1381324035,540,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:18,1381324038,539,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:30,1381324050,537,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:32,1381324052,537,74,0,69,0,0,0,0,0,1\n2013-10-09 13:07:44,1381324064,548,74,0,69,0,0,0,0,0,1\n")])])]),e("p",[t._v("Given that these datasets were already provided in well structured CSV files, it was straightforward to translate the data dictionary found in the dataset’s README into the relevant fields in the datapackage.json. We did not need to alter the CSVs that comprise the dataset.")]),t._v(" "),e("h3",{attrs:{id:"creating-a-data-package-using-datapackage-pipelines"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-a-data-package-using-datapackage-pipelines"}},[t._v("#")]),t._v(" Creating a data package using Datapackage Pipelines")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the Datapackage Pipelines project: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/datapackage-pipelines"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("Datapackage Pipelines is a framework for declarative stream-processing of tabular data. It is built upon the concepts and tooling of the Frictionless Data project. The basic concept in this framework is the pipeline. A pipeline has a list of processing steps, and it generates a single data package as its output. Pipelines are defined in a declarative way, not in code. One or more pipelines can be defined in a "),e("code",[t._v("pipeline-spec.yaml")]),t._v(" file. This file specifies the list of processors (referenced by name) and their execution parameters.")]),t._v(" "),e("p",[t._v("One of the main purposes of the Frictionless Data project is data containerization. It means that instead of having two separated data knowledge sources (data files and text readme), we’re going to put both of them into a container based on the "),e("code",[t._v("Data Package")]),t._v(" specification. This allows us to:")]),t._v(" "),e("ul",[e("li",[t._v("Ensure that the dataset description is shipped with the data files")]),t._v(" "),e("li",[t._v("Provide column data type information to allow type validation")]),t._v(" "),e("li",[t._v("Use the Frictionless Data tooling for reading and validating datasets")]),t._v(" "),e("li",[t._v("Enable usage of other software which supports Frictionless Data specifications")])]),t._v(" "),e("p",[t._v("First, we used the "),e("code",[t._v("datapackage-pipeline")]),t._v(" library to create a data package from the raw dataset. We need a declarative file called "),e("code",[t._v("datapackage-pipelines.yaml")]),t._v(" to describe data transformations steps:")]),t._v(" "),e("blockquote",[e("p",[t._v("datapackage-pipelines.yaml")])]),t._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("refit-cleaned")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("pipeline")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" add_metadata\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("electrical"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("measurements\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'REFIT: Electrical Load Measurements'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("license")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" CC"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("BY"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.0")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Collection of this dataset was supported by the Engineering and Physical Sciences Research Council (EPSRC) via the project entitled Personalised Retrofit Decision Support Tools for UK Homes using Smart Home Technology (REFIT)"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" which is a collaboration among the Universities of Strathclyde"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Loughborough and East Anglia. The dataset includes data from 20 households from the Loughborough area over the period 2013 "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" 2015. Additional information about REFIT is available from www.refitsmarthomes.org.\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("sources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("title")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'REFIT: Electrical Load Measurements (Cleaned)'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("web")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://pure.strath.ac.uk/portal/en/datasets/refit-electrical-load-measurements-cleaned(9ab14b0e-19ac-4279-938f-27f643078cec).html'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("email")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" researchdataproject@strath.ac.uk\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" add_resource\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("name")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("url")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datasets/refit-cleaned/House_1.csv'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("format")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" csv\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Other resources are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" stream_remote_resources\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" set_types\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("resources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"house-[0-9]{1,2}"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("types")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v('"Time"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" datetime\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("format")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"fmt:%Y-%m-%d %H:%M:%S"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Unix")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Aggregate")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v('"Appliance[1-9]"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("type")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" integer\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" processors.modify_descriptions\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("resources")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" house"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("descriptions")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Fridge\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance2")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Chest Freezer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance3")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Upright Freezer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance4")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Tumble Dryer\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance5")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("descripion")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Washing Machine\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance6")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Dishwasher\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance7")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Computer Site\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance8")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Television Site\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("Appliance9")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("description")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" Electric Heater\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Other resources are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" dump.to_path\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("out-path")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" packages/refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cleaned\n")])])]),e("p",[t._v("The process follows contains these steps:")]),t._v(" "),e("ul",[e("li",[t._v("Create the data package metadata")]),t._v(" "),e("li",[t._v("Add all data files from the disc")]),t._v(" "),e("li",[t._v("Start resources streaming into the data package")]),t._v(" "),e("li",[t._v("Update resources descriptions using a custom processor")]),t._v(" "),e("li",[t._v("Save the data package to the disc")])]),t._v(" "),e("p",[t._v("Now we’re ready to run this pipeline:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ dpp run ./refit-cleaned\n")])])]),e("p",[t._v("After this step we have a data package containing a descriptor:")]),t._v(" "),e("blockquote",[e("p",[t._v("packages/refit-cleaned/datapakcage.json")])]),t._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bytes"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1121187")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"count_of_rows"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("19980")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Collection of this dataset was supported by the Engineering and Physical Sciences Research Council (EPSRC) via the project entitled Personalised Retrofit Decision Support Tools for UK Homes using Smart Home Technology (REFIT), which is a collaboration among the Universities of Strathclyde, Loughborough and East Anglia. The dataset includes data from 20 households from the Loughborough area over the period 2013 - 2015. Additional information about REFIT is available from www.refitsmarthomes.org."')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"hash"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"433ff35135e0a43af6f00f04cb8e666d"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"license"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"CC-BY-4.0"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"refit-electrical-load-measurements"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"resources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"bytes"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("55251")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"count_of_rows"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("999")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dialect"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"delimiter"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('","')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"doubleQuote"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"lineTerminator"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\r\\n"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"quoteChar"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"\\""')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"skipInitialSpace"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dpp:streamedFrom"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"datasets/refit-cleaned/House_1.csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"dpp:streaming"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"encoding"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"utf-8"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"format"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"hash"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"ad42fbf1302cabe30e217ff105d5a7fd"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"house-1"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data/house-1.csv"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"fields"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"format"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"%Y-%m-%d %H:%M:%S"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Time"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"datetime"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Unix"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Aggregate"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Fridge"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance1"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Chest Freezer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance2"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Upright Freezer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance3"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Tumble Dryer"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance4"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"descripion"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Washing Machine"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance5"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Dishwasher"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance6"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Computer Site"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance7"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Television Site"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance8"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"description"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Electric Heater"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Appliance9"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"integer"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\n # Other resources is omitted\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("p",[t._v("And a list of data files linked in the descriptor:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ "),e("span",{pre:!0,attrs:{class:"token function"}},[t._v("ls")]),t._v(" packages/refit-cleaned/data\nhouse-10.csv house-13.csv house-17.csv house-1.csv house-2.csv house-5.csv house-8.csv\nhouse-11.csv house-15.csv house-18.csv house-20.csv house-3.csv house-6.csv house-9.csv\nhouse-12.csv house-16.csv house-19.csv house-21.csv house-4.csv house-7.csv\n")])])]),e("h3",{attrs:{id:"validating-a-data-package-using-goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-a-data-package-using-goodtables"}},[t._v("#")]),t._v(" Validating a data package using Goodtables")]),t._v(" "),e("p",[t._v("Goodtables is a software family for tabular data validation. It’s available as a Python library, a command line tool, "),e("a",{attrs:{href:"https://try.goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("web application"),e("OutboundLink")],1),t._v(" and "),e("a",{attrs:{href:"https://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("continuous validation service"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("p",[t._v("The main features of Goodtables are:")]),t._v(" "),e("ul",[e("li",[t._v("Structural checks: Ensure that there are no empty rows, no blank headers, etc.")]),t._v(" "),e("li",[t._v("Content checks: Ensure that the values have the correct types (“string”, “number”, “date”, etc.), that their format is valid (“string must be an e-mail”), and that they respect the constraints (“age must be a number greater than 18”).")]),t._v(" "),e("li",[t._v("Support for multiple tabular formats: CSV, Excel files, LibreOffice, Data Package, etc.")]),t._v(" "),e("li",[t._v("Parallelized validations for multi-table datasets")])]),t._v(" "),e("p",[t._v("Because we have provided data types for the columns at the wrapping stage, here we validate both the data structure and compliance to the data types using the Goodtables command line interface:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ goodtables packages/refit-cleaned/datapackage.json\nDATASET\n"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'error-count'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'preset'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datapackage'")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'table-count'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'time'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.694")]),t._v(",\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v(":")]),t._v(" True"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),e("h3",{attrs:{id:"modifying-a-data-package-using-packagist"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#modifying-a-data-package-using-packagist"}},[t._v("#")]),t._v(" Modifying a data package using Packagist")]),t._v(" "),e("p",[t._v("If we need to modify our data package, we could use the "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Packagist"),e("OutboundLink")],1),t._v(". It incorporates a straightforward UI to modify and validate data package descriptors. With its easy to use interface we are able to:")]),t._v(" "),e("ul",[e("li",[t._v("Load/validate/save a data package")]),t._v(" "),e("li",[t._v("Update a data package metadata")]),t._v(" "),e("li",[t._v("Add/remove/modify data package resources")]),t._v(" "),e("li",[t._v("Add/remove/modify data resource fields")]),t._v(" "),e("li",[t._v("Set type/format for data values")])]),t._v(" "),e("p",[e("img",{attrs:{src:s(441),alt:"ADBio"}})]),t._v(" "),e("p",[t._v("On the figure above we have loaded the "),e("code",[t._v("refit-cleaned")]),t._v(" data package into the Packagist UI to make changes to the data package as needed.")]),t._v(" "),e("h3",{attrs:{id:"publishing-a-data-package-to-amazon-s3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#publishing-a-data-package-to-amazon-s3"}},[t._v("#")]),t._v(" Publishing a data package to Amazon S3")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the published package: "),e("a",{attrs:{href:"https://s3.eu-central-1.amazonaws.com/pilot-dm4t/pilot-dm4t/packages/refit-cleaned/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://s3.eu-central-1.amazonaws.com/pilot-dm4t/pilot-dm4t/packages/refit-cleaned/datapackage.json"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("In this section we will show how data packages can be moved from one data storage system to another. This is possible because it has been containerised.")]),t._v(" "),e("p",[t._v("One important feature of the "),e("code",[t._v("datapackage-pipelines")]),t._v(" project that it works as a conveyor. We could push our data package not only to the local disc but to other destinations. For example to the Amazon S3:")]),t._v(" "),e("blockquote",[e("p",[t._v("pipelines-spec.yml")])]),t._v(" "),e("div",{staticClass:"language-yaml extra-class"},[e("pre",{pre:!0,attrs:{class:"language-yaml"}},[e("code",[e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("refit-cleaned")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Initial steps are omitted")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("run")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" aws.dump.to_s3\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("parameters")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("bucket")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pilot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("dm4t\n "),e("span",{pre:!0,attrs:{class:"token key atrule"}},[t._v("path")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" pilot"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("dm4t/packages/refit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("-")]),t._v("cleaned\n")])])]),e("p",[t._v("Running this command again:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ dpp run ./refit-cleaned\n")])])]),e("p",[t._v("And now our data package is published to Amazon the S3 remote storage:")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://i.imgur.com/5Z7EPDR.pnghttps://",alt:"screenshot of S3 storage"}})]),t._v(" "),e("h3",{attrs:{id:"getting-insight-from-data-using-python-libraries"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-insight-from-data-using-python-libraries"}},[t._v("#")]),t._v(" Getting insight from data using Python libraries")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the demostration script: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The Frictionless Data projects provides various Python (along with other 8 languages) libraries to work with data package programatically. We used the "),e("code",[t._v("datapackage")]),t._v(" library to analyse the "),e("code",[t._v("refit-cleaned")]),t._v(" data package:")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" datetime\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" statistics\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" datapackage "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Package\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get aggregates")]),t._v("\nconsumption "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\npackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'packages/refit-cleaned/datapackage.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" resource "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" row "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("iter")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("keyed"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n hour "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Time'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("hour\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("setdefault"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("append"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("row"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Aggregate'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get averages")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" hour "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" statistics"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("mean"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Print results")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" hour "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("sorted")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("print")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Average consumption at %02d hours: %.0f'")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("%")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" consumption"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("hour"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Now we could run it in the command line:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ python examles/refit-cleaned.py\nAverage consumption at 00 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("232")]),t._v("\nAverage consumption at 01 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("213")]),t._v("\nAverage consumption at 02 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("247")]),t._v("\nAverage consumption at 03 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("335")]),t._v("\nAverage consumption at 04 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("215")]),t._v("\nAverage consumption at 05 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("690")]),t._v("\nAverage consumption at 06 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("722")]),t._v("\nAverage consumption at 07 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("648")]),t._v("\nAverage consumption at 08 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("506")]),t._v("\nAverage consumption at 09 hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("464")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("364")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("11")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("569")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("12")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("520")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("13")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("497")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("14")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("380")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("15")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("383")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("16")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("459")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("17")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("945")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("18")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("733")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("19")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("732")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("20")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("471")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("21")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("478")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("22")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("325")]),t._v("\nAverage consumption at "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("23")]),t._v(" hours: "),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("231")]),t._v("\n")])])]),e("p",[t._v("Here we we’re able to get the averages for electricity consumption grouped by hour. We could have achieved this in different ways, but using the Frictionless Data specs and software provides some important advantages:")]),t._v(" "),e("ul",[e("li",[t._v("The fact that we have data wrapped into a data package has allowed us to validate and read the data already converted for its correct types (e.g native python "),e("code",[t._v("datetime")]),t._v(" object). No need for any kind of string parsing.")]),t._v(" "),e("li",[t._v("The Frictionless Data software uses file streams under the hood. This means that only the current row is kept in memory, so we’re able to handle datasets bigger than the available RAM memory.")])]),t._v(" "),e("h3",{attrs:{id:"exporting-data-to-an-elasticsearch-cluster"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#exporting-data-to-an-elasticsearch-cluster"}},[t._v("#")]),t._v(" Exporting data to an ElasticSearch cluster")]),t._v(" "),e("blockquote",[e("p",[t._v("Link to the export script: "),e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-dm4t/blob/delivery/scripts/refit-cleaned.py"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("The Frictionless Data software provides plugins to export data to various backends like SQL, BigQuery etc. We will export the first resource from our data package for future analysis:")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" elasticsearch "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Elasticsearch\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" datapackage "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Package\n"),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" tableschema_elasticsearch "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" Storage\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Get resource")]),t._v("\npackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'packages/refit-cleaned/datapackage.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nresource "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" package"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Create storage")]),t._v("\nengine "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Elasticsearch"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nstorage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Storage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("engine"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# Write data")]),t._v("\nstorage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("create"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'refit-cleaned'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("schema"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),e("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("list")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("storage"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("write"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'refit-cleaned'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'house-1'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" resource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("keyed"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Unix'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n")])])]),e("p",[t._v("Now we are able to check that our documents are indexed:")]),t._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[t._v("$ http http://localhost:9200/_cat/indices?v\n")])])]),e("h3",{attrs:{id:"getting-insight-from-data-using-kibana"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#getting-insight-from-data-using-kibana"}},[t._v("#")]),t._v(" Getting insight from data using Kibana")]),t._v(" "),e("p",[t._v("To demonstrate how the Frictionless Data specs and software empower the usage of other analytics tools, we will use ElasticSearch/Kibana project. On the previous step we have imported our data package into an ElasticSearch cluster. It allows us to visualize data using a simple UI:")]),t._v(" "),e("p",[e("img",{attrs:{src:"https://i.imgur.com/Fm373F4.png",alt:"screenshot of elasticsearch cluster"}})]),t._v(" "),e("p",[t._v("In this screenshot we see the distribution of the average electricity comsumption. This is just an example of what you can do by having the ability to easily load datasets into other analytical software.")]),t._v(" "),e("h2",{attrs:{id:"review"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#review"}},[t._v("#")]),t._v(" Review")]),t._v(" "),e("h3",{attrs:{id:"the-results"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#the-results"}},[t._v("#")]),t._v(" The results")]),t._v(" "),e("p",[t._v("In this pilot, we have been able to demonstrate the the following:")]),t._v(" "),e("ul",[e("li",[t._v("Packaging the "),e("code",[t._v("refit-cleaned")]),t._v(" dataset as a data package using the Data Package Pipelines library")]),t._v(" "),e("li",[t._v("Validating the data package using the Goodtables library")]),t._v(" "),e("li",[t._v("Modifying data packages metadata using the Packagist UI")]),t._v(" "),e("li",[t._v("Uploading the dataset to Amazon S3 and ElasticSearch cluster using Frictionless Data tools")]),t._v(" "),e("li",[t._v("Reading and analysing in Python the created Data Package using the Frictionless Data library")])]),t._v(" "),e("h3",{attrs:{id:"current-limitations"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#current-limitations"}},[t._v("#")]),t._v(" Current limitations")]),t._v(" "),e("p",[t._v("The central challenge of working with these datasets is the size. Publishing the results of these research projects as flat files for immediate analysis is beneficial, however, the scale of each of these datasets (gigabytes of data, millions of rows) is a challenge to deal with no matter how you are storing. Processing this data through Data Package pipelines takes a long time.")]),t._v(" "),e("h3",{attrs:{id:"next-steps"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#next-steps"}},[t._v("#")]),t._v(" Next Steps")]),t._v(" "),e("ul",[e("li",[t._v("Improve the speed of the data package creation step")])]),t._v(" "),e("h3",{attrs:{id:"find-out-more"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#find-out-more"}},[t._v("#")]),t._v(" Find Out More")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-pnnl",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-pnnl"),e("OutboundLink")],1)])]),t._v(" "),e("h3",{attrs:{id:"source-material"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#source-material"}},[t._v("#")]),t._v(" Source Material")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://app.hubspot.com/sales/2281421/deal/146418008",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://app.hubspot.com/sales/2281421/deal/146418008"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://discuss.okfn.org/c/working-groups/open-archaeology",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://discuss.okfn.org/c/working-groups/open-archaeology"),e("OutboundLink")],1)]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-open-archaeology",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://github.com/frictionlessdata/pilot-open-archaeology"),e("OutboundLink")],1)])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/5.7bd12aaf.js b/assets/js/5.3b522528.js similarity index 99% rename from assets/js/5.7bd12aaf.js rename to assets/js/5.3b522528.js index ca38b9641..2a4ae1e1c 100644 --- a/assets/js/5.7bd12aaf.js +++ b/assets/js/5.3b522528.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{478:function(e,a,t){e.exports=t.p+"assets/img/figure-1.0b5d5da2.png"},479:function(e,a,t){e.exports=t.p+"assets/img/figure-2.a4cda338.png"},480:function(e,a,t){e.exports=t.p+"assets/img/figure-3.e234c78e.png"},481:function(e,a){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAMKGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWVBJaIBQpoTdRepVeIwhIFWyEJJBQYkgIKnZ0UcG1oGLBiq6KKLgWQBYVsWBhEez9YUFFWRcLNlTeJAF09Xvvfe9839z758yZM+ecO3dyBwC1GI5YnI2qA5AjypPEhgWyJiSnsEgPAQqIgAq8gDuHKxUHxMREAihD93/Ku+sAkd+v2Mt9/dz/X0WDx5dyAUBiIKfxpNwcyIcBwN24YkkeAIQeqDebnieGTIRRAi0JDBCyuZwzlOwh5zQlRyps4mODIKcCQKZxOJIMAFTlcbHyuRnQj+oyyA4inlAEuRGyL1fA4UH+DHlkTs40yGrWkK3TvvOT8Q+facM+OZyMYVbmohBysFAqzubM/D/L8b8lJ1s2NIcZbDSBJDxWnrO8blnTIuRMg3xOlBYVDVkT8lUhT2Ev5ycCWXjCoP0HrjQI1gwwAUBpPE5wBGQDyKai7KjIQb1vujCUDRnWHo0X5rHjlWNRnmRa7KB/dAZfGhI3xByJYi65TbEsKyFg0OcWAZ895LOhQBCfpIwTbc8XJkZBVoV8V5oVFzFo87xAEBQ1ZCORxcpjhs8cA+mS0FilDWaeIx3KC/MSCNlRgxyZJ4gPV47FpnA5ith0IWfypRMih+Lk8YNDlHlhhXxRwmD8WKk4LzB20H6nODtm0B5r5GeHyfWmkNuk+XFDY3vz4GJT5osDcV5MvDI2XCuTMzZGGQNuCyJBEAgGLCCDLQ1MA5lA2NZT1wN/KXtCAQdIQAbgA/tBzdCIJEWPCF7jQAH4CxIfSIfHBSp6+SAf6r8Ma5VXe5Cu6M1XjMgCTyDngAiQDX/LFKNEw7MlgsdQI/xpdi6MNRs2ed9POpbakI4YQgwmhhNDiTa4Pu6Le+OR8OoPmxPugXsOxfXNnvCE0EF4SLhG6CTcmioslPwQOQuMA50wxtDB7NK+zw63hF5d8UDcB/qHvnEmrg/scRc4UwDuB+d2hdrvY5UNZ/ytloO+KA4UlKJD8adY/xiBqq2q67AXeaW+r4UyrrThagUN9/yYR9B39ePBe8SPltgS7BDWgp3EzmONWB1gYSeweqwVOybn4bXxWLE2hmaLVcSTBf0If5qPMzinvGpShyqHbofPg30gjz8jT/6yBE0Tz5QIMwR5rAC4W/NZbBF31EiWk4Mj3EXle79ya3nDVOzpCPPCN11uEwCexVCZ8U3HgXvQ0ScAMN5905m9hst+JQDH2rkySb5Sh8svBPiPogbfFD1gBPcua5iRE3AD3sAfhICxIBrEg2QwBdZZANepBEwHs8ECUARKwEqwFmwEW8EOsAfsBwdBHWgEJ8FZcBG0g2vgDlwrXeAF6AXvQD+CICSEjjAQPcQYsUDsECfEA/FFQpBIJBZJRlKRDESEyJDZyEKkBClFNiLbkUrkd+QochI5j3Qgt5AHSDfyGvmEYigN1UINUUt0NOqBBqARaDw6Gc1Ac9ECdBG6HF2PVqD70Fr0JHoRvYZ2oi/QPgxgKhgTM8HsMQ8sCIvGUrB0TILNxYqxMqwCq8Ya4JO+gnViPdhHnIgzcBZuD9drOJ6Ac/FcfC6+DN+I78Fr8dP4FfwB3ot/JdAJBgQ7gheBTZhAyCBMJxQRygi7CEcIZ+C700V4RyQSmUQrojt895KJmcRZxGXEzcQaYhOxg/iI2EcikfRIdiQfUjSJQ8ojFZE2kPaRTpAuk7pIH8gqZGOyEzmUnEIWkQvJZeS95OPky+Sn5H6KOsWC4kWJpvAoMykrKDspDZRLlC5KP1WDakX1ocZTM6kLqOup1dQz1LvUNyoqKqYqnirjVYQq81XWqxxQOafyQOUjTZNmSwuiTaLJaMtpu2lNtFu0N3Q63ZLuT0+h59GX0yvpp+j36R9UGaqjVNmqPNV5quWqtaqXVV+qUdQs1ALUpqgVqJWpHVK7pNajTlG3VA9S56jPVS9XP6p+Q71Pg6HhqBGtkaOxTGOvxnmNZ5okTUvNEE2e5iLNHZqnNB8xMIYZI4jBZSxk7GScYXRpEbWstNhamVolWvu12rR6tTW1XbQTtWdol2sf0+5kYkxLJpuZzVzBPMi8zvykY6gToMPXWapTrXNZ573uCF1/Xb5usW6N7jXdT3osvRC9LL1VenV69/RxfVv98frT9bfon9HvGaE1wnsEd0TxiIMjbhugBrYGsQazDHYYtBr0GRoZhhmKDTcYnjLsMWIa+RtlGq0xOm7Ubcww9jUWGq8xPmH8nKXNCmBls9azTrN6TQxMwk1kJttN2kz6Ta1ME0wLTWtM75lRzTzM0s3WmDWb9Zobm48zn21eZX7bgmLhYSGwWGfRYvHe0soyyXKxZZ3lMytdK7ZVgVWV1V1rurWfda51hfVVG6KNh02WzWabdlvU1tVWYFtue8kOtXOzE9pttusYSRjpOVI0smLkDXuafYB9vn2V/YNRzFGRowpH1Y16Odp8dMroVaNbRn91cHXIdtjpcMdR03GsY6Fjg+NrJ1snrlO501VnunOo8zzneudXLnYufJctLjddGa7jXBe7Nrt+cXN3k7hVu3W7m7unum9yv+Gh5RHjsczjnCfBM9Bznmej50cvN688r4Nef3vbe2d57/V+NsZqDH/MzjGPfEx9OD7bfTp9Wb6pvtt8O/1M/Dh+FX4P/c38ef67/J8G2ARkBuwLeBnoECgJPBL4PsgraE5QUzAWHBZcHNwWohmSELIx5H6oaWhGaFVob5hr2KywpnBCeET4qvAbbEM2l13J7h3rPnbO2NMRtIi4iI0RDyNtIyWRDePQcWPHrR53N8oiShRVFw2i2dGro+/FWMXkxvwxnjg+Znz5+CexjrGzY1viGHFT4/bGvYsPjF8RfyfBOkGW0JyoljgpsTLxfVJwUmlS54TRE+ZMuJisnyxMrk8hpSSm7Erpmxgyce3Erkmuk4omXZ9sNXnG5PNT9KdkTzk2VW0qZ+qhVEJqUure1M+caE4Fpy+NnbYprZcbxF3HfcHz563hdfN9+KX8p+k+6aXpzzJ8MlZndAv8BGWCHmGQcKPwVWZ45tbM91nRWbuzBrKTsmtyyDmpOUdFmqIs0elpRtNmTOsQ24mLxJ25Xrlrc3slEZJdUkQ6WVqfpwU/sltl1rJfZA/yffPL8z9MT5x+aIbGDNGM1pm2M5fOfFoQWvDbLHwWd1bzbJPZC2Y/mBMwZ/tcZG7a3OZ5ZvMWzeuaHzZ/zwLqgqwFfxY6FJYWvl2YtLBhkeGi+Yse/RL2S1WRapGk6MZi78Vbl+BLhEvaljov3bD0azGv+EKJQ0lZyedl3GUXfnX8df2vA8vTl7etcFuxZSVxpWjl9VV+q/aUapQWlD5aPW517RrWmuI1b9dOXXu+zKVs6zrqOtm6zvWR6+s3mG9YueHzRsHGa+WB5TWbDDYt3fR+M2/z5S3+W6q3Gm4t2fppm3Dbze1h22srLCvKdhB35O94sjNxZ8tvHr9V7tLfVbLry27R7s49sXtOV7pXVu412LuiCq2SVXXvm7SvfX/w/vpq++rtNcyakgPggOzA899Tf79+MOJg8yGPQ9WHLQ5vOsI4UlyL1M6s7a0T1HXWJ9d3HB17tLnBu+HIH6P+2N1o0lh+TPvYiuPU44uOD5woONHXJG7qOZlx8lHz1OY7pyacunp6/Om2MxFnzp0NPXuqJaDlxDmfc43nvc4fveBxoe6i28XaVtfWI3+6/nmkza2t9pL7pfp2z/aGjjEdxy/7XT55JfjK2avsqxevRV3ruJ5w/eaNSTc6b/JuPruVfevV7fzb/Xfm3yXcLb6nfq/svsH9in/Z/Kum063z2IPgB60P4x7eecR99OKx9PHnrkVP6E/Knho/rXzm9KyxO7S7/fnE510vxC/6e4r+0vhr00vrl4f/9v+7tXdCb9cryauB18ve6L3Z/dblbXNfTN/9dznv+t8Xf9D7sOejx8eWT0mfnvZP/0z6vP6LzZeGrxFf7w7kDAyIORKO4lMAgw1NTwfg9W4A6Mnw26EdAOpE5dlMIYjyPKkg8J9YeX5TiBsAu/0BSJgPQCT8RtkCmwVkGrzLP8Hj/QHq7DzcBkWa7uyk9EWDJxbCh4GBN4YAkBoA+CIZGOjfPDDwZScM9hYATbnKM6Fc5GfQbTZyamslaIEf5N/H6HBu2pz2HQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAgJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjgwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjgwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Ch8/WucAAAUSSURBVGgF7VhJKH1/FD/PHCKZNsgUNobMZEiZpywMG7KUjZIVGf5lSNmxk7VSFsqwQBGZFUkiY1LKsCDz+PO5dV/v3Xu/930v7/1//cqp17vf8z3nfM+594xf3fPz8yf9w2D1D+suqP5rwN/+gr9f4G9/ARtLKHBzc0NbW1tGopOSksjGxvzHmV/il9pzc3M0NDRkZICTkxNFR0cb4cyxsEgMrK6uynRbWFiQ4cyBMLsBl5eXdHJyItNtY2ODHh8fZfifIjQbsLe3R+/v78xz19bW6PNTXtxfXl4IeyxA3Kjts/g0xcDIyAgNDw+Tp6cn5efnU3p6OtnZ2ell39/f0+Lion4tfZiZmaHY2FhydHTUb93e3tLY2BhNT08TjKyoqKCioiL9vqkHHW8vJCpvKNDFxYVyc3MpNDRUCNylpSVBCUMa6bO9vT0hI6WmptLm5iZNTk7Slw5GZOXl5VRcXGyEYy24DFhZWaG+vj6WDIvgW1tbKSQkxKRsrhgICwszchWTUn9IABcNCgriksJlgKurK2VmZnIJNAdRQUEBWVtbc4niMgCSCgsLCf5racDLSktL4z6G2wAEbHZ2Nrfg7xLm5ORocldNaTQiIoJGR0dN6gYfDgwMFH4gPjo6ooODA7q+vjbJi3jTApoMmJ+fV5Xt4OBAtbW1FBMTI6P7+PgQUibqyNPTk2xfRKCP4sk+Ij23C6FILS8vi3yyfxSnpqYmReVBbGVlJdQM0BgWP6kg1JKHhwcpmrm2bmlp+Y+5+7UBYWjEBgcHCX0OC2pqaig8PJy1rce7ubkRvpS03RYJ0KZsb28LxQ20hlVbpDH8Vyxkb29vQpWE4qiWr6+vhjyyZz8/P+rq6pLhWQi4U0NDg+oLAa9Op6OAgACKi4sTMhMylBQUYwD9TH9/v5SWucYBWgDuFB8fT+Pj46psaAqRAPBjpVfuGFA7ycfHR21bcc/b21sRrxVpFgPgElrhOzxKZ5jFgNPTUyXZqrjz83PVfd5NRQMiIyOFvhzFCIFkCpD6tLxR0K6vr5sSS7a2tkIA19fXU3JysiK9YhYypLy6uhImJWQkpVFRpK2urqasrCxxqfo/OztLAwMDTBp0ohkZGUKgfyuNKkm+u7ujuro65sCC3N7W1ka+vr5K7Hrc4eEhdXd3M+djFLne3l5ydnbW86g9KLqQEgMEJiYmKm0JOLQH7e3twmioNBOjQCFtdnZ2MpWHIExrvMqD3qQLgUiE3d1d6ujoEJfMfy8vLwoODiZ/f39hwD8+Pqb9/X2uZq65uZm0NHSKhYylGQzggYuLC8JPbcBnyUGLocUAbhfCjQEGcEsDzsBNBS9wG4ArES2CeRWQ0iGWTLUYhjxcBiAAJyYmDPks+jw1NUW46OIBLgN4A5DnQB4auCtvvJmcB3Cgh4eHMJDs7OwYnY/cn5eXR2VlZULFRnugdu0IZuR5XGpVVVURGrqzszPZxVZpaSn3LYimNCrezkEJVF1cf2DYFwHFrqenh1CslAC9fWNjo9GQgrc9+1WZ4feYmaF8SUmJErsiTpMBkIBbOqQ5peEC+1CG1SZUVlYKYyXopIAvB1fVkkIhgysGDA9LSEhgKg86DCpowqSAplBt8MFFllblcYZmA6SKSddovqKioqRo4YrF3d1dhv8pwuwGQKGUlBSZXvgylgDNMcCjBC4FpG0EZgxW3PDIZNFYxADWYZbAW8SFLKEoS+avAaw383/h/wBEme+Is1WR0gAAAABJRU5ErkJggg=="},482:function(e,a,t){e.exports=t.p+"assets/img/figure-4.65dd4176.png"},483:function(e,a,t){e.exports=t.p+"assets/img/figure-5.a7c23193.png"},484:function(e,a,t){e.exports=t.p+"assets/img/figure-6.5520e95a.png"},485:function(e,a,t){e.exports=t.p+"assets/img/figure-7.866156c7.png"},486:function(e,a,t){e.exports=t.p+"assets/img/figure-8.3afbab68.png"},610:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,o=e._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"include-a-data-schema"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#include-a-data-schema"}},[e._v("#")]),e._v(" Include a data schema")]),e._v(" "),o("p",[e._v("Simply put, a schema is a blueprint that tells us how your data is structured, and what type of content is to be expected in it. You can think of it as a data dictionary. Having a table schema at hand makes it possible to run more precise validation checks on your data, both at a structural and content level.")]),e._v(" "),o("p",[e._v("For this section, we will use the "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"http://datahub.io/core/gdp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gross Domestic Product dataset for all countries (1960 - 2014)"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("Data Package")]),e._v(" is a format that makes it possible to put your data collection and relevant information that provides context about your data in one container before you share it. All contextual information, such as metadata and your data schema, is published in a JSON file named "),o("em",[e._v("datapackage.json")]),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("Data Package Creator")]),e._v(" is an online service that facilitates the creation and editing of data packages. The service automatically generates a "),o("em",[e._v("datapackage.json")]),e._v(" file for you as you add and edit data that is part of your data collection. We refer to each piece of data in a data collection as a "),o("strong",[e._v("data resource")]),e._v(".")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" loads with dummy data to make it easy to understand how metadata and sample resources help generate the "),o("em",[e._v("datapackage.json")]),e._v(" file. There are three ways in which a user can add data resources on "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(":")]),e._v(" "),o("ol",[o("li",[e._v("Provide a hyperlink to your data resource (highly recommended).")])]),e._v(" "),o("p",[e._v("If your data resource is publicly available, like on GitHub or in a data repository, simply obtain the URL and paste it in the "),o("strong",[e._v("Path")]),e._v(" section. To learn how to publish your data resource online, check the publish your dataset section.")]),e._v(" "),o("ol",{attrs:{start:"2"}},[o("li",[e._v("Create your data resource within the service.")])]),e._v(" "),o("p",[e._v("If your data resource isn’t published online, you’ll have to define its fields from scratch. Depending on how complex is your data, this can be time consuming, but it’s still easier than creating the descriptor JSON file from scratch.This option is time consuming, as a user has to manually create each field of a data resource. However, this is simpler than learning how to create a JSON file from scratch.")]),e._v(" "),o("ol",{attrs:{start:"3"}},[o("li",[o("strong",[e._v("Load a Data Package")]),e._v(" option")])]),e._v(" "),o("p",[e._v("With this option, you can load a pre-existing "),o("em",[e._v("datapackage.json")]),e._v(" file to view and edit its metadata and resource fields.")]),e._v(" "),o("p",[e._v("Our "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/blob/master/gross-domestic-product-all/data/gdp.csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gross Domestic Product dataset for all countries (1960 - 2014)"),o("OutboundLink")],1),e._v(" dataset is publicly available on GitHub.")]),e._v(" "),o("p",[e._v("Obtain a link to the raw CSV file by clicking on the Raw button at the top right corner of the GitHub file preview page, as shown in figure 1 below. The resulting hyperlink looks like "),o("a",{attrs:{href:"https://raw.githubusercontent.com/datasets/continent-codes/master/data/continent-codes.csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://raw.githubusercontent.com/datasets/continent-codes/master/data/continent-codes.csv"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("img",{attrs:{src:t(478),alt:"Above, raw button highlighted in red"}}),o("br"),e._v(" "),o("em",[e._v("Figure 1: Above, raw button highlighted in red.")])]),e._v(" "),o("p",[e._v("Paste your hyperlink in the "),o("em",[e._v("Path")]),e._v(" section and click on the "),o("em",[e._v("Load")]),e._v(" button. Each column in your table translates to a "),o("em",[e._v("field")]),e._v(". You should be prompted to add all fields identified in your data resource, as in Figure 2 below. Click on the prompt to load the fields.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(479),alt:"annotated in red, a prompt to add all fields inferred from your data resource"}}),o("br"),e._v(" "),o("em",[e._v("Figure 2: annotated in red, a prompt to add all fields inferred from your data resource.")])]),e._v(" "),o("p",[e._v("The page that follows looks like Figure 3 below. Each column from the GDP dataset has been mapped to a "),o("em",[e._v("field")]),e._v(". The data type for each column has been inferred correctly, and we can preview data under each field by hovering over the field name. It is also possible to edit all sections of our data resource’s fields as we can see below.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(480),alt:"all fields inferred from your data resource"}}),o("br"),e._v(" "),o("em",[e._v("Figure 3: all fields inferred from your data resource.")])]),e._v(" "),o("p",[e._v("You can now edit data types and formats as necessary, and optionally add titles and descriptive information to your fields. For example, the data type for our {Year} field should be "),o("em",[o("strong",[e._v("year")])]),e._v(" and not "),o("em",[o("strong",[e._v("integer")])]),e._v(". Our {Value} column has numeric information with decimal places.")]),e._v(" "),o("p",[e._v("By definition, values under the "),o("em",[o("strong",[e._v("integer")])]),e._v(" data type are whole numbers. The "),o("em",[o("strong",[e._v("number")])]),e._v(" data type is more appropriate for the {Value} column. When in doubt about what data type to use, consult the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#types-and-formats",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema data types cheat sheet"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Click on the "),o("img",{attrs:{src:t(481),alt:""}}),e._v(" icon to pick a suitable profile for your data resource. "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/profiles/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Here’s more information about Frictionless Data profiles"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If your dataset has other data resources, add them by scrolling to the bottom of the page, clicking on Add Resource, and repeating the same process as we just did.")]),e._v(" "),o("p",[e._v("If your dataset has other data resources, add them by scrolling to the bottom of the page, clicking on "),o("strong",[e._v("Add Resource")]),e._v(", and repeating the same process as we just did.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(482),alt:"Prompt to add more data resources"}}),o("br"),e._v(" "),o("em",[e._v("Figure 4: Prompt to add more data resources.")])]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"add-descriptive-metadata"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#add-descriptive-metadata"}},[e._v("#")]),e._v(" Add descriptive metadata")]),e._v(" "),o("p",[e._v("In the previous section, we described metadata for each of our datasets, but we’re still missing metadata for our collection of datasets. You can add it via the "),o("strong",[e._v("Metadata")]),e._v(" section on the left side bar, describing things like the dataset name, description, author, license, etc.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(483),alt:"Add Data Package Metadata"}})]),e._v(" "),o("p",[e._v("The "),o("strong",[e._v("Profile")]),e._v(" section under metadata allows us to specify what kind of data collection we are packaging.")]),e._v(" "),o("ul",[o("li",[o("p",[o("em",[e._v("Data Package")]),o("br"),e._v("\nThis is the base, more general profile. Use it if your dataset contains resources of mixed formats, like tabular and geographical data. The base requirement for a valid Data Package profile is the "),o("em",[e._v("datapackage.json")]),e._v(" file. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])]),e._v(" "),o("li",[o("p",[o("em",[e._v("Tabular Data Package")]),o("br"),e._v("\nIf your data contains only tabular resources like CSVs and spreadsheets, use the Tabular Data Package profile. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tabular Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])]),e._v(" "),o("li",[o("p",[o("em",[e._v("Fiscal Data Package")]),o("br"),e._v("\nIf your data contains fiscal information like budgets and expenditure data, use the Fiscal Data Package profile. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/fiscal-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fiscal Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])])]),e._v(" "),o("p",[e._v("In our example, as we only have a CSV data resource, the "),o("em",[e._v("Tabular Data Package")]),e._v(" profile is the best option.")]),e._v(" "),o("p",[e._v("In the "),o("strong",[e._v("Keywords")]),e._v(" section, you can add any keywords that helps make your data collection more discoverable. For our dataset, we might use the keywords "),o("em",[e._v("GDP, National Accounts, National GDP, Regional GDP")]),e._v(". Other datasets could include the country name, dataset area (e.g. “health” or “environmental”), etc.")]),e._v(" "),o("p",[e._v("Now that we have created a Data Package, we can "),o("strong",[e._v("Validate")]),e._v(" or "),o("strong",[e._v("Download")]),e._v(" it. But first, let’s see what our datapackage.json file looks like. With every addition and modification, the "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" has been populating the "),o("em",[e._v("datapackage.json")]),e._v(" file for us. Click on the "),o("strong",[e._v("{···}")]),e._v(" icon to view the "),o("em",[e._v("datapackage.json")]),e._v(" file. As you can see below, any edit we make to the description of the Value field reflects on the JSON file in real time.")]),e._v(" "),o("p",[e._v("The "),o("strong",[e._v("Validate")]),e._v(" button allows us to confirm whether we chose the correct Profile for our Data Package. The two possible outcomes at this stage are:")]),e._v(" "),o("p",[o("img",{attrs:{src:t(484),alt:"Data Package is Invalid"}})]),e._v(" "),o("p",[e._v("This message appears when there is some validation error like if we miss some required attribute (e.g. the data package name), or have picked an incorrect profile (e.g. Tabular Data Package with geographical data)… Review the metadata and profiles to find the mistake and try validating again.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(485),alt:"Data Package is Valid"}})]),e._v(" "),o("p",[e._v("All good! This message means that your data package is valid, and we can download it.")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"create-data-packages"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#create-data-packages"}},[e._v("#")]),e._v(" Create Data Packages")]),e._v(" "),o("p",[e._v("As we said earlier, the base requirement for a valid Data Package profile is the "),o("em",[e._v("datapackage.json")]),e._v(" file, which contains your data schema and metadata. We call this the descriptor file. You can download your descriptor file by clicking on the "),o("strong",[e._v("Download")]),e._v(" button.")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("If your data resources, like ours, were linked from an online public source, sharing the "),o("em",[e._v("datapackage.json")]),e._v(" file is sufficient, since it contains URLs to your data resources.")])]),e._v(" "),o("li",[o("p",[e._v("If you manually created a data resource and its fields, remember to add all your data resources and the downloaded "),o("em",[e._v("datapackage.json")]),e._v(" file in one folder before sharing it.")])])]),e._v(" "),o("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),o("ul",[o("li",[o("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),o("li",[o("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),o("p",[e._v("Your final Data Package file directory should look like this:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v("data/\n dataresource1.csv\n dataresource2.csv\ndatapackage.json\n")])])]),o("ul",[o("li",[o("p",[o("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there is only one: "),o("code",[e._v("data/gdp.csv")]),e._v(" .")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files.")])])]),e._v(" "),o("p",[e._v("Congratulations! You have now created a schema for your data, and combined it with descriptive metadata and your data collection to create your first data package!")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"validate-your-packaged-data-automatically"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-your-packaged-data-automatically"}},[e._v("#")]),e._v(" Validate your packaged data automatically")]),e._v(" "),o("p",[e._v("Running continuous checks on data provides regular feedback and contributes to better data quality as errors can be flagged and fixed early on.")]),e._v(" "),o("p",[e._v("In this section, you will learn how to setup automatic tabular data validation using goodtables, so your data is validated every time it’s updated. Although not strictly necessary, it’s useful to "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[e._v("know about Data Packages and Table Schema")]),e._v(" before proceeding, as they allow you to describe your data in more detail, allowing more advanced validations.")],1),e._v(" "),o("p",[e._v("We will show how to set up automated tabular data validations for data published on:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v(", an open source platform for publishing data in the open, that makes it easy to discover, use and share data;")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),o("OutboundLink")],1),e._v(", a web platform for collaborating on projects as well as publishing, sharing and storing resources, such as data files;")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Amazon S3"),o("OutboundLink")],1),e._v(", a data storage service by Amazon.")])]),e._v(" "),o("p",[e._v("Even if you don’t use any of these platforms, you can still setup the validation using "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-py"),o("OutboundLink")],1),e._v(", it will just require some technical knowledge")]),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-ckan"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-ckan"}},[e._v("#")]),e._v(" Validate tabular data automatically on CKAN")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v(" is an open source platform for publishing data online. It is widely used across the planet, including by the federal governments of the USA, United Kingdom, Brazil, and others.")]),e._v(" "),o("p",[e._v("To automatically validate tabular data on CKAN, enable the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension, which uses goodtables to run continuous checks on your data. The "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension:")]),e._v(" "),o("ul",[o("li",[e._v("Adds a badge next to each dataset showing the status of their validation (valid or invalid), and")]),e._v(" "),o("li",[e._v("allows users to access the validation report, making it possible for errors to be identified and fixed.")])]),e._v(" "),o("p",[o("img",{attrs:{src:t(486),alt:"annotated in red, automated validation checks on datasets in CKAN"}}),o("br"),e._v(" "),o("em",[e._v("Figure 8: annotated in red, automated validation checks on datasets in CKAN.")])]),e._v(" "),o("p",[e._v("The installation and usage instructions for "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension are available on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-github"}},[e._v("#")]),e._v(" Validate tabular data automatically on GitHub")]),e._v(" "),o("p",[e._v("If your data is hosted on GitHub, you can use "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://goodtables.io"),o("OutboundLink")],1),e._v(" to automatically validate it on every change.")]),e._v(" "),o("p",[e._v("For this section, you will first need to create a "),o("a",{attrs:{href:"https://help.github.com/articles/create-a-repo/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repository"),o("OutboundLink")],1),e._v(" and add tabular data to it.")]),e._v(" "),o("p",[e._v("Once you have tabular data in your Github repository:")]),e._v(" "),o("ol",[o("li",[e._v("Login on "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" using your GitHub account and accept the permissions confirmation.")]),e._v(" "),o("li",[e._v("Once we’ve synchronized your repository list, go to the "),o("a",{attrs:{href:"https://goodtables.io/settings",target:"_blank",rel:"noopener noreferrer"}},[e._v("Manage Sources"),o("OutboundLink")],1),e._v(" page and enable the repository with the data you want to validate.\n"),o("ul",[o("li",[e._v("If you can’t find the repository, try clicking on the Refresh button on the Manage Sources page")])])])]),e._v(" "),o("p",[e._v("Goodtables will then validate all tabular data files (CSV, XLS, XLSX, ODS) and "),o("RouterLink",{attrs:{to:"/data-package/"}},[e._v("data packages")]),e._v(" in the repository. These validations will be executed on every change, including pull requests.")],1),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-amazon-s3"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-amazon-s3"}},[e._v("#")]),e._v(" Validate tabular data automatically on Amazon S3")]),e._v(" "),o("p",[e._v("If your data is hosted on Amazon S3, you can use "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://goodtables.io"),o("OutboundLink")],1),e._v(" to automatically validate it on every change.")]),e._v(" "),o("p",[e._v("It is a technical process to set up, as you need to know how to configure your Amazon S3 bucket. However, once it’s configured, the validations happen automatically on any tabular data created or updated. Find the detailed instructions "),o("a",{attrs:{href:"https://docs.goodtables.io/getting_started/s3.html",title:"Validating data on Amazon S3",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"custom-setup-of-automatic-tabular-data-validation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#custom-setup-of-automatic-tabular-data-validation"}},[e._v("#")]),e._v(" Custom setup of automatic tabular data validation")]),e._v(" "),o("p",[e._v("If you don’t use any of the oficially supported data publishing platforms, you can use "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-py"),o("OutboundLink")],1),e._v(" directly to validate your data. This is the most flexible option, as you can configure exactly when, and how your tabular data is validated. For example, if your data come from an external source, you could validate it once before you process it (so you catch errors in the source data), and once after cleaning, just before you publish it, so you catch errors introduced by your data processing.")]),e._v(" "),o("p",[e._v("The instructions on how to do this are technical, and can be found on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables-py"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"publish-packaged-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data"}},[e._v("#")]),e._v(" Publish packaged data")]),e._v(" "),o("p",[e._v("Creating and Sharing Data Packages is important for both data publishers and data users because it provides a common and open specification to describe your dataset’s metadata. This facilitates data reuse, as users don’t need to understand each data publisher’s specific metadata format, and as the specification is machine-readable, it also allows tools to parse the metadata. This enables software to:")]),e._v(" "),o("ul",[o("li",[e._v("Import the data packages into different tools and languages, like Python and R")]),e._v(" "),o("li",[e._v("Validate the data contents according to the schema described in the data package")]),e._v(" "),o("li",[e._v("Convert the data package into other formats, for example loading it into a SQL database for further analysis")])]),e._v(" "),o("p",[e._v("Although these reasons are not unique to publishing data as data packages, here’s why we think data publishers should consider publishing in this format:")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("Archiving data collections using data packages ensure data publishers can update data more efficiently at any time. The associated schema is a guide on existing data fields and acceptable data types for individual tabular data resources and can be easily built upon.")])]),e._v(" "),o("li",[o("p",[e._v("Sharing data with descriptive metadata and its associated schema provides context for your data no matter where it is used, and significantly cuts down on time spent researching data provenance before using acquired data.")])]),e._v(" "),o("li",[o("p",[e._v("Data Packages allow for accountability and enrich the feedback process as data publishers can add metadata with contact information for users to reach out to them and licensing to spell out accepted use of published data.")])])]),e._v(" "),o("p",[e._v("If don’t need your own data portal, there are many platforms where you can publish your data (if you need your own, check "),o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v("). In the section below, we dive into a few options. Read along and decide what option is most suitable:")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-in-our-community-ckan-instance"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-in-our-community-ckan-instance"}},[e._v("#")]),e._v(" Publish packaged data in our community CKAN instance")]),e._v(" "),o("p",[e._v("CKAN is an open source platform for publishing data that makes it easy to discover, use and share data. "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is a public instance of CKAN that allows anyone to publish their data.")]),e._v(" "),o("p",[e._v("Here’s why you should consider creating an organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" and publishing datasets therein:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is free for all to use! The file upload size limit on the platform is currently 100mb.")]),e._v(" "),o("li",[e._v("The decision on whether to publicly or privately publish datasets rests with data publishers.")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" organizations allow for multiple users to collaborate with varied privileges:")]),e._v(" "),o("li",[o("strong",[e._v("Admin")]),e._v(": Can add/edit and delete datasets, as well as manage organization members.")]),e._v(" "),o("li",[o("strong",[e._v("Editor")]),e._v(": Can add and edit datasets, but not manage organization members.")]),e._v(" "),o("li",[o("strong",[e._v("Member")]),e._v(": Can view the organization’s private datasets, but not add new datasets.")])]),e._v(" "),o("p",[e._v("To publish data on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(":")]),e._v(" "),o("ol",[o("li",[o("p",[e._v("Request for a new Organization to be created on the platform for you via "),o("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[e._v("our community page"),o("OutboundLink")],1),e._v("."),o("br"),e._v("\nThis is required only to ensure spammers don’t take up space and hog resources on the platform.")]),e._v(" "),o("p",[e._v("The request format is simple and requires:")]),e._v(" "),o("ul",[o("li",[o("p",[o("strong",[e._v("Title")]),e._v(": This will be the name of your Organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" i.e."),o("br"),o("br"),e._v(" "),o("em",[e._v("My New Organization")])])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("Slug")]),e._v(": This is an acronym, word or hyphenated phrase that will be added to the end of the "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" url to uniquely identify your Organization and associate your data collections with it i.e."),o("br"),o("br"),e._v(" "),o("em",[e._v("my-new-organization")])])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("Username")]),e._v(": The username you provide is associated with an email address on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" and allows us to give you admin access to your Organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(".")])])])]),e._v(" "),o("li",[o("p",[e._v("Log In and add new datasets")])])]),e._v(" "),o("p",[e._v("Adding datasets on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is no different from using any other CKAN platform, but "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s a good guide by Dan Fowler"),o("OutboundLink")],1),e._v(" for first timers.")]),e._v(" "),o("p",[e._v("3.Publish and share public datasets widely.")]),e._v(" "),o("p",[e._v("On "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(", you can either publish datasets privately, meaning only members of your organization have access to them, or publicly, as open data. "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Find out more"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-on-datahub-io"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-datahub-io"}},[e._v("#")]),e._v(" Publish packaged data on "),o("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(" is a platform for finding, sharing and publishing high quality data online.")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" share the same name for historical reasons. "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datahub.ckan.io"),o("OutboundLink")],1),e._v(" used to be the DataHub, but was moved to its current address, and the current DataHub uses new software developed from scratch.")]),e._v(" "),o("ol",[o("li",[e._v("Set up a data publisher / user account on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("Join the "),o("a",{attrs:{href:"https://gitter.im/datahubio/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.io community group"),o("OutboundLink")],1),e._v(", introduce yourself and request for an account.")]),e._v(" "),o("ol",{attrs:{start:"2"}},[o("li",[e._v("Publish Datasets on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)])]),e._v(" "),o("p",[o("a",{attrs:{href:"http://datahub.io/docs/getting-started/publishing-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("This post"),o("OutboundLink")],1),e._v(" provides helpful information on publishing datasets on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-github"}},[e._v("#")]),e._v(" Publish packaged data on GitHub")]),e._v(" "),o("p",[e._v("GitHub is the largest repository of source code, with "),o("a",{attrs:{href:"https://github.com/blog/2345-celebrating-nine-years-of-github-with-an-anniversary-sale",target:"_blank",rel:"noopener noreferrer"}},[e._v("more than 20 million"),o("br"),e._v("\nusers"),o("OutboundLink")],1),e._v(". Although the focus is on hosting source code, any type of file can be hosted. Documents, thesis, images, shapefiles, you can even host an entire static website with "),o("a",{attrs:{href:"https://pages.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Pages"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("By using GitHub, you get all the advantages of using a version control system as Git, where every modification to your files is tracked. You also get an issue ticketing system, wiki pages, milestones tracking, and other useful"),o("br"),e._v("\ncollaboration tools.")]),e._v(" "),o("p",[e._v("** What types of datasets can be hosted on GitHub?**")]),e._v(" "),o("p",[e._v("Although GitHub offers many useful functionalities, not all datasets are a good fit for it. The main limitations are:")]),e._v(" "),o("ul",[o("li",[e._v("Individual files have less than 100 MB")]),e._v(" "),o("li",[e._v("Entire repository have less than 1 GB\n"),o("ul",[o("li",[e._v("The repository size includes not only the current files, but all of their previous versions.")])])])]),e._v(" "),o("p",[e._v("You can store larger files using "),o("a",{attrs:{href:"https://git-lfs.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git-lfs"),o("OutboundLink")],1),e._v(", but we won’t go in details about it in this section.")]),e._v(" "),o("p",[e._v("It’s also useful if your data files use text-based file formats like CSV or GeoJSON, as then git is able to show you exactly what changed between two versions of the files. However, even if you use binary file formats like XLS, GitHub is still useful.")]),e._v(" "),o("p",[e._v("** Step 1. Organise your dataset folder structure **")]),e._v(" "),o("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),o("ul",[o("li",[o("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),o("li",[o("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),o("p",[e._v("Even though we’ll see an example that has all of these different types of files, this isn’t always the case. For example, datasets that were manually collected might not have any scripts.")]),e._v(" "),o("p",[e._v("Consider this folder structure:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v("data/\n schools.csv\n cities.csv\ndocs/\n screenshot.png\nscripts/\n clean_data.py\nMakefile\ndatapackage.json\nREADME.md\n")])])]),o("ul",[o("li",[o("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there are two: "),o("code",[e._v("data/schools.csv")]),e._v(" and "),o("code",[e._v("data/cities.csv")]),e._v(".")]),e._v(" "),o("li",[o("strong",[e._v("docs/")]),e._v(": Images, sample analysis, and other documentation files regarding the dataset. The main documentation is in "),o("code",[e._v("README.md")]),e._v(", but in this folder you can add any images used in the README, and other writings about the dataset.")]),e._v(" "),o("li",[o("strong",[e._v("scripts/")]),e._v(": All scripts are contained in this folder. There could be scripts to scrape the data, join different files, clean them, etc. Depending on the programming language you use, you might also add requirements files like "),o("code",[e._v("requirements.txt")]),e._v(" for Python, or "),o("code",[e._v("package.json")]),e._v(" for NodeJS.")]),e._v(" "),o("li",[o("strong",[e._v("Makefile")]),e._v(": The scripts are only part of the puzzle, we also need to know how to run them. In which order they should be executed, which one should I run to update the data, and so on. You could document this information textually in the "),o("code",[e._v("README.md")]),e._v(" file, but the "),o("code",[e._v("Makefile")]),e._v(" allows you to have executable documentation. You can think of it as a script to run the scripts. If you have never written a Makefile, read "),o("a",{attrs:{href:"https://bost.ocks.org/mike/make/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Why Use Make"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("li",[o("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files. See "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[e._v("how to create a data package")]),e._v(" on instructions on writing this file.")],1),e._v(" "),o("li",[o("strong",[o("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),o("OutboundLink")],1)]),e._v(": This is where the dataset is described for humans. We recommend the following sections:\n"),o("ul",[o("li",[o("strong",[e._v("Introduction")]),e._v(": A short description of the dataset, what it contains, the time or geographical area it covers")]),e._v(" "),o("li",[o("strong",[e._v("Data")]),e._v(": What the data structure? Does it use any codes? How do you define missing values (e.g. ‘N/A’ or ‘-1’)")]),e._v(" "),o("li",[o("strong",[e._v("Preparation")]),e._v(": How was the data collected? How do I update the data? Was it modified in any way? If you have a "),o("code",[e._v("Makefile")]),e._v(", this section will mostly document how to run it. Otherwise you can describe how to run the scripts, or how to collect the data manually.")]),e._v(" "),o("li",[o("strong",[e._v("License")]),e._v(": There are two issues here: the license of the data itself, and the license of the package you are creating (including any scripts). Our recommendation is to license the package you created as "),o("a",{attrs:{href:"https://creativecommons.org/publicdomain/zero/1.0/",title:"Creative Commons Public Domain Dedication",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC0"),o("OutboundLink")],1),e._v(", and add any relevant information or disclaimers regarding the source data’s license.")])])])]),e._v(" "),o("p",[e._v("To summarize, these are the folders, files, and their respective contents in this structure:")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Path")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Contents")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[e._v("data/")]),e._v(" "),o("td",[e._v("Data")]),e._v(" "),o("td",[e._v("Dataset’s data files.")])]),e._v(" "),o("tr",[o("td",[e._v("docs/")]),e._v(" "),o("td",[e._v("Documentation")]),e._v(" "),o("td",[e._v("Images, analysis, and other documentation files.")])]),e._v(" "),o("tr",[o("td",[e._v("scripts/")]),e._v(" "),o("td",[e._v("Scripts")]),e._v(" "),o("td",[e._v("Scripts used for creating, modifying, or analysing the dataset.")])]),e._v(" "),o("tr",[o("td",[e._v("Makefile")]),e._v(" "),o("td",[e._v("Scripts")]),e._v(" "),o("td",[e._v("Executable documentation on how to run the scripts.")])]),e._v(" "),o("tr",[o("td",[e._v("datapackage.json")]),e._v(" "),o("td",[e._v("Metadata")]),e._v(" "),o("td",[e._v("Data Package descriptor file.")])]),e._v(" "),o("tr",[o("td",[o("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),o("OutboundLink")],1)]),e._v(" "),o("td",[e._v("Documentation")]),e._v(" "),o("td",[e._v("Textual description of the dataset with description, preparation steps, license, etc.")])])])]),e._v(" "),o("p",[e._v("** Step 2. Upload the dataset to GitHub **")]),e._v(" "),o("ol",[o("li",[e._v("Login (or create) a new account on GitHub")]),e._v(" "),o("li",[e._v("Create "),o("a",{attrs:{href:"https://github.com/new",title:"GitHub New Repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("a new repository"),o("OutboundLink")],1),e._v(" "),o("ul",[o("li",[e._v("Write a short description about the dataset")])])]),e._v(" "),o("li",[e._v("On your repository page, click on the “Upload files” link")]),e._v(" "),o("li",[e._v("Upload the files you created in the previous step\n"),o("ul",[o("li",[e._v("If your have files larger than 25 MB, you’ll need to either "),o("a",{attrs:{href:"https://help.github.com/articles/adding-a-file-to-a-repository-using-the-command-line/",title:"Adding a file to a repository using the command line",target:"_blank",rel:"noopener noreferrer"}},[e._v("upload using the command line"),o("OutboundLink")],1),e._v(", or the "),o("a",{attrs:{href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Desktop client"),o("OutboundLink")],1),e._v(".")])])])]),e._v(" "),o("p",[e._v("** (Optional) Step 3. Enable automatic tabular data validation **")]),e._v(" "),o("p",[e._v("You can automatically validate your tabular data files using "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(". This will take only a few minutes, and will ensure you’ll always know when there are errors with your dataset, maintaining its quality. "),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[e._v("Read the walkthrough here")]),e._v(".")]),e._v(" "),o("p",[e._v("The sample datasets used in this example, that is, List of schools in Birmingham, UK are available "),o("a",{attrs:{href:"https://github.com/vitorbaptista/birmingham_schools",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this repository"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"share-packaged-data-effectively"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#share-packaged-data-effectively"}},[e._v("#")]),e._v(" Share packaged data effectively")]),e._v(" "),o("p",[e._v("Publishing packaged data is not enough. To avoid hiding useful information in open archives online, it is necessary to engage communities that could be interested in your data. Community engagement should not be viewed as a one-off assignment, but rather, as a continuous effort to increase the impact of your data publishing work.")]),e._v(" "),o("p",[e._v("Some best practices:")]),e._v(" "),o("ol",[o("li",[o("p",[e._v("Publish quickly, update often."),o("br"),e._v("\nThe true value of published data lies in its use and reuse by open data communities. Publish data as soon as possible and update it regularly so users have access to the latest information.")])]),e._v(" "),o("li",[o("p",[e._v("Set up feedback loops."),o("br"),e._v("\nYour data publishing platform should aim to get community “buy in”, by encouraging participatory processes. Feedback loops are important because:")])])]),e._v(" "),o("ul",[o("li",[e._v("they allow data users to ask for clarifications and request for additional information about specific datasets, if need be.")]),e._v(" "),o("li",[e._v("they allow data publishers to understand what communities need and publish data driven by user demand, increasing the chance it’ll be used")]),e._v(" "),o("li",[e._v("they provide an avenue for data publishers to learn how their data is used, so they can gauge its impact.")])]),e._v(" "),o("p",[e._v("Examples of feedback loops that data publishers can set up include:")]),e._v(" "),o("ul",[o("li",[e._v("Adding a comments section in a data platform. Needless to say, the comments section should be monitored closely to ensure that responses are sent in time, and that discussions remain respectful and on topic.")]),e._v(" "),o("li",[e._v("A dedicated social platform channel, such as a Google Group or Facebook group, with a prominently placed link from the data platform for sharing updates, collating and responding to feedback.")]),e._v(" "),o("li",[e._v("An e-mail address where users can contact the people responsible for the datasets for clarifications, suggestions, or to report errors.")])]),e._v(" "),o("ol",{attrs:{start:"3"}},[o("li",[e._v("Meet open data communities in the places they already meet")])]),e._v(" "),o("p",[e._v("Communities thrive when there’s continued discourse over similar interests."),o("br"),e._v("\nData publishers should be active in existing networks, as supporters and collaborators in community data initiatives. Some of the ways this can be done, leveraging on Open Knowledge communities and others, include:")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("Kickstarting and joining discussions in online forums")])]),e._v(" "),o("li",[o("p",[e._v("Blogs"),o("br"),e._v("\nAs a data publisher, running a data blog is a great way to create awareness about the data you publish, and an avenue to highlight how data users are drawing insight from it. This encourages use and reuse of your data. If you don’t run a data blog, there are plenty of open data blogs that welcome external contributions i.e. "),o("a",{attrs:{href:"https://blog.okfn.org/submit/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s how"),o("OutboundLink")],1),e._v(" you can contribute guest posts on "),o("a",{attrs:{href:"http://blog.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog.okfn.org"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Open Knowledge Discuss"),o("br"),e._v("\nThe Open Knowledge discussion platform is a great place to invoke and contribute to conversation on specific subjects. "),o("a",{attrs:{href:"https://discuss.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dive in"),o("OutboundLink")],1),e._v("!")])]),e._v(" "),o("li",[o("p",[e._v("Gitter"),o("br"),e._v("\nGitter is a chat platform that’s well suited for more technical discussions around open data. If you are looking to engage technical data users, consider joining our "),o("a",{attrs:{href:"https://gitter.im/okfn/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation channel"),o("OutboundLink")],1),e._v(" or the "),o("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data project channel"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("In-person meetups"),o("br"),e._v("\nOrganizing and participating in meetups, hackathons and domain-specific conferences is a good way to engage with communities.")])]),e._v(" "),o("li",[o("p",[e._v("Community calls, webinars and podcasts")])])]),e._v(" "),o("p",[e._v("Finally, to maintain an active community of data users as a data publisher:")]),e._v(" "),o("ul",[o("li",[e._v("Keep your datasets updated and highlight changes that might be of interest to the community. For example, if the changes are relevant to a specific data request, reach out and let the user know.")]),e._v(" "),o("li",[e._v("Have a human representative play an active role in community activities. Bots can be fun and efficient, but they are limited and can get in the way of meaningful interactions.")]),e._v(" "),o("li",[e._v("Be flexible and transparent. Listen to your community needs and respond appropriately and in timely fashion i.e. consider publishing datasets that are in high demand first, or more regularly. Archive, rather than delete datasets, but if one must be deleted, issue a forewarning and explain why.")]),e._v(" "),o("li",[e._v("Set up a sharing system to regularly showcase notable data use cases by the the community i.e. fortnightly to inspire other community members.")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{478:function(e,a,t){e.exports=t.p+"assets/img/figure-1.0b5d5da2.png"},479:function(e,a,t){e.exports=t.p+"assets/img/figure-2.a4cda338.png"},480:function(e,a,t){e.exports=t.p+"assets/img/figure-3.e234c78e.png"},481:function(e,a){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAMKGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdYU8kWgOeWVBJaIBQpoTdRepVeIwhIFWyEJJBQYkgIKnZ0UcG1oGLBiq6KKLgWQBYVsWBhEez9YUFFWRcLNlTeJAF09Xvvfe9839z758yZM+ecO3dyBwC1GI5YnI2qA5AjypPEhgWyJiSnsEgPAQqIgAq8gDuHKxUHxMREAihD93/Ku+sAkd+v2Mt9/dz/X0WDx5dyAUBiIKfxpNwcyIcBwN24YkkeAIQeqDebnieGTIRRAi0JDBCyuZwzlOwh5zQlRyps4mODIKcCQKZxOJIMAFTlcbHyuRnQj+oyyA4inlAEuRGyL1fA4UH+DHlkTs40yGrWkK3TvvOT8Q+facM+OZyMYVbmohBysFAqzubM/D/L8b8lJ1s2NIcZbDSBJDxWnrO8blnTIuRMg3xOlBYVDVkT8lUhT2Ev5ycCWXjCoP0HrjQI1gwwAUBpPE5wBGQDyKai7KjIQb1vujCUDRnWHo0X5rHjlWNRnmRa7KB/dAZfGhI3xByJYi65TbEsKyFg0OcWAZ895LOhQBCfpIwTbc8XJkZBVoV8V5oVFzFo87xAEBQ1ZCORxcpjhs8cA+mS0FilDWaeIx3KC/MSCNlRgxyZJ4gPV47FpnA5ith0IWfypRMih+Lk8YNDlHlhhXxRwmD8WKk4LzB20H6nODtm0B5r5GeHyfWmkNuk+XFDY3vz4GJT5osDcV5MvDI2XCuTMzZGGQNuCyJBEAgGLCCDLQ1MA5lA2NZT1wN/KXtCAQdIQAbgA/tBzdCIJEWPCF7jQAH4CxIfSIfHBSp6+SAf6r8Ma5VXe5Cu6M1XjMgCTyDngAiQDX/LFKNEw7MlgsdQI/xpdi6MNRs2ed9POpbakI4YQgwmhhNDiTa4Pu6Le+OR8OoPmxPugXsOxfXNnvCE0EF4SLhG6CTcmioslPwQOQuMA50wxtDB7NK+zw63hF5d8UDcB/qHvnEmrg/scRc4UwDuB+d2hdrvY5UNZ/ytloO+KA4UlKJD8adY/xiBqq2q67AXeaW+r4UyrrThagUN9/yYR9B39ePBe8SPltgS7BDWgp3EzmONWB1gYSeweqwVOybn4bXxWLE2hmaLVcSTBf0If5qPMzinvGpShyqHbofPg30gjz8jT/6yBE0Tz5QIMwR5rAC4W/NZbBF31EiWk4Mj3EXle79ya3nDVOzpCPPCN11uEwCexVCZ8U3HgXvQ0ScAMN5905m9hst+JQDH2rkySb5Sh8svBPiPogbfFD1gBPcua5iRE3AD3sAfhICxIBrEg2QwBdZZANepBEwHs8ECUARKwEqwFmwEW8EOsAfsBwdBHWgEJ8FZcBG0g2vgDlwrXeAF6AXvQD+CICSEjjAQPcQYsUDsECfEA/FFQpBIJBZJRlKRDESEyJDZyEKkBClFNiLbkUrkd+QochI5j3Qgt5AHSDfyGvmEYigN1UINUUt0NOqBBqARaDw6Gc1Ac9ECdBG6HF2PVqD70Fr0JHoRvYZ2oi/QPgxgKhgTM8HsMQ8sCIvGUrB0TILNxYqxMqwCq8Ya4JO+gnViPdhHnIgzcBZuD9drOJ6Ac/FcfC6+DN+I78Fr8dP4FfwB3ot/JdAJBgQ7gheBTZhAyCBMJxQRygi7CEcIZ+C700V4RyQSmUQrojt895KJmcRZxGXEzcQaYhOxg/iI2EcikfRIdiQfUjSJQ8ojFZE2kPaRTpAuk7pIH8gqZGOyEzmUnEIWkQvJZeS95OPky+Sn5H6KOsWC4kWJpvAoMykrKDspDZRLlC5KP1WDakX1ocZTM6kLqOup1dQz1LvUNyoqKqYqnirjVYQq81XWqxxQOafyQOUjTZNmSwuiTaLJaMtpu2lNtFu0N3Q63ZLuT0+h59GX0yvpp+j36R9UGaqjVNmqPNV5quWqtaqXVV+qUdQs1ALUpqgVqJWpHVK7pNajTlG3VA9S56jPVS9XP6p+Q71Pg6HhqBGtkaOxTGOvxnmNZ5okTUvNEE2e5iLNHZqnNB8xMIYZI4jBZSxk7GScYXRpEbWstNhamVolWvu12rR6tTW1XbQTtWdol2sf0+5kYkxLJpuZzVzBPMi8zvykY6gToMPXWapTrXNZ573uCF1/Xb5usW6N7jXdT3osvRC9LL1VenV69/RxfVv98frT9bfon9HvGaE1wnsEd0TxiIMjbhugBrYGsQazDHYYtBr0GRoZhhmKDTcYnjLsMWIa+RtlGq0xOm7Ubcww9jUWGq8xPmH8nKXNCmBls9azTrN6TQxMwk1kJttN2kz6Ta1ME0wLTWtM75lRzTzM0s3WmDWb9Zobm48zn21eZX7bgmLhYSGwWGfRYvHe0soyyXKxZZ3lMytdK7ZVgVWV1V1rurWfda51hfVVG6KNh02WzWabdlvU1tVWYFtue8kOtXOzE9pttusYSRjpOVI0smLkDXuafYB9vn2V/YNRzFGRowpH1Y16Odp8dMroVaNbRn91cHXIdtjpcMdR03GsY6Fjg+NrJ1snrlO501VnunOo8zzneudXLnYufJctLjddGa7jXBe7Nrt+cXN3k7hVu3W7m7unum9yv+Gh5RHjsczjnCfBM9Bznmej50cvN688r4Nef3vbe2d57/V+NsZqDH/MzjGPfEx9OD7bfTp9Wb6pvtt8O/1M/Dh+FX4P/c38ef67/J8G2ARkBuwLeBnoECgJPBL4PsgraE5QUzAWHBZcHNwWohmSELIx5H6oaWhGaFVob5hr2KywpnBCeET4qvAbbEM2l13J7h3rPnbO2NMRtIi4iI0RDyNtIyWRDePQcWPHrR53N8oiShRVFw2i2dGro+/FWMXkxvwxnjg+Znz5+CexjrGzY1viGHFT4/bGvYsPjF8RfyfBOkGW0JyoljgpsTLxfVJwUmlS54TRE+ZMuJisnyxMrk8hpSSm7Erpmxgyce3Erkmuk4omXZ9sNXnG5PNT9KdkTzk2VW0qZ+qhVEJqUure1M+caE4Fpy+NnbYprZcbxF3HfcHz563hdfN9+KX8p+k+6aXpzzJ8MlZndAv8BGWCHmGQcKPwVWZ45tbM91nRWbuzBrKTsmtyyDmpOUdFmqIs0elpRtNmTOsQ24mLxJ25Xrlrc3slEZJdUkQ6WVqfpwU/sltl1rJfZA/yffPL8z9MT5x+aIbGDNGM1pm2M5fOfFoQWvDbLHwWd1bzbJPZC2Y/mBMwZ/tcZG7a3OZ5ZvMWzeuaHzZ/zwLqgqwFfxY6FJYWvl2YtLBhkeGi+Yse/RL2S1WRapGk6MZi78Vbl+BLhEvaljov3bD0azGv+EKJQ0lZyedl3GUXfnX8df2vA8vTl7etcFuxZSVxpWjl9VV+q/aUapQWlD5aPW517RrWmuI1b9dOXXu+zKVs6zrqOtm6zvWR6+s3mG9YueHzRsHGa+WB5TWbDDYt3fR+M2/z5S3+W6q3Gm4t2fppm3Dbze1h22srLCvKdhB35O94sjNxZ8tvHr9V7tLfVbLry27R7s49sXtOV7pXVu412LuiCq2SVXXvm7SvfX/w/vpq++rtNcyakgPggOzA899Tf79+MOJg8yGPQ9WHLQ5vOsI4UlyL1M6s7a0T1HXWJ9d3HB17tLnBu+HIH6P+2N1o0lh+TPvYiuPU44uOD5woONHXJG7qOZlx8lHz1OY7pyacunp6/Om2MxFnzp0NPXuqJaDlxDmfc43nvc4fveBxoe6i28XaVtfWI3+6/nmkza2t9pL7pfp2z/aGjjEdxy/7XT55JfjK2avsqxevRV3ruJ5w/eaNSTc6b/JuPruVfevV7fzb/Xfm3yXcLb6nfq/svsH9in/Z/Kum063z2IPgB60P4x7eecR99OKx9PHnrkVP6E/Knho/rXzm9KyxO7S7/fnE510vxC/6e4r+0vhr00vrl4f/9v+7tXdCb9cryauB18ve6L3Z/dblbXNfTN/9dznv+t8Xf9D7sOejx8eWT0mfnvZP/0z6vP6LzZeGrxFf7w7kDAyIORKO4lMAgw1NTwfg9W4A6Mnw26EdAOpE5dlMIYjyPKkg8J9YeX5TiBsAu/0BSJgPQCT8RtkCmwVkGrzLP8Hj/QHq7DzcBkWa7uyk9EWDJxbCh4GBN4YAkBoA+CIZGOjfPDDwZScM9hYATbnKM6Fc5GfQbTZyamslaIEf5N/H6HBu2pz2HQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAgJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjgwPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjgwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Ch8/WucAAAUSSURBVGgF7VhJKH1/FD/PHCKZNsgUNobMZEiZpywMG7KUjZIVGf5lSNmxk7VSFsqwQBGZFUkiY1LKsCDz+PO5dV/v3Xu/930v7/1//cqp17vf8z3nfM+594xf3fPz8yf9w2D1D+suqP5rwN/+gr9f4G9/ARtLKHBzc0NbW1tGopOSksjGxvzHmV/il9pzc3M0NDRkZICTkxNFR0cb4cyxsEgMrK6uynRbWFiQ4cyBMLsBl5eXdHJyItNtY2ODHh8fZfifIjQbsLe3R+/v78xz19bW6PNTXtxfXl4IeyxA3Kjts/g0xcDIyAgNDw+Tp6cn5efnU3p6OtnZ2ell39/f0+Lion4tfZiZmaHY2FhydHTUb93e3tLY2BhNT08TjKyoqKCioiL9vqkHHW8vJCpvKNDFxYVyc3MpNDRUCNylpSVBCUMa6bO9vT0hI6WmptLm5iZNTk7Slw5GZOXl5VRcXGyEYy24DFhZWaG+vj6WDIvgW1tbKSQkxKRsrhgICwszchWTUn9IABcNCgriksJlgKurK2VmZnIJNAdRQUEBWVtbc4niMgCSCgsLCf5racDLSktL4z6G2wAEbHZ2Nrfg7xLm5ORocldNaTQiIoJGR0dN6gYfDgwMFH4gPjo6ooODA7q+vjbJi3jTApoMmJ+fV5Xt4OBAtbW1FBMTI6P7+PgQUibqyNPTk2xfRKCP4sk+Ij23C6FILS8vi3yyfxSnpqYmReVBbGVlJdQM0BgWP6kg1JKHhwcpmrm2bmlp+Y+5+7UBYWjEBgcHCX0OC2pqaig8PJy1rce7ubkRvpS03RYJ0KZsb28LxQ20hlVbpDH8Vyxkb29vQpWE4qiWr6+vhjyyZz8/P+rq6pLhWQi4U0NDg+oLAa9Op6OAgACKi4sTMhMylBQUYwD9TH9/v5SWucYBWgDuFB8fT+Pj46psaAqRAPBjpVfuGFA7ycfHR21bcc/b21sRrxVpFgPgElrhOzxKZ5jFgNPTUyXZqrjz83PVfd5NRQMiIyOFvhzFCIFkCpD6tLxR0K6vr5sSS7a2tkIA19fXU3JysiK9YhYypLy6uhImJWQkpVFRpK2urqasrCxxqfo/OztLAwMDTBp0ohkZGUKgfyuNKkm+u7ujuro65sCC3N7W1ka+vr5K7Hrc4eEhdXd3M+djFLne3l5ydnbW86g9KLqQEgMEJiYmKm0JOLQH7e3twmioNBOjQCFtdnZ2MpWHIExrvMqD3qQLgUiE3d1d6ujoEJfMfy8vLwoODiZ/f39hwD8+Pqb9/X2uZq65uZm0NHSKhYylGQzggYuLC8JPbcBnyUGLocUAbhfCjQEGcEsDzsBNBS9wG4ArES2CeRWQ0iGWTLUYhjxcBiAAJyYmDPks+jw1NUW46OIBLgN4A5DnQB4auCtvvJmcB3Cgh4eHMJDs7OwYnY/cn5eXR2VlZULFRnugdu0IZuR5XGpVVVURGrqzszPZxVZpaSn3LYimNCrezkEJVF1cf2DYFwHFrqenh1CslAC9fWNjo9GQgrc9+1WZ4feYmaF8SUmJErsiTpMBkIBbOqQ5peEC+1CG1SZUVlYKYyXopIAvB1fVkkIhgysGDA9LSEhgKg86DCpowqSAplBt8MFFllblcYZmA6SKSddovqKioqRo4YrF3d1dhv8pwuwGQKGUlBSZXvgylgDNMcCjBC4FpG0EZgxW3PDIZNFYxADWYZbAW8SFLKEoS+avAaw383/h/wBEme+Is1WR0gAAAABJRU5ErkJggg=="},482:function(e,a,t){e.exports=t.p+"assets/img/figure-4.65dd4176.png"},483:function(e,a,t){e.exports=t.p+"assets/img/figure-5.a7c23193.png"},484:function(e,a,t){e.exports=t.p+"assets/img/figure-6.5520e95a.png"},485:function(e,a,t){e.exports=t.p+"assets/img/figure-7.866156c7.png"},486:function(e,a,t){e.exports=t.p+"assets/img/figure-8.3afbab68.png"},611:function(e,a,t){"use strict";t.r(a);var o=t(29),r=Object(o.a)({},(function(){var e=this,a=e.$createElement,o=e._self._c||a;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("h2",{attrs:{id:"include-a-data-schema"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#include-a-data-schema"}},[e._v("#")]),e._v(" Include a data schema")]),e._v(" "),o("p",[e._v("Simply put, a schema is a blueprint that tells us how your data is structured, and what type of content is to be expected in it. You can think of it as a data dictionary. Having a table schema at hand makes it possible to run more precise validation checks on your data, both at a structural and content level.")]),e._v(" "),o("p",[e._v("For this section, we will use the "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"http://datahub.io/core/gdp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gross Domestic Product dataset for all countries (1960 - 2014)"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("Data Package")]),e._v(" is a format that makes it possible to put your data collection and relevant information that provides context about your data in one container before you share it. All contextual information, such as metadata and your data schema, is published in a JSON file named "),o("em",[e._v("datapackage.json")]),e._v(".")]),e._v(" "),o("p",[o("strong",[e._v("Data Package Creator")]),e._v(" is an online service that facilitates the creation and editing of data packages. The service automatically generates a "),o("em",[e._v("datapackage.json")]),e._v(" file for you as you add and edit data that is part of your data collection. We refer to each piece of data in a data collection as a "),o("strong",[e._v("data resource")]),e._v(".")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" loads with dummy data to make it easy to understand how metadata and sample resources help generate the "),o("em",[e._v("datapackage.json")]),e._v(" file. There are three ways in which a user can add data resources on "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(":")]),e._v(" "),o("ol",[o("li",[e._v("Provide a hyperlink to your data resource (highly recommended).")])]),e._v(" "),o("p",[e._v("If your data resource is publicly available, like on GitHub or in a data repository, simply obtain the URL and paste it in the "),o("strong",[e._v("Path")]),e._v(" section. To learn how to publish your data resource online, check the publish your dataset section.")]),e._v(" "),o("ol",{attrs:{start:"2"}},[o("li",[e._v("Create your data resource within the service.")])]),e._v(" "),o("p",[e._v("If your data resource isn’t published online, you’ll have to define its fields from scratch. Depending on how complex is your data, this can be time consuming, but it’s still easier than creating the descriptor JSON file from scratch.This option is time consuming, as a user has to manually create each field of a data resource. However, this is simpler than learning how to create a JSON file from scratch.")]),e._v(" "),o("ol",{attrs:{start:"3"}},[o("li",[o("strong",[e._v("Load a Data Package")]),e._v(" option")])]),e._v(" "),o("p",[e._v("With this option, you can load a pre-existing "),o("em",[e._v("datapackage.json")]),e._v(" file to view and edit its metadata and resource fields.")]),e._v(" "),o("p",[e._v("Our "),o("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/blob/master/gross-domestic-product-all/data/gdp.csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gross Domestic Product dataset for all countries (1960 - 2014)"),o("OutboundLink")],1),e._v(" dataset is publicly available on GitHub.")]),e._v(" "),o("p",[e._v("Obtain a link to the raw CSV file by clicking on the Raw button at the top right corner of the GitHub file preview page, as shown in figure 1 below. The resulting hyperlink looks like "),o("a",{attrs:{href:"https://raw.githubusercontent.com/datasets/continent-codes/master/data/continent-codes.csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://raw.githubusercontent.com/datasets/continent-codes/master/data/continent-codes.csv"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("img",{attrs:{src:t(478),alt:"Above, raw button highlighted in red"}}),o("br"),e._v(" "),o("em",[e._v("Figure 1: Above, raw button highlighted in red.")])]),e._v(" "),o("p",[e._v("Paste your hyperlink in the "),o("em",[e._v("Path")]),e._v(" section and click on the "),o("em",[e._v("Load")]),e._v(" button. Each column in your table translates to a "),o("em",[e._v("field")]),e._v(". You should be prompted to add all fields identified in your data resource, as in Figure 2 below. Click on the prompt to load the fields.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(479),alt:"annotated in red, a prompt to add all fields inferred from your data resource"}}),o("br"),e._v(" "),o("em",[e._v("Figure 2: annotated in red, a prompt to add all fields inferred from your data resource.")])]),e._v(" "),o("p",[e._v("The page that follows looks like Figure 3 below. Each column from the GDP dataset has been mapped to a "),o("em",[e._v("field")]),e._v(". The data type for each column has been inferred correctly, and we can preview data under each field by hovering over the field name. It is also possible to edit all sections of our data resource’s fields as we can see below.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(480),alt:"all fields inferred from your data resource"}}),o("br"),e._v(" "),o("em",[e._v("Figure 3: all fields inferred from your data resource.")])]),e._v(" "),o("p",[e._v("You can now edit data types and formats as necessary, and optionally add titles and descriptive information to your fields. For example, the data type for our {Year} field should be "),o("em",[o("strong",[e._v("year")])]),e._v(" and not "),o("em",[o("strong",[e._v("integer")])]),e._v(". Our {Value} column has numeric information with decimal places.")]),e._v(" "),o("p",[e._v("By definition, values under the "),o("em",[o("strong",[e._v("integer")])]),e._v(" data type are whole numbers. The "),o("em",[o("strong",[e._v("number")])]),e._v(" data type is more appropriate for the {Value} column. When in doubt about what data type to use, consult the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#types-and-formats",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema data types cheat sheet"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("Click on the "),o("img",{attrs:{src:t(481),alt:""}}),e._v(" icon to pick a suitable profile for your data resource. "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/profiles/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Here’s more information about Frictionless Data profiles"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("If your dataset has other data resources, add them by scrolling to the bottom of the page, clicking on Add Resource, and repeating the same process as we just did.")]),e._v(" "),o("p",[e._v("If your dataset has other data resources, add them by scrolling to the bottom of the page, clicking on "),o("strong",[e._v("Add Resource")]),e._v(", and repeating the same process as we just did.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(482),alt:"Prompt to add more data resources"}}),o("br"),e._v(" "),o("em",[e._v("Figure 4: Prompt to add more data resources.")])]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"add-descriptive-metadata"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#add-descriptive-metadata"}},[e._v("#")]),e._v(" Add descriptive metadata")]),e._v(" "),o("p",[e._v("In the previous section, we described metadata for each of our datasets, but we’re still missing metadata for our collection of datasets. You can add it via the "),o("strong",[e._v("Metadata")]),e._v(" section on the left side bar, describing things like the dataset name, description, author, license, etc.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(483),alt:"Add Data Package Metadata"}})]),e._v(" "),o("p",[e._v("The "),o("strong",[e._v("Profile")]),e._v(" section under metadata allows us to specify what kind of data collection we are packaging.")]),e._v(" "),o("ul",[o("li",[o("p",[o("em",[e._v("Data Package")]),o("br"),e._v("\nThis is the base, more general profile. Use it if your dataset contains resources of mixed formats, like tabular and geographical data. The base requirement for a valid Data Package profile is the "),o("em",[e._v("datapackage.json")]),e._v(" file. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])]),e._v(" "),o("li",[o("p",[o("em",[e._v("Tabular Data Package")]),o("br"),e._v("\nIf your data contains only tabular resources like CSVs and spreadsheets, use the Tabular Data Package profile. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tabular Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])]),e._v(" "),o("li",[o("p",[o("em",[e._v("Fiscal Data Package")]),o("br"),e._v("\nIf your data contains fiscal information like budgets and expenditure data, use the Fiscal Data Package profile. See the "),o("a",{attrs:{href:"https://specs.frictionlessdata.io/fiscal-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fiscal Data Package specification"),o("OutboundLink")],1),e._v(" for more information.")])])]),e._v(" "),o("p",[e._v("In our example, as we only have a CSV data resource, the "),o("em",[e._v("Tabular Data Package")]),e._v(" profile is the best option.")]),e._v(" "),o("p",[e._v("In the "),o("strong",[e._v("Keywords")]),e._v(" section, you can add any keywords that helps make your data collection more discoverable. For our dataset, we might use the keywords "),o("em",[e._v("GDP, National Accounts, National GDP, Regional GDP")]),e._v(". Other datasets could include the country name, dataset area (e.g. “health” or “environmental”), etc.")]),e._v(" "),o("p",[e._v("Now that we have created a Data Package, we can "),o("strong",[e._v("Validate")]),e._v(" or "),o("strong",[e._v("Download")]),e._v(" it. But first, let’s see what our datapackage.json file looks like. With every addition and modification, the "),o("a",{attrs:{href:"https://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package Creator"),o("OutboundLink")],1),e._v(" has been populating the "),o("em",[e._v("datapackage.json")]),e._v(" file for us. Click on the "),o("strong",[e._v("{···}")]),e._v(" icon to view the "),o("em",[e._v("datapackage.json")]),e._v(" file. As you can see below, any edit we make to the description of the Value field reflects on the JSON file in real time.")]),e._v(" "),o("p",[e._v("The "),o("strong",[e._v("Validate")]),e._v(" button allows us to confirm whether we chose the correct Profile for our Data Package. The two possible outcomes at this stage are:")]),e._v(" "),o("p",[o("img",{attrs:{src:t(484),alt:"Data Package is Invalid"}})]),e._v(" "),o("p",[e._v("This message appears when there is some validation error like if we miss some required attribute (e.g. the data package name), or have picked an incorrect profile (e.g. Tabular Data Package with geographical data)… Review the metadata and profiles to find the mistake and try validating again.")]),e._v(" "),o("p",[o("img",{attrs:{src:t(485),alt:"Data Package is Valid"}})]),e._v(" "),o("p",[e._v("All good! This message means that your data package is valid, and we can download it.")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"create-data-packages"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#create-data-packages"}},[e._v("#")]),e._v(" Create Data Packages")]),e._v(" "),o("p",[e._v("As we said earlier, the base requirement for a valid Data Package profile is the "),o("em",[e._v("datapackage.json")]),e._v(" file, which contains your data schema and metadata. We call this the descriptor file. You can download your descriptor file by clicking on the "),o("strong",[e._v("Download")]),e._v(" button.")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("If your data resources, like ours, were linked from an online public source, sharing the "),o("em",[e._v("datapackage.json")]),e._v(" file is sufficient, since it contains URLs to your data resources.")])]),e._v(" "),o("li",[o("p",[e._v("If you manually created a data resource and its fields, remember to add all your data resources and the downloaded "),o("em",[e._v("datapackage.json")]),e._v(" file in one folder before sharing it.")])])]),e._v(" "),o("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),o("ul",[o("li",[o("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),o("li",[o("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),o("p",[e._v("Your final Data Package file directory should look like this:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v("data/\n dataresource1.csv\n dataresource2.csv\ndatapackage.json\n")])])]),o("ul",[o("li",[o("p",[o("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there is only one: "),o("code",[e._v("data/gdp.csv")]),e._v(" .")])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files.")])])]),e._v(" "),o("p",[e._v("Congratulations! You have now created a schema for your data, and combined it with descriptive metadata and your data collection to create your first data package!")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"validate-your-packaged-data-automatically"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-your-packaged-data-automatically"}},[e._v("#")]),e._v(" Validate your packaged data automatically")]),e._v(" "),o("p",[e._v("Running continuous checks on data provides regular feedback and contributes to better data quality as errors can be flagged and fixed early on.")]),e._v(" "),o("p",[e._v("In this section, you will learn how to setup automatic tabular data validation using goodtables, so your data is validated every time it’s updated. Although not strictly necessary, it’s useful to "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[e._v("know about Data Packages and Table Schema")]),e._v(" before proceeding, as they allow you to describe your data in more detail, allowing more advanced validations.")],1),e._v(" "),o("p",[e._v("We will show how to set up automated tabular data validations for data published on:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v(", an open source platform for publishing data in the open, that makes it easy to discover, use and share data;")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub"),o("OutboundLink")],1),e._v(", a web platform for collaborating on projects as well as publishing, sharing and storing resources, such as data files;")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://aws.amazon.com/s3/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Amazon S3"),o("OutboundLink")],1),e._v(", a data storage service by Amazon.")])]),e._v(" "),o("p",[e._v("Even if you don’t use any of these platforms, you can still setup the validation using "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-py"),o("OutboundLink")],1),e._v(", it will just require some technical knowledge")]),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-ckan"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-ckan"}},[e._v("#")]),e._v(" Validate tabular data automatically on CKAN")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v(" is an open source platform for publishing data online. It is widely used across the planet, including by the federal governments of the USA, United Kingdom, Brazil, and others.")]),e._v(" "),o("p",[e._v("To automatically validate tabular data on CKAN, enable the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension, which uses goodtables to run continuous checks on your data. The "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension:")]),e._v(" "),o("ul",[o("li",[e._v("Adds a badge next to each dataset showing the status of their validation (valid or invalid), and")]),e._v(" "),o("li",[e._v("allows users to access the validation report, making it possible for errors to be identified and fixed.")])]),e._v(" "),o("p",[o("img",{attrs:{src:t(486),alt:"annotated in red, automated validation checks on datasets in CKAN"}}),o("br"),e._v(" "),o("em",[e._v("Figure 8: annotated in red, automated validation checks on datasets in CKAN.")])]),e._v(" "),o("p",[e._v("The installation and usage instructions for "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("ckanext-validation"),o("OutboundLink")],1),e._v(" extension are available on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-validation",target:"_blank",rel:"noopener noreferrer"}},[e._v("Github"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-github"}},[e._v("#")]),e._v(" Validate tabular data automatically on GitHub")]),e._v(" "),o("p",[e._v("If your data is hosted on GitHub, you can use "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://goodtables.io"),o("OutboundLink")],1),e._v(" to automatically validate it on every change.")]),e._v(" "),o("p",[e._v("For this section, you will first need to create a "),o("a",{attrs:{href:"https://help.github.com/articles/create-a-repo/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub repository"),o("OutboundLink")],1),e._v(" and add tabular data to it.")]),e._v(" "),o("p",[e._v("Once you have tabular data in your Github repository:")]),e._v(" "),o("ol",[o("li",[e._v("Login on "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(" using your GitHub account and accept the permissions confirmation.")]),e._v(" "),o("li",[e._v("Once we’ve synchronized your repository list, go to the "),o("a",{attrs:{href:"https://goodtables.io/settings",target:"_blank",rel:"noopener noreferrer"}},[e._v("Manage Sources"),o("OutboundLink")],1),e._v(" page and enable the repository with the data you want to validate.\n"),o("ul",[o("li",[e._v("If you can’t find the repository, try clicking on the Refresh button on the Manage Sources page")])])])]),e._v(" "),o("p",[e._v("Goodtables will then validate all tabular data files (CSV, XLS, XLSX, ODS) and "),o("RouterLink",{attrs:{to:"/data-package/"}},[e._v("data packages")]),e._v(" in the repository. These validations will be executed on every change, including pull requests.")],1),e._v(" "),o("h3",{attrs:{id:"validate-tabular-data-automatically-on-amazon-s3"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#validate-tabular-data-automatically-on-amazon-s3"}},[e._v("#")]),e._v(" Validate tabular data automatically on Amazon S3")]),e._v(" "),o("p",[e._v("If your data is hosted on Amazon S3, you can use "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://goodtables.io"),o("OutboundLink")],1),e._v(" to automatically validate it on every change.")]),e._v(" "),o("p",[e._v("It is a technical process to set up, as you need to know how to configure your Amazon S3 bucket. However, once it’s configured, the validations happen automatically on any tabular data created or updated. Find the detailed instructions "),o("a",{attrs:{href:"https://docs.goodtables.io/getting_started/s3.html",title:"Validating data on Amazon S3",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"custom-setup-of-automatic-tabular-data-validation"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#custom-setup-of-automatic-tabular-data-validation"}},[e._v("#")]),e._v(" Custom setup of automatic tabular data validation")]),e._v(" "),o("p",[e._v("If you don’t use any of the oficially supported data publishing platforms, you can use "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-py"),o("OutboundLink")],1),e._v(" directly to validate your data. This is the most flexible option, as you can configure exactly when, and how your tabular data is validated. For example, if your data come from an external source, you could validate it once before you process it (so you catch errors in the source data), and once after cleaning, just before you publish it, so you catch errors introduced by your data processing.")]),e._v(" "),o("p",[e._v("The instructions on how to do this are technical, and can be found on "),o("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",title:"Goodtables.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/goodtables-py"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"publish-packaged-data"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data"}},[e._v("#")]),e._v(" Publish packaged data")]),e._v(" "),o("p",[e._v("Creating and Sharing Data Packages is important for both data publishers and data users because it provides a common and open specification to describe your dataset’s metadata. This facilitates data reuse, as users don’t need to understand each data publisher’s specific metadata format, and as the specification is machine-readable, it also allows tools to parse the metadata. This enables software to:")]),e._v(" "),o("ul",[o("li",[e._v("Import the data packages into different tools and languages, like Python and R")]),e._v(" "),o("li",[e._v("Validate the data contents according to the schema described in the data package")]),e._v(" "),o("li",[e._v("Convert the data package into other formats, for example loading it into a SQL database for further analysis")])]),e._v(" "),o("p",[e._v("Although these reasons are not unique to publishing data as data packages, here’s why we think data publishers should consider publishing in this format:")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("Archiving data collections using data packages ensure data publishers can update data more efficiently at any time. The associated schema is a guide on existing data fields and acceptable data types for individual tabular data resources and can be easily built upon.")])]),e._v(" "),o("li",[o("p",[e._v("Sharing data with descriptive metadata and its associated schema provides context for your data no matter where it is used, and significantly cuts down on time spent researching data provenance before using acquired data.")])]),e._v(" "),o("li",[o("p",[e._v("Data Packages allow for accountability and enrich the feedback process as data publishers can add metadata with contact information for users to reach out to them and licensing to spell out accepted use of published data.")])])]),e._v(" "),o("p",[e._v("If don’t need your own data portal, there are many platforms where you can publish your data (if you need your own, check "),o("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),o("OutboundLink")],1),e._v("). In the section below, we dive into a few options. Read along and decide what option is most suitable:")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-in-our-community-ckan-instance"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-in-our-community-ckan-instance"}},[e._v("#")]),e._v(" Publish packaged data in our community CKAN instance")]),e._v(" "),o("p",[e._v("CKAN is an open source platform for publishing data that makes it easy to discover, use and share data. "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is a public instance of CKAN that allows anyone to publish their data.")]),e._v(" "),o("p",[e._v("Here’s why you should consider creating an organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" and publishing datasets therein:")]),e._v(" "),o("ul",[o("li",[o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is free for all to use! The file upload size limit on the platform is currently 100mb.")]),e._v(" "),o("li",[e._v("The decision on whether to publicly or privately publish datasets rests with data publishers.")]),e._v(" "),o("li",[o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" organizations allow for multiple users to collaborate with varied privileges:")]),e._v(" "),o("li",[o("strong",[e._v("Admin")]),e._v(": Can add/edit and delete datasets, as well as manage organization members.")]),e._v(" "),o("li",[o("strong",[e._v("Editor")]),e._v(": Can add and edit datasets, but not manage organization members.")]),e._v(" "),o("li",[o("strong",[e._v("Member")]),e._v(": Can view the organization’s private datasets, but not add new datasets.")])]),e._v(" "),o("p",[e._v("To publish data on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(":")]),e._v(" "),o("ol",[o("li",[o("p",[e._v("Request for a new Organization to be created on the platform for you via "),o("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[e._v("our community page"),o("OutboundLink")],1),e._v("."),o("br"),e._v("\nThis is required only to ensure spammers don’t take up space and hog resources on the platform.")]),e._v(" "),o("p",[e._v("The request format is simple and requires:")]),e._v(" "),o("ul",[o("li",[o("p",[o("strong",[e._v("Title")]),e._v(": This will be the name of your Organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" i.e."),o("br"),o("br"),e._v(" "),o("em",[e._v("My New Organization")])])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("Slug")]),e._v(": This is an acronym, word or hyphenated phrase that will be added to the end of the "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" url to uniquely identify your Organization and associate your data collections with it i.e."),o("br"),o("br"),e._v(" "),o("em",[e._v("my-new-organization")])])]),e._v(" "),o("li",[o("p",[o("strong",[e._v("Username")]),e._v(": The username you provide is associated with an email address on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" and allows us to give you admin access to your Organization on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(".")])])])]),e._v(" "),o("li",[o("p",[e._v("Log In and add new datasets")])])]),e._v(" "),o("p",[e._v("Adding datasets on "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" is no different from using any other CKAN platform, but "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s a good guide by Dan Fowler"),o("OutboundLink")],1),e._v(" for first timers.")]),e._v(" "),o("p",[e._v("3.Publish and share public datasets widely.")]),e._v(" "),o("p",[e._v("On "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(", you can either publish datasets privately, meaning only members of your organization have access to them, or publicly, as open data. "),o("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Find out more"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-on-datahub-io"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-datahub-io"}},[e._v("#")]),e._v(" Publish packaged data on "),o("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)]),e._v(" "),o("p",[o("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(" is a platform for finding, sharing and publishing high quality data online.")]),e._v(" "),o("p",[o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),o("OutboundLink")],1),e._v(" share the same name for historical reasons. "),o("a",{attrs:{href:"https://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datahub.ckan.io"),o("OutboundLink")],1),e._v(" used to be the DataHub, but was moved to its current address, and the current DataHub uses new software developed from scratch.")]),e._v(" "),o("ol",[o("li",[e._v("Set up a data publisher / user account on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)])]),e._v(" "),o("p",[e._v("Join the "),o("a",{attrs:{href:"https://gitter.im/datahubio/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.io community group"),o("OutboundLink")],1),e._v(", introduce yourself and request for an account.")]),e._v(" "),o("ol",{attrs:{start:"2"}},[o("li",[e._v("Publish Datasets on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1)])]),e._v(" "),o("p",[o("a",{attrs:{href:"http://datahub.io/docs/getting-started/publishing-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("This post"),o("OutboundLink")],1),e._v(" provides helpful information on publishing datasets on "),o("a",{attrs:{href:"https://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("h3",{attrs:{id:"publish-packaged-data-on-github"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-github"}},[e._v("#")]),e._v(" Publish packaged data on GitHub")]),e._v(" "),o("p",[e._v("GitHub is the largest repository of source code, with "),o("a",{attrs:{href:"https://github.com/blog/2345-celebrating-nine-years-of-github-with-an-anniversary-sale",target:"_blank",rel:"noopener noreferrer"}},[e._v("more than 20 million"),o("br"),e._v("\nusers"),o("OutboundLink")],1),e._v(". Although the focus is on hosting source code, any type of file can be hosted. Documents, thesis, images, shapefiles, you can even host an entire static website with "),o("a",{attrs:{href:"https://pages.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Pages"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("By using GitHub, you get all the advantages of using a version control system as Git, where every modification to your files is tracked. You also get an issue ticketing system, wiki pages, milestones tracking, and other useful"),o("br"),e._v("\ncollaboration tools.")]),e._v(" "),o("p",[e._v("** What types of datasets can be hosted on GitHub?**")]),e._v(" "),o("p",[e._v("Although GitHub offers many useful functionalities, not all datasets are a good fit for it. The main limitations are:")]),e._v(" "),o("ul",[o("li",[e._v("Individual files have less than 100 MB")]),e._v(" "),o("li",[e._v("Entire repository have less than 1 GB\n"),o("ul",[o("li",[e._v("The repository size includes not only the current files, but all of their previous versions.")])])])]),e._v(" "),o("p",[e._v("You can store larger files using "),o("a",{attrs:{href:"https://git-lfs.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git-lfs"),o("OutboundLink")],1),e._v(", but we won’t go in details about it in this section.")]),e._v(" "),o("p",[e._v("It’s also useful if your data files use text-based file formats like CSV or GeoJSON, as then git is able to show you exactly what changed between two versions of the files. However, even if you use binary file formats like XLS, GitHub is still useful.")]),e._v(" "),o("p",[e._v("** Step 1. Organise your dataset folder structure **")]),e._v(" "),o("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),o("ul",[o("li",[o("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),o("li",[o("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),o("li",[o("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),o("p",[e._v("Even though we’ll see an example that has all of these different types of files, this isn’t always the case. For example, datasets that were manually collected might not have any scripts.")]),e._v(" "),o("p",[e._v("Consider this folder structure:")]),e._v(" "),o("div",{staticClass:"language- extra-class"},[o("pre",{pre:!0,attrs:{class:"language-text"}},[o("code",[e._v("data/\n schools.csv\n cities.csv\ndocs/\n screenshot.png\nscripts/\n clean_data.py\nMakefile\ndatapackage.json\nREADME.md\n")])])]),o("ul",[o("li",[o("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there are two: "),o("code",[e._v("data/schools.csv")]),e._v(" and "),o("code",[e._v("data/cities.csv")]),e._v(".")]),e._v(" "),o("li",[o("strong",[e._v("docs/")]),e._v(": Images, sample analysis, and other documentation files regarding the dataset. The main documentation is in "),o("code",[e._v("README.md")]),e._v(", but in this folder you can add any images used in the README, and other writings about the dataset.")]),e._v(" "),o("li",[o("strong",[e._v("scripts/")]),e._v(": All scripts are contained in this folder. There could be scripts to scrape the data, join different files, clean them, etc. Depending on the programming language you use, you might also add requirements files like "),o("code",[e._v("requirements.txt")]),e._v(" for Python, or "),o("code",[e._v("package.json")]),e._v(" for NodeJS.")]),e._v(" "),o("li",[o("strong",[e._v("Makefile")]),e._v(": The scripts are only part of the puzzle, we also need to know how to run them. In which order they should be executed, which one should I run to update the data, and so on. You could document this information textually in the "),o("code",[e._v("README.md")]),e._v(" file, but the "),o("code",[e._v("Makefile")]),e._v(" allows you to have executable documentation. You can think of it as a script to run the scripts. If you have never written a Makefile, read "),o("a",{attrs:{href:"https://bost.ocks.org/mike/make/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Why Use Make"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("li",[o("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files. See "),o("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/"}},[e._v("how to create a data package")]),e._v(" on instructions on writing this file.")],1),e._v(" "),o("li",[o("strong",[o("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),o("OutboundLink")],1)]),e._v(": This is where the dataset is described for humans. We recommend the following sections:\n"),o("ul",[o("li",[o("strong",[e._v("Introduction")]),e._v(": A short description of the dataset, what it contains, the time or geographical area it covers")]),e._v(" "),o("li",[o("strong",[e._v("Data")]),e._v(": What the data structure? Does it use any codes? How do you define missing values (e.g. ‘N/A’ or ‘-1’)")]),e._v(" "),o("li",[o("strong",[e._v("Preparation")]),e._v(": How was the data collected? How do I update the data? Was it modified in any way? If you have a "),o("code",[e._v("Makefile")]),e._v(", this section will mostly document how to run it. Otherwise you can describe how to run the scripts, or how to collect the data manually.")]),e._v(" "),o("li",[o("strong",[e._v("License")]),e._v(": There are two issues here: the license of the data itself, and the license of the package you are creating (including any scripts). Our recommendation is to license the package you created as "),o("a",{attrs:{href:"https://creativecommons.org/publicdomain/zero/1.0/",title:"Creative Commons Public Domain Dedication",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC0"),o("OutboundLink")],1),e._v(", and add any relevant information or disclaimers regarding the source data’s license.")])])])]),e._v(" "),o("p",[e._v("To summarize, these are the folders, files, and their respective contents in this structure:")]),e._v(" "),o("table",[o("thead",[o("tr",[o("th",[e._v("Path")]),e._v(" "),o("th",[e._v("Type")]),e._v(" "),o("th",[e._v("Contents")])])]),e._v(" "),o("tbody",[o("tr",[o("td",[e._v("data/")]),e._v(" "),o("td",[e._v("Data")]),e._v(" "),o("td",[e._v("Dataset’s data files.")])]),e._v(" "),o("tr",[o("td",[e._v("docs/")]),e._v(" "),o("td",[e._v("Documentation")]),e._v(" "),o("td",[e._v("Images, analysis, and other documentation files.")])]),e._v(" "),o("tr",[o("td",[e._v("scripts/")]),e._v(" "),o("td",[e._v("Scripts")]),e._v(" "),o("td",[e._v("Scripts used for creating, modifying, or analysing the dataset.")])]),e._v(" "),o("tr",[o("td",[e._v("Makefile")]),e._v(" "),o("td",[e._v("Scripts")]),e._v(" "),o("td",[e._v("Executable documentation on how to run the scripts.")])]),e._v(" "),o("tr",[o("td",[e._v("datapackage.json")]),e._v(" "),o("td",[e._v("Metadata")]),e._v(" "),o("td",[e._v("Data Package descriptor file.")])]),e._v(" "),o("tr",[o("td",[o("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),o("OutboundLink")],1)]),e._v(" "),o("td",[e._v("Documentation")]),e._v(" "),o("td",[e._v("Textual description of the dataset with description, preparation steps, license, etc.")])])])]),e._v(" "),o("p",[e._v("** Step 2. Upload the dataset to GitHub **")]),e._v(" "),o("ol",[o("li",[e._v("Login (or create) a new account on GitHub")]),e._v(" "),o("li",[e._v("Create "),o("a",{attrs:{href:"https://github.com/new",title:"GitHub New Repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("a new repository"),o("OutboundLink")],1),e._v(" "),o("ul",[o("li",[e._v("Write a short description about the dataset")])])]),e._v(" "),o("li",[e._v("On your repository page, click on the “Upload files” link")]),e._v(" "),o("li",[e._v("Upload the files you created in the previous step\n"),o("ul",[o("li",[e._v("If your have files larger than 25 MB, you’ll need to either "),o("a",{attrs:{href:"https://help.github.com/articles/adding-a-file-to-a-repository-using-the-command-line/",title:"Adding a file to a repository using the command line",target:"_blank",rel:"noopener noreferrer"}},[e._v("upload using the command line"),o("OutboundLink")],1),e._v(", or the "),o("a",{attrs:{href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Desktop client"),o("OutboundLink")],1),e._v(".")])])])]),e._v(" "),o("p",[e._v("** (Optional) Step 3. Enable automatic tabular data validation **")]),e._v(" "),o("p",[e._v("You can automatically validate your tabular data files using "),o("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),o("OutboundLink")],1),e._v(". This will take only a few minutes, and will ensure you’ll always know when there are errors with your dataset, maintaining its quality. "),o("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[e._v("Read the walkthrough here")]),e._v(".")]),e._v(" "),o("p",[e._v("The sample datasets used in this example, that is, List of schools in Birmingham, UK are available "),o("a",{attrs:{href:"https://github.com/vitorbaptista/birmingham_schools",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this repository"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("hr"),e._v(" "),o("h2",{attrs:{id:"share-packaged-data-effectively"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#share-packaged-data-effectively"}},[e._v("#")]),e._v(" Share packaged data effectively")]),e._v(" "),o("p",[e._v("Publishing packaged data is not enough. To avoid hiding useful information in open archives online, it is necessary to engage communities that could be interested in your data. Community engagement should not be viewed as a one-off assignment, but rather, as a continuous effort to increase the impact of your data publishing work.")]),e._v(" "),o("p",[e._v("Some best practices:")]),e._v(" "),o("ol",[o("li",[o("p",[e._v("Publish quickly, update often."),o("br"),e._v("\nThe true value of published data lies in its use and reuse by open data communities. Publish data as soon as possible and update it regularly so users have access to the latest information.")])]),e._v(" "),o("li",[o("p",[e._v("Set up feedback loops."),o("br"),e._v("\nYour data publishing platform should aim to get community “buy in”, by encouraging participatory processes. Feedback loops are important because:")])])]),e._v(" "),o("ul",[o("li",[e._v("they allow data users to ask for clarifications and request for additional information about specific datasets, if need be.")]),e._v(" "),o("li",[e._v("they allow data publishers to understand what communities need and publish data driven by user demand, increasing the chance it’ll be used")]),e._v(" "),o("li",[e._v("they provide an avenue for data publishers to learn how their data is used, so they can gauge its impact.")])]),e._v(" "),o("p",[e._v("Examples of feedback loops that data publishers can set up include:")]),e._v(" "),o("ul",[o("li",[e._v("Adding a comments section in a data platform. Needless to say, the comments section should be monitored closely to ensure that responses are sent in time, and that discussions remain respectful and on topic.")]),e._v(" "),o("li",[e._v("A dedicated social platform channel, such as a Google Group or Facebook group, with a prominently placed link from the data platform for sharing updates, collating and responding to feedback.")]),e._v(" "),o("li",[e._v("An e-mail address where users can contact the people responsible for the datasets for clarifications, suggestions, or to report errors.")])]),e._v(" "),o("ol",{attrs:{start:"3"}},[o("li",[e._v("Meet open data communities in the places they already meet")])]),e._v(" "),o("p",[e._v("Communities thrive when there’s continued discourse over similar interests."),o("br"),e._v("\nData publishers should be active in existing networks, as supporters and collaborators in community data initiatives. Some of the ways this can be done, leveraging on Open Knowledge communities and others, include:")]),e._v(" "),o("ul",[o("li",[o("p",[e._v("Kickstarting and joining discussions in online forums")])]),e._v(" "),o("li",[o("p",[e._v("Blogs"),o("br"),e._v("\nAs a data publisher, running a data blog is a great way to create awareness about the data you publish, and an avenue to highlight how data users are drawing insight from it. This encourages use and reuse of your data. If you don’t run a data blog, there are plenty of open data blogs that welcome external contributions i.e. "),o("a",{attrs:{href:"https://blog.okfn.org/submit/",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s how"),o("OutboundLink")],1),e._v(" you can contribute guest posts on "),o("a",{attrs:{href:"http://blog.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog.okfn.org"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("Open Knowledge Discuss"),o("br"),e._v("\nThe Open Knowledge discussion platform is a great place to invoke and contribute to conversation on specific subjects. "),o("a",{attrs:{href:"https://discuss.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dive in"),o("OutboundLink")],1),e._v("!")])]),e._v(" "),o("li",[o("p",[e._v("Gitter"),o("br"),e._v("\nGitter is a chat platform that’s well suited for more technical discussions around open data. If you are looking to engage technical data users, consider joining our "),o("a",{attrs:{href:"https://gitter.im/okfn/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Foundation channel"),o("OutboundLink")],1),e._v(" or the "),o("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data project channel"),o("OutboundLink")],1),e._v(".")])]),e._v(" "),o("li",[o("p",[e._v("In-person meetups"),o("br"),e._v("\nOrganizing and participating in meetups, hackathons and domain-specific conferences is a good way to engage with communities.")])]),e._v(" "),o("li",[o("p",[e._v("Community calls, webinars and podcasts")])])]),e._v(" "),o("p",[e._v("Finally, to maintain an active community of data users as a data publisher:")]),e._v(" "),o("ul",[o("li",[e._v("Keep your datasets updated and highlight changes that might be of interest to the community. For example, if the changes are relevant to a specific data request, reach out and let the user know.")]),e._v(" "),o("li",[e._v("Have a human representative play an active role in community activities. Bots can be fun and efficient, but they are limited and can get in the way of meaningful interactions.")]),e._v(" "),o("li",[e._v("Be flexible and transparent. Listen to your community needs and respond appropriately and in timely fashion i.e. consider publishing datasets that are in high demand first, or more regularly. Archive, rather than delete datasets, but if one must be deleted, issue a forewarning and explain why.")]),e._v(" "),o("li",[e._v("Set up a sharing system to regularly showcase notable data use cases by the the community i.e. fortnightly to inspire other community members.")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/50.db9ab2c9.js b/assets/js/50.e6f78c80.js similarity index 99% rename from assets/js/50.db9ab2c9.js rename to assets/js/50.e6f78c80.js index dab66fc3a..02d99882a 100644 --- a/assets/js/50.db9ab2c9.js +++ b/assets/js/50.e6f78c80.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{457:function(t,a,s){t.exports=s.p+"assets/img/gdp_map_example.c3bf2487.png"},595:function(t,a,s){"use strict";s.r(a);var n=s(29),e=Object(n.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("p",[t._v("Joining multiple datasets on a common value or set of values is a common data wrangling task. For instance, one might have a dataset listing Gross Domestic Product (GDP) per country and a separate dataset containing geographic outlines of country borders. If these independent datasets have a shared property (for instance, the three-letter country code as "),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3",target:"_blank",rel:"noopener noreferrer"}},[t._v("defined in ISO 3166-1"),n("OutboundLink")],1),t._v("),we should be able to create one consolidated dataset to generate a map of GDP per country. This guide will walk through this simple use case.")]),t._v(" "),n("h2",{attrs:{id:"example-data"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#example-data"}},[t._v("#")]),t._v(" Example Data")]),t._v(" "),n("p",[t._v("For this example, we are going to use two example Data Packages from our "),n("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/",target:"_blank",rel:"noopener noreferrer"}},[t._v("example data packages repository"),n("OutboundLink")],1),t._v(" with the properties described above. The first is an example of Data Package containing a GeoJSON file. "),n("a",{attrs:{href:"http://geojson.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GeoJSON"),n("OutboundLink")],1),t._v(" is a format for representing geographical features in "),n("a",{attrs:{href:"http://json.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("JSON"),n("OutboundLink")],1),t._v(". This particular GeoJSON file lists countries on its "),n("code",[t._v("features")]),t._v(" array and specifies the country code as a property on each “feature”. In this case, the country code is stored on the key “ISO_A3” of the feature’s "),n("code",[t._v("properties")]),t._v(" object.")]),t._v(" "),n("div",{staticClass:"language-json extra-class"},[n("pre",{pre:!0,attrs:{class:"language-json"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"FeatureCollection"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"features"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Feature"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"properties"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ADMIN"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Ukraine"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ISO_A3"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"UKR"')]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"geometry"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Polygon"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"coordinates"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"..."')]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("p",[t._v("The second Data Package is a typical "),n("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Package"),n("OutboundLink")],1),t._v(" containing a GDP measure for each country in the world for the year 2014. Country codes are stored, naturally, on the “Country Code” column.")]),t._v(" "),n("table",[n("thead",[n("tr",[n("th",[t._v("Country Name")]),t._v(" "),n("th",[t._v("Country Code")]),t._v(" "),n("th",[t._v("Year")]),t._v(" "),n("th",[t._v("Value")])])]),t._v(" "),n("tbody",[n("tr",[n("td",[t._v("Ukraine")]),t._v(" "),n("td",[t._v("UKR")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("131805126738.287")])]),t._v(" "),n("tr",[n("td",[t._v("United Arab Emirates")]),t._v(" "),n("td",[t._v("ARE")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("401646583173.427")])]),t._v(" "),n("tr",[n("td",[t._v("United Kingdom")]),t._v(" "),n("td",[t._v("GBR")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("2941885537461.48")])]),t._v(" "),n("tr",[n("td",[t._v("United States")]),t._v(" "),n("td",[t._v("USA")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("17419000000000")])]),t._v(" "),n("tr",[n("td",[t._v("Uruguay")]),t._v(" "),n("td",[t._v("URY")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("57471277325.1312")])])])]),t._v(" "),n("h2",{attrs:{id:"reading-and-joining-data"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#reading-and-joining-data"}},[t._v("#")]),t._v(" Reading and Joining Data")]),t._v(" "),n("p",[t._v("As in our "),n("RouterLink",{attrs:{to:"/blog/2016/08/29/using-data-packages-in-python/"}},[t._v("Using Data Packages in Python guide")]),t._v(", the first step before joining is to read the data for each Data Package onto our computer. We do this by importing the "),n("code",[t._v("datapackage")]),t._v(" library and passing the Data Package url to its "),n("code",[t._v("DataPackage")]),t._v(" method. We are also importing the standard Python "),n("code",[t._v("json")]),t._v(" library to read and write our GeoJSON file.")],1),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" json\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" datapackage\n\ncountries_url "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/geo-countries/datapackage.json'")]),t._v("\ngdp_url "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/gross-domestic-product-2014/datapackage.json'")]),t._v("\n\ncountries_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_url"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\ngdp_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("gdp_url"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nworld "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" json"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("loads"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'countries'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("raw_read"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decode"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'UTF-8'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n")])])]),n("p",[t._v("Learn more about creating data packages in Python "),n("RouterLink",{attrs:{to:"/blog/2016/07/21/creating-tabular-data-packages-in-python/"}},[t._v("in this tutorial")]),t._v(".")],1),t._v(" "),n("p",[t._v("Our GeoJSON data is stored as a "),n("code",[t._v("bytes")]),t._v(" object in the "),n("code",[t._v("data")]),t._v(" attribute of the first (and only) element of the Data Package "),n("code",[t._v("resources")]),t._v(" array. To create our "),n("code",[t._v("world")]),t._v(" GeoJSON dict, we first need to decode this "),n("code",[t._v("bytes")]),t._v(" object to a UTF-8 string and pass it to "),n("code",[t._v("json.loads")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[t._v("world "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" json"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("loads"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'countries'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("raw_read"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decode"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'UTF-8'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("At this point, joining the data can be accomplished by iterating through each country in the "),n("code",[t._v("world['features']")]),t._v(" array and adding a property “GDP (2014)” if “Country Code” on the "),n("code",[t._v("gdp_dp")]),t._v(" Data Package object matches “ISO_A3” on the given GeoJSON feature. The value of “GDP (2014)” is derived from the “Value” column on the "),n("code",[t._v("gdp_dp")]),t._v(" Data Package object.")]),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" feature "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" world"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'features'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n matches "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("gdp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Value'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" gdp "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" gdp_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resources"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" gdp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Country Code'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),t._v(" feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'ISO_A3'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" matches"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'GDP (2014)'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("float")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("matches"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'GDP (2014)'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n")])])]),n("p",[t._v("Finally, we can output our consolidated GeoJSON dataset into a new file called “world_gdp_2014.geojson” using "),n("code",[t._v("json.dump")]),t._v(" and create a new Data Package container for it. For a more thorough walkthrough on creating a Data Package, please consult the"),n("br"),t._v(" "),n("RouterLink",{attrs:{to:"/blog/2016/07/21/creating-tabular-data-packages-in-python/"}},[t._v("Creating Data Packages in Python")]),t._v(" guide.")],1),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[t._v("new_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'consolidated-dataset'")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'resources'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'world_gdp_2014.geojson'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("commit"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("save"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datapackage.zip'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("We can now quickly render this GeoJSON file into a "),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/Choropleth_map",target:"_blank",rel:"noopener noreferrer"}},[t._v("chloropleth map"),n("OutboundLink")],1),t._v(" using "),n("a",{attrs:{href:"http://qgis.org/en/site/",target:"_blank",rel:"noopener noreferrer"}},[t._v("QGIS"),n("OutboundLink")],1),t._v(":")]),t._v(" "),n("p",[n("img",{attrs:{src:s(457),alt:"GDP Map Example"}})]),t._v(" "),n("p",[t._v("Or we can rely on GitHub to render our GeoJSON for us. When you click a country, it’s property list will show up featuring “ADMIN”, “ISO_A3”, and the newly added “GDP (2014)” property.")])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[50],{464:function(t,a,s){t.exports=s.p+"assets/img/gdp_map_example.c3bf2487.png"},597:function(t,a,s){"use strict";s.r(a);var n=s(29),e=Object(n.a)({},(function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("p",[t._v("Joining multiple datasets on a common value or set of values is a common data wrangling task. For instance, one might have a dataset listing Gross Domestic Product (GDP) per country and a separate dataset containing geographic outlines of country borders. If these independent datasets have a shared property (for instance, the three-letter country code as "),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3",target:"_blank",rel:"noopener noreferrer"}},[t._v("defined in ISO 3166-1"),n("OutboundLink")],1),t._v("),we should be able to create one consolidated dataset to generate a map of GDP per country. This guide will walk through this simple use case.")]),t._v(" "),n("h2",{attrs:{id:"example-data"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#example-data"}},[t._v("#")]),t._v(" Example Data")]),t._v(" "),n("p",[t._v("For this example, we are going to use two example Data Packages from our "),n("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/",target:"_blank",rel:"noopener noreferrer"}},[t._v("example data packages repository"),n("OutboundLink")],1),t._v(" with the properties described above. The first is an example of Data Package containing a GeoJSON file. "),n("a",{attrs:{href:"http://geojson.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("GeoJSON"),n("OutboundLink")],1),t._v(" is a format for representing geographical features in "),n("a",{attrs:{href:"http://json.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("JSON"),n("OutboundLink")],1),t._v(". This particular GeoJSON file lists countries on its "),n("code",[t._v("features")]),t._v(" array and specifies the country code as a property on each “feature”. In this case, the country code is stored on the key “ISO_A3” of the feature’s "),n("code",[t._v("properties")]),t._v(" object.")]),t._v(" "),n("div",{staticClass:"language-json extra-class"},[n("pre",{pre:!0,attrs:{class:"language-json"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"FeatureCollection"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"features"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Feature"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"properties"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ADMIN"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Ukraine"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"ISO_A3"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"UKR"')]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"geometry"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"type"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Polygon"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token property"}},[t._v('"coordinates"')]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"..."')]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),n("p",[t._v("The second Data Package is a typical "),n("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Package"),n("OutboundLink")],1),t._v(" containing a GDP measure for each country in the world for the year 2014. Country codes are stored, naturally, on the “Country Code” column.")]),t._v(" "),n("table",[n("thead",[n("tr",[n("th",[t._v("Country Name")]),t._v(" "),n("th",[t._v("Country Code")]),t._v(" "),n("th",[t._v("Year")]),t._v(" "),n("th",[t._v("Value")])])]),t._v(" "),n("tbody",[n("tr",[n("td",[t._v("Ukraine")]),t._v(" "),n("td",[t._v("UKR")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("131805126738.287")])]),t._v(" "),n("tr",[n("td",[t._v("United Arab Emirates")]),t._v(" "),n("td",[t._v("ARE")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("401646583173.427")])]),t._v(" "),n("tr",[n("td",[t._v("United Kingdom")]),t._v(" "),n("td",[t._v("GBR")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("2941885537461.48")])]),t._v(" "),n("tr",[n("td",[t._v("United States")]),t._v(" "),n("td",[t._v("USA")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("17419000000000")])]),t._v(" "),n("tr",[n("td",[t._v("Uruguay")]),t._v(" "),n("td",[t._v("URY")]),t._v(" "),n("td",[t._v("2014")]),t._v(" "),n("td",[t._v("57471277325.1312")])])])]),t._v(" "),n("h2",{attrs:{id:"reading-and-joining-data"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#reading-and-joining-data"}},[t._v("#")]),t._v(" Reading and Joining Data")]),t._v(" "),n("p",[t._v("As in our "),n("RouterLink",{attrs:{to:"/blog/2016/08/29/using-data-packages-in-python/"}},[t._v("Using Data Packages in Python guide")]),t._v(", the first step before joining is to read the data for each Data Package onto our computer. We do this by importing the "),n("code",[t._v("datapackage")]),t._v(" library and passing the Data Package url to its "),n("code",[t._v("DataPackage")]),t._v(" method. We are also importing the standard Python "),n("code",[t._v("json")]),t._v(" library to read and write our GeoJSON file.")],1),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" json\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" datapackage\n\ncountries_url "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/geo-countries/datapackage.json'")]),t._v("\ngdp_url "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/gross-domestic-product-2014/datapackage.json'")]),t._v("\n\ncountries_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_url"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\ngdp_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("gdp_url"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\nworld "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" json"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("loads"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'countries'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("raw_read"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decode"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'UTF-8'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n")])])]),n("p",[t._v("Learn more about creating data packages in Python "),n("RouterLink",{attrs:{to:"/blog/2016/07/21/creating-tabular-data-packages-in-python/"}},[t._v("in this tutorial")]),t._v(".")],1),t._v(" "),n("p",[t._v("Our GeoJSON data is stored as a "),n("code",[t._v("bytes")]),t._v(" object in the "),n("code",[t._v("data")]),t._v(" attribute of the first (and only) element of the Data Package "),n("code",[t._v("resources")]),t._v(" array. To create our "),n("code",[t._v("world")]),t._v(" GeoJSON dict, we first need to decode this "),n("code",[t._v("bytes")]),t._v(" object to a UTF-8 string and pass it to "),n("code",[t._v("json.loads")]),t._v(".")]),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[t._v("world "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" json"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("loads"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("countries_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("get_resource"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'countries'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("raw_read"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("decode"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'UTF-8'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("At this point, joining the data can be accomplished by iterating through each country in the "),n("code",[t._v("world['features']")]),t._v(" array and adding a property “GDP (2014)” if “Country Code” on the "),n("code",[t._v("gdp_dp")]),t._v(" Data Package object matches “ISO_A3” on the given GeoJSON feature. The value of “GDP (2014)” is derived from the “Value” column on the "),n("code",[t._v("gdp_dp")]),t._v(" Data Package object.")]),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" feature "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" world"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'features'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n matches "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("gdp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Value'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("for")]),t._v(" gdp "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" gdp_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("resources"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("data "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" gdp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Country Code'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("==")]),t._v(" feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'ISO_A3'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" matches"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'GDP (2014)'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token builtin"}},[t._v("float")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("matches"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("else")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v("\n feature"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'properties'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'GDP (2014)'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),t._v("\n")])])]),n("p",[t._v("Finally, we can output our consolidated GeoJSON dataset into a new file called “world_gdp_2014.geojson” using "),n("code",[t._v("json.dump")]),t._v(" and create a new Data Package container for it. For a more thorough walkthrough on creating a Data Package, please consult the"),n("br"),t._v(" "),n("RouterLink",{attrs:{to:"/blog/2016/07/21/creating-tabular-data-packages-in-python/"}},[t._v("Creating Data Packages in Python")]),t._v(" guide.")],1),t._v(" "),n("div",{staticClass:"language-python extra-class"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[t._v("new_dp "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" datapackage"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Package"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'consolidated-dataset'")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("descriptor"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'resources'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'path'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'world_gdp_2014.geojson'")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("commit"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nnew_dp"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("save"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[t._v("'datapackage.zip'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),n("p",[t._v("We can now quickly render this GeoJSON file into a "),n("a",{attrs:{href:"https://en.wikipedia.org/wiki/Choropleth_map",target:"_blank",rel:"noopener noreferrer"}},[t._v("chloropleth map"),n("OutboundLink")],1),t._v(" using "),n("a",{attrs:{href:"http://qgis.org/en/site/",target:"_blank",rel:"noopener noreferrer"}},[t._v("QGIS"),n("OutboundLink")],1),t._v(":")]),t._v(" "),n("p",[n("img",{attrs:{src:s(464),alt:"GDP Map Example"}})]),t._v(" "),n("p",[t._v("Or we can rely on GitHub to render our GeoJSON for us. When you click a country, it’s property list will show up featuring “ADMIN”, “ISO_A3”, and the newly added “GDP (2014)” property.")])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/51.3114c7b9.js b/assets/js/51.532796be.js similarity index 97% rename from assets/js/51.3114c7b9.js rename to assets/js/51.532796be.js index 0f83a54ed..02493628e 100644 --- a/assets/js/51.3114c7b9.js +++ b/assets/js/51.532796be.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{491:function(e,a,t){e.exports=t.p+"assets/img/OR.8407f111.png"},619:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("This blog is part of a series showcasing projects developed during the 2019 Tool Fund."),r("br"),e._v(" "),r("br"),e._v("\nOriginally published at "),r("a",{attrs:{href:"https://blog.okfn.org/2020/01/15/frictionless-data-tool-fund-update-shelby-switzer-and-greg-bloom-open-referral/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2020/01/15/frictionless-data-tool-fund-update-shelby-switzer-and-greg-bloom-open-referral/"),r("OutboundLink")],1)]),e._v(" "),r("p",[r("em",[e._v("The 2019 Tool Fund provided four mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),r("p",[e._v("Open Referral creates standards for health, human, and social services data – the data found in community resource directories used to help find resources for people in need. In many organizations, this data lives in a multitude of formats, from handwritten notes to Excel files on a laptop to Microsoft SQL databases in the cloud. For community resource directories to be maximally useful to the public, this disparate data must be converted into an interoperable format. Many organizations have decided to use Open Referral’s Human Services Data Specification (HSDS) as that format. However, to accurately represent this data, HSDS uses multiple linked tables, which can be challenging to work with. To make this process easier, Greg Bloom and Shelby Switzer from Open Referral decided to implement datapackage bundling of their CSV files using the Frictionless Data Tool Fund.")]),e._v(" "),r("p",[e._v("In order to accurately represent the relationships between organizations, the services they provide, and the locations they are offered, Open Referral aims to use their Human Service Data Specification (HSDS) makes sense of disparate data by linking multiple CSV files together by foreign keys. Open Referral used Frictionless Data’s datapackage to specify the tables’ contents and relationships in a single machine-readable file, so that this standardized format could transport HSDS-compliant data in a way that all of the teams who work with this data can use: CSVs of linked data.")]),e._v(" "),r("p",[e._v("In the Tool Fund, Open Referral worked on their HSDS Transformer tool, which enables a group or person to transform data into an HSDS-compliant data package, so that it can then be combined with other data or used in any number of applications. The HSDS-Transformer is a Ruby library that can be used during the extract, transform, load (ETL) workflow of raw community resource data. This library extracts the community resource data, transforms that data into HSDS-compliant CSVs, and generates a datapackage.json that describes the data output. The Transformer can also output the datapackage as a zip file, called HSDS Zip, enabling systems to send and receive a single compressed file rather than multiple files. The Transformer can be spun up in a docker container — and once it’s live, the API can deliver a payload that includes links to the source data and to the configuration file that maps the source data to HSDS fields. The Transformer then grabs the source data and uses the configuration file to transform the data and return a zip file of the HSDS-compliant datapackage.")]),e._v(" "),r("p",[r("img",{attrs:{src:t(491),alt:"DemoApp"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("A demo app consuming the API generated from the HSDS Zip")])]),e._v(" "),r("p",[e._v("The Open Referral team has also been working on projects related to the HSDS Transformer and HSDS Zip. For example, the HSDS Validator checks that a given datapackage of community service data is HSDS-compliant. Additionally, they have used these tools in the field with a project in Miami. For this project, the HSDS Transformer was used to transform data from a Microsoft SQL Server into an HSDS Zip. Then that zipped datapackage was used to populate a Human Services Data API with a generated developer portal and OpenAPI Specification.")]),e._v(" "),r("p",[e._v("Further, as part of this work, the team also contributed to the original source code for the datapackage-rb Ruby gem. They added a new feature to infer a datapackage.json schema from a given set of CSVs, so that you can generate the json file automatically from your dataset.")]),e._v(" "),r("p",[e._v("Greg and Shelby are eager for the Open Referral community to use these new tools and provide feedback. To use these tools currently, users should either be a Ruby developer who can use the gem as part of another Ruby project, or be familiar enough with Docker and HTTP APIs to start a Docker container and make an HTTP request to it. You can use the HSDS Transformer as a Ruby gem in another project or as a standalone API. In the future, the project might expand to include hosting the HSDS Transformer as a cloud service that anyone can use to transform their data, eliminating many of these technical requirements.")]),e._v(" "),r("p",[e._v("Interested in using these new tools? Open Referral wants to hear your feedback. For example, would it be useful to develop an extract-transform-load API, hosted in the cloud, that enables recurring transformation of nonstandardized human service directory data source into an HSDS-compliant datapackage? You can reach them via their GitHub repos.")]),e._v(" "),r("p",[e._v("Further reading:")]),e._v(" "),r("p",[e._v("Repository: "),r("a",{attrs:{href:"https://github.com/openreferral/hsds-transformer",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/openreferral/hsds-transformer"),r("OutboundLink")],1),r("br"),e._v("\nHSDS Transformer: "),r("a",{attrs:{href:"https://openreferral.github.io/hsds-transformer/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://openreferral.github.io/hsds-transformer/"),r("OutboundLink")],1)])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[51],{489:function(e,a,t){e.exports=t.p+"assets/img/OR.8407f111.png"},618:function(e,a,t){"use strict";t.r(a);var r=t(29),o=Object(r.a)({},(function(){var e=this,a=e.$createElement,r=e._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("This blog is part of a series showcasing projects developed during the 2019 Tool Fund."),r("br"),e._v(" "),r("br"),e._v("\nOriginally published at "),r("a",{attrs:{href:"https://blog.okfn.org/2020/01/15/frictionless-data-tool-fund-update-shelby-switzer-and-greg-bloom-open-referral/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://blog.okfn.org/2020/01/15/frictionless-data-tool-fund-update-shelby-switzer-and-greg-bloom-open-referral/"),r("OutboundLink")],1)]),e._v(" "),r("p",[r("em",[e._v("The 2019 Tool Fund provided four mini-grants of $5,000 to support individuals or organisations in developing an open tool for reproducible research built using the Frictionless Data specifications and software. This Fund is part of the Frictionless Data for Reproducible Research project, which is funded by the Sloan Foundation. This project applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate reproducible data workflows in research contexts.")])]),e._v(" "),r("p",[e._v("Open Referral creates standards for health, human, and social services data – the data found in community resource directories used to help find resources for people in need. In many organizations, this data lives in a multitude of formats, from handwritten notes to Excel files on a laptop to Microsoft SQL databases in the cloud. For community resource directories to be maximally useful to the public, this disparate data must be converted into an interoperable format. Many organizations have decided to use Open Referral’s Human Services Data Specification (HSDS) as that format. However, to accurately represent this data, HSDS uses multiple linked tables, which can be challenging to work with. To make this process easier, Greg Bloom and Shelby Switzer from Open Referral decided to implement datapackage bundling of their CSV files using the Frictionless Data Tool Fund.")]),e._v(" "),r("p",[e._v("In order to accurately represent the relationships between organizations, the services they provide, and the locations they are offered, Open Referral aims to use their Human Service Data Specification (HSDS) makes sense of disparate data by linking multiple CSV files together by foreign keys. Open Referral used Frictionless Data’s datapackage to specify the tables’ contents and relationships in a single machine-readable file, so that this standardized format could transport HSDS-compliant data in a way that all of the teams who work with this data can use: CSVs of linked data.")]),e._v(" "),r("p",[e._v("In the Tool Fund, Open Referral worked on their HSDS Transformer tool, which enables a group or person to transform data into an HSDS-compliant data package, so that it can then be combined with other data or used in any number of applications. The HSDS-Transformer is a Ruby library that can be used during the extract, transform, load (ETL) workflow of raw community resource data. This library extracts the community resource data, transforms that data into HSDS-compliant CSVs, and generates a datapackage.json that describes the data output. The Transformer can also output the datapackage as a zip file, called HSDS Zip, enabling systems to send and receive a single compressed file rather than multiple files. The Transformer can be spun up in a docker container — and once it’s live, the API can deliver a payload that includes links to the source data and to the configuration file that maps the source data to HSDS fields. The Transformer then grabs the source data and uses the configuration file to transform the data and return a zip file of the HSDS-compliant datapackage.")]),e._v(" "),r("p",[r("img",{attrs:{src:t(489),alt:"DemoApp"}}),e._v(" "),r("br"),e._v(" "),r("em",[e._v("A demo app consuming the API generated from the HSDS Zip")])]),e._v(" "),r("p",[e._v("The Open Referral team has also been working on projects related to the HSDS Transformer and HSDS Zip. For example, the HSDS Validator checks that a given datapackage of community service data is HSDS-compliant. Additionally, they have used these tools in the field with a project in Miami. For this project, the HSDS Transformer was used to transform data from a Microsoft SQL Server into an HSDS Zip. Then that zipped datapackage was used to populate a Human Services Data API with a generated developer portal and OpenAPI Specification.")]),e._v(" "),r("p",[e._v("Further, as part of this work, the team also contributed to the original source code for the datapackage-rb Ruby gem. They added a new feature to infer a datapackage.json schema from a given set of CSVs, so that you can generate the json file automatically from your dataset.")]),e._v(" "),r("p",[e._v("Greg and Shelby are eager for the Open Referral community to use these new tools and provide feedback. To use these tools currently, users should either be a Ruby developer who can use the gem as part of another Ruby project, or be familiar enough with Docker and HTTP APIs to start a Docker container and make an HTTP request to it. You can use the HSDS Transformer as a Ruby gem in another project or as a standalone API. In the future, the project might expand to include hosting the HSDS Transformer as a cloud service that anyone can use to transform their data, eliminating many of these technical requirements.")]),e._v(" "),r("p",[e._v("Interested in using these new tools? Open Referral wants to hear your feedback. For example, would it be useful to develop an extract-transform-load API, hosted in the cloud, that enables recurring transformation of nonstandardized human service directory data source into an HSDS-compliant datapackage? You can reach them via their GitHub repos.")]),e._v(" "),r("p",[e._v("Further reading:")]),e._v(" "),r("p",[e._v("Repository: "),r("a",{attrs:{href:"https://github.com/openreferral/hsds-transformer",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/openreferral/hsds-transformer"),r("OutboundLink")],1),r("br"),e._v("\nHSDS Transformer: "),r("a",{attrs:{href:"https://openreferral.github.io/hsds-transformer/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://openreferral.github.io/hsds-transformer/"),r("OutboundLink")],1)])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/52.ef3ab42a.js b/assets/js/52.f8dc673f.js similarity index 99% rename from assets/js/52.ef3ab42a.js rename to assets/js/52.f8dc673f.js index 6029f00af..b9b12f80f 100644 --- a/assets/js/52.ef3ab42a.js +++ b/assets/js/52.f8dc673f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{502:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAADAFBMVEUAAAAAAAIEAwMAAAECAQICAgP+/f3///8BAAD//v4JCQn9/PwNDQ0LCwsHBwf8+/sAAAAEBAQGBQXy8vL7+vr4+Pj09PQSEhIPDw8fHx86Ojr29vYWFhYYGBfv7+/z8/MiISEuLi749/f6+fn19fUjIyO2trZAQEBDQ0Pg4OAQEBDOzs6wr68bGhtISEhbW1uhoaHa2to+Pj7x8fGkpKTo5+diYmJ4eHiamppYWFgxMTG0s7Ofn5/e3t4nJyfu7u43Nzc8PDwUFBTo6OhkZGQcHBwVFBSFhIWurq7R0dE0NDTS0tLJyMiOjY4pKSltbW2ysrLi4eF7e3tFRUWbm5uWlpYrKyt/f39lZWVLS0vKyspUVFSsrKy8vLzW1tbc3NyKiooZGRmTk5ODg4Ps7Oxvb2/CwsLFxcWmpqbs6OYmJiaIiIjExMR0dHSxsbHKycm5ublQUFB2dnbp6enV1dV5eXnk4+PY2NhWVla9vb1MTEwJBgWRkZEkJCRgX19ycnKPj499fX02NjapqaktLS1PT08ZEhGHh4ednZ3k5OTi4uLQ0NBdXV1oaGhRUVH///7Hx8dnZ2ft6+pSUlJsbGwLBwgPCQr+/PyZmZmGhobT09PAv7/BwcFeXl7Nzc0fGRjw7OspIyHy7+7m5uYwMDCMjIzn4eD7+fnr6+tqamqBgYFhYWGSi4nIwcCpoJ4qHxy+vr4zMzPLy8s4MC46MzLr5uP+/v0UCwpTSUeLhYP49vVrZGHSzMn29PM+OThzZWF0bWkkGxrAvLj18vGlm5dLREOJiYnb1tW5tLHOxMPGv7vk3twuKCizpqRXUU7BtbH6+PiEe3hdV1TY09BTQT1oYF42JSOtpaN+cnG4qqg3LSxIPzyxpJ5jXFuGgH7W0c2xqahsZmWak5FkVk/i2diDdXRqWFVOTk6Sh4Th3dze29p7d3SilpSMe3Pe09EwLCmRgHy/r66akIxKNzBlY1+UkI56b22EcW5FNjVdUVDQwLxZTEinkYdDNTW2nJSeiIfbbW6hAAAebklEQVR42u2dB1gU1/bAL8Pszs3Wb5eFFZCOQOggEqmCBFGU3gUBkWIsAUVFjYiKBevTGP0rWGLUPHuUxDG9t5f68pK89P6SvJL38nr9t3sXFnZhGWZny8zCnnz5Pl13Zu7+5t5zzzn33HMBZR8RN3dCAKKO+VEOLMBuT/I47wkA8D/W6ITFRoLrOxGuzuXTnbDYSFaODADo3x3khMVG2u/LRr0ruTTYCYuNuBVj3ZW5QuqExUbWFUgAIKN7nbDYCF23WQGApGCWExYrXKcyUe/SFmc5YbGSBVXISp16KcsJi41oImMIALIT3J2wWA3Gg9OQ2aXN8XUUWM28Pt4toRzZEdl53o4BSx3TwWsDguqXYSvVIXChhs5eH8drE6aXRqFWbG91AFhhcgCImAgxr7jyFiNc5YuEbtQDaf8BNbKnE8/y2ozdXVrUiAOFYmHDQv9vWI8sHm1FGq8NObt2CpoZDy8UvOmgiS0nAQhvusDri627E/lA8h1pAoeFe9c2hAtUr+F3MCaicBdxqVfosChlZDqipbivjU8tS/fvUKFGJO4WvAWvWboR6S4Yxq/dtWEHemfa5d4Ch4V610EvpDZk+3hVG5q27RDA7KW+AoeFpDcMObdTjq/gs02BDdgHkuU0Ch0WJb5+GOEiKmfw2rs2YQXqXyYWOCykZUNyUUvnnOR1MLotRctm5LkGpcBhUZT7mjBkSMhPdvA5M7r3TEXvLKAmWOCw0GBMCENhXyKUV4N6TxNeBwq4LnRYaDDOx3FMeROvhsSMCmSlkkl1QoeFeldfNMIli+FV1c9fj9z88EPtQoeF3bVc1FTJ6lqaz94Vg2w/9cuNgodFKSMOI1WvWLKGT1wHk1AbfBq8hQ4LScgO1FQiKYLPVraWIE3vudZN8LAocUg+GoyK3FYee5dygz/yWzu7/YQOC+FaE41wqbr28ml2Lb2Be1ehRuiwkCHRtw+pWdXlUzw21TsvAAVFMrdcEDosPIknooEQnsinzeN7DCd3eeZIBQ8L2V1h2JBY1c+jE9Qei4x6GDXTT+iwkCzYiAYjGbOQx2iAxxKcmBqQ4i14WBTV54UGo2pjAo+9a/ohCcYVIhY8LMp70QHUVKKkiEfd1dHET+oghywa8al4pLvU0Qv461103A60kK4qWCd4WBQlPbgev9rDITzqrtqNqIPLt2YJHhaShXhFFFbzGE0Vp6xCftjsrgvCh0XRtTF4FTt+Pp8+EF7Y8OnyEDwsJHtCUbwLVG3gMfDbHIAmZ3m9r/BhUcrCA3gWj+cxe1BTE41wlW/RCB4W1rMXES7FYR4HozgFuYxgWaRG+LAo+vYuhEu+Ko2/AI5fH8JFBMyVCh4WkrodaFkBNPHoYgceD0DqM2yuWPiwkCFRjZJfJJUp/JmpyqV4HWijbVtgrTz4/otqnIGzhj8ztbZ4NsIVasvFFattGqD7vZDukgS08RfKnLUf+UDy+xrFgoeF/dt9cmxIbOBPd627jF6YbOMCWviwKGrefuwzhrbwNzPOP4xXGQ/Po4UPi6LWFOA8x2j+fEZ6wUY0MSou1zkALBQ9CcNJx2EreFP14pYS9MLkBUXCh4VTShLxro2T/DlB0kXxOLN/7QXhw9JpDmRIEGEJvOkucZsXjt/sanQAWGhbL/YZ1SV9vJmpmshkvGzWECh8WEh8V6PtOGDbCd56l7Q7GQ1G/9RAB4CFNkzsRza1atXdvOHyTkB5vDBgrtIBYFHU7Zfw/pKNNYF84QoqxWnPGVbaNmLrPdJ1xeHo5d7o4613eZR54pU7q1gytt9Q3ogTHeF9NbzVNvLIw7gO9NMOAIuiV1TOwaq+nzczddZytFNWEWNxQMI+pQrSLiEzVZa5lDcztfESSqqX7L/dEWChyln3od5Fxp/gLYCTVYwsGdnqs44AC20wyUGGBIwO4W2Dye6VaGrWLpnlCLDQNuitGNe2Mt6s+j1rfQBYvGW6I8BCums5drEz2ngrY7cHbxuZVhroCLAQrsSpuOpfH19mKh0XPxvA/KXujgALzeNb/ZGqz+zmzZDYswq9rowUsSPAQiU4sVEN88v4qgWlWaklAIzfIHUEWDiPFpup5w7yZnb1JeNkz36HgIUDOBiX/1LeZsYTXipArp/nELAoqgjrLhjG22CUlmZDoAjdInUEWCih4w5k9oD0Ur56l3sK7t35YZcaHQAWRV0ojYJAFZbCl1Ufty8bV5Xxb3EEWOjt1qOyf6DkBG8NiMSF4cIT4uLchQ8LqfoyL+xi9/DVuwJrQhEutTpjvgPAQlsmtuD9S+eW86Xqg2fipRUg9/KKPu8tdFgoItE9DdWfSa/hy2c8DwYFpscJHhZaiCnGvSuAJ0NiLRiSDKXwYaHBULodJyyV8uFirx6GJZvhCLDQysIivFU1udX+LnavYpjWRXeHgIVmptR0CIhtc+2995LuHIYF5xRv2uMIsFBEYAsusZRs33I9hdXqIVY++I+eCQ4BC+FK3a47Q8V+W1VzyOF+BS7FHUJ/VeUoHQIW0l2xyGeEnqV2mhkjwg1YAXmhtBlld5ElHY4BC/WuhEz0erOX2sPu8k4GRqJGtVHw44mLvUKDJZ7/9RcmVe7STNRwr1TbO0G9YIRE48cvwbvNTiZ4CAmW76EjZLZpo1nTXYV0bXlDoL1hyXHEhr77Ii4Mlx0rFQws9yQRCWHlGDkI4tZ85AR1LrLt5svGbFOwkFyoxDVlKoIFAovOwbs7QfaDYw7S0nisu/Jsanc1LzOGFaYf+nR/ogSXkOhVCgFWr1Y3aRORDDptUSbSHvmVNTbk1b56tiGsRAM92VwNcSZxFv+wxJtdB2zmekarflGYrvvZMtty991bq4Zpbd80HGfWrMfvM7ptHd+wLiwedDAqmb+nbAnA2uOSTdPh0gzcQxg+XAJB2lrQSQIo33+WX1jnycGe9fHj4/XBNrx3fdkuW6l6aX9IprHiijf815587AK18AiLvnfboJsBVc+2PDUerlO4MoJNVrHF7fW55Ej7wcfYcNUl413iAxb9+M3Xrv35/R+HWghJ9dNXLngULYhj6DqaGmT4EJ3RNdbtXtO7vbRgtPiM+FpcAXaw7Qjpruff+etnnz/zzaMPL5bLFSpo1DrSZ6pcpfCPvI3BIlp7A+fy+qRYLyTUtzUcAsACFsq7RufI2A3Vu4/5S0Quri4ikQr9h4zREc2Dug/O3Ms4YkJOIt2lXmsdO8KjotM0KZOwKGqFvWA9fixKJHLBTMCYDcSiHa9wUf8+1LumLW+01JCYnrcxnKEdPvzFs8SvPKGAroCFZI+/lD4fH9ww+46FFgS86ppP+jC3gydY0lm1jz0sByzlCTY9plv3SxWrOW6QW1OpGrcdfMBS3nvtrSg5SUK2sB5+nVWwIuQy9iqjm+ebvbjRsTZewaIdPMB6972dIvagdGr+1yxvPQ/XpwZEpllljH3nGkTbBQVLWnTF3yxQOjnzAFtrbc8h/MPlu/qOsdsJ4BtyYA7rZtgXVlDk+lskaTYroLjK/hkVg9d4how/xbQezzanGfaERT/5lhq6uprPCjx9k/1TGoYIL2HWXb7F0wjzmmE/WD+5/8ocCLjJPjOec3FY1Y29hypoVk+m3Oxm2AuW9JV3zhCQK6xDZjwpb/ghs2NNFouXdpSlyzi0gkiyCyz6t+/LXQFXgaLHzHiW+1SDSz2LI0cmp17Iy+D0zubs69PYARZd9L6WBNzF9bnfsn9YcKlkuGfJ8bYJg8T26R3ed/hwacKUqtKxZlfrwrr5uzkktIAVlL9qhg8VYzBsFs5oQi9JFjsY70LpXlpPDi2ReM1kOIjFmrB8/3bakl6F4zRPs19UpfOg0SoD3VctAWT2IjQvpnV7cXllkpJNzP659WCJU94gSFdLULm6ijLZ58RfN7bF8XR46mQ4qoETeyicy3vadn7cwkjWgkW/+wsFJ7sKQrTMiuZOSIpIUvIh+yduNr5Ppy4vIpXba1KHLWez29xKsBofmyoyewi6AnjmnU+//PTKPx49CmH4o189+6UZa/XFxjcLD6Y0py55ckEVXtzLbvRbBZa0L50cJ6hnqk+RO3/9wmC/fPCjlNcNXy0tpYMCAxnH5Fzjl5OcVdbJafJbVcY6cc4asO5/QsZFn5IP/cxk16fT5tbHl5d0ZnsGVG3emtDia3qAiGtWxxs8VqLlotITY805K9dyWHTr0yIOHjPqV6+YDPemVEmMvyn7PtJ7rB59LJ37fKLOLNtj3k+1GJb0ipaTZUWqvzbl/HaYmvRh7pglF32zOZLyzEmz+05Wze8U3Gwr8lFTHkWa/xiBm1LTtDpWElye7dV0isuCh6WwPlC7cDPZd/7M1OJUwJjaZXTISppWES3nQEpbcILjDkcLYb1+hhMqCOXXTK2mJox9N6+R468wlwMpMLv6BPf8EgthfU1wgQXBkR9MrjwnMRhDhmVRlKe6wjmM/tnnCv0sWW+0DNYMf44+4Hc/NXm/UIZrYoe+1X48g0ufutxg6fmIFsHS/FXEDRbxx5+YDatsYAYIidgWzumZ5y3fEmQRrL+pOJo45NSPTOrYAwzXbEHBvkWVXMKeILupUg7k69fwCWsN50A7CY888boJ7VHAcE2Fb146FysluyoBGSm1JRKgunMvb7Aef8mC6BUU7bwyWoVUMVxxjov5CZPy9E/ZgMwSScw8nmBdlVgSEyWh6I2rtBk6i4Nm3FZqaHu6lZZDIF/S4cEHrF+Qlv6a8Gd+c5vNYKVvbh0ZeJk+Ey9JLysNsjusB05bDMsFhr//M6kNYMmT95k+PVbThWeIZane9oUlvqJiFxh1Ba6QYTQe+exJsVVhwdlJsbvHNhPiDuET4QKWauwJ60V2GotEQogM9Lo+mqMH6ErK/v6UFWHJxy26FrdZh6s7yG6wnmQXmCF3Pvefb9/8vXqI1SdhP8rVBA67D5sR6o+v/dxasGAZiwjc/CTUIDK3UGkfWJq3xh+Drq7EQ//41QtoPnrgIf1POX2TCiyqfTXmkcWqYVxQpP72NuvAgk3sfL8IXN0fZphZB5QbLHqTYlxYkPjlRzcHGNCP6j/7avD6oAc+eMnAa4G3fmUdWFVsNbd4Ad7NSGRuENsc1vOycReeIXz4/mErY3DEid40CEe99jShJ+4qytN99j1HE0S/Ca7cjCxTujkaBQ7JzR42hrUme9wkGUg+96fhC54dhHXLKGP0/s+GNg4c+ZNupSKey6JDdMLSKYN5QuZ5f8rrociQ8E9wtyWsm4/AcU0s8i//axBYeGwACnzEeEfT41+e0U2U0P9rmnJPqDbfSyZzz6dRNfrrUs3+Ke1daGZMThXbDBb97DjZxyS85y//bZTA9+dBWB+ODPnd9flLL730bfP97v1JAeZ75T5rTykpOnYw+1hdwcV26r9TgspwhmhsBOsLH5FeLd06auo3qP71R+NNXj95e8B2IP5kAj1NSxfsyjc/2KNOz9Ot+TUM2iWwnlvAiq5bpUZuJJuTG8yHdf8jeoVF7nz7O8KEZv/lqITju07r/un0XSbu55ZSYn6fUnt1pemmfelyfQsKOAf36L0IF8xNoa0O66fPDvEh/k/83/eMsq5E//zDqIvWaXW2+r9GNSdwZkyU+Tq9c+Ve/Z026VuTYVE5lrYqVKgxsdXasK6pRHpH5jsl9cWtUXGRb03spb9X17OIayPe6J7j5idyEJ0rW4ZHTLPeWPO3qCo+PlWpGpUQLmkRWxPWUw/rxwx8CBmSn94zYgiRn7xg4qp3j+hSNQ0x0nHF5eYHxLK7mg0Tber02+Z95lGWingDqrOiDo0TWw0W/digaQTJo/9GGuObkTbELVNrp9QruiW+8iH7T9xaH2Z2gIdc1tRi7J6c1efNSAopa0j3DfTjqsfO1DIT1qv6fBlIPIPu+eDOkS7ODz83Cesovmzn2w/qBpA4JVNtvqLKaB4ZJqAT9Y+tp6wj7t1oA408cY1VYP12mZ4V+RKa8oL+OGIyJP/H9P6IV3X9EaqPPvJi0LqVyzj5NAWj7lqvf3qS9QoO++Eir7L1pk/eNAvWb4YW60mssG77/T0uxmGGo0+avvC1QdUG1eHZco4+8uqRN03Rd08vqx7M51eKzGP1ZlMJpmAL+xiY9Bl94M7l6Ec4pvWQsYvoSr43RoGGe9/QfZFQEICzVIy45yK9k5PuS1lXxD2oJq+sYnTyFoDn8tieJXxVNhglgEdflOKONUJHu6reHOvS1/B0qLIAFQBLjO9Yq98RoK2lrC7BpSi26dM0sgonwLvZM4t7WcTM7v9ksCNB0YfYlfrizEhYR/8wVp/s/djiGOgdRndsLNfbXW2ULeRCPUrj8DlufBAvmH8Zz7/qxHGTwGc8TQLXgej5c1iNv/YcdBmZc3WXySt7N+WroXVhBel3V8AcW9Xz8atAq7qS1TOMFbzHJWwcameOnWOC2/P4jiHlfguPtgceHv37f2nCbpi1ZbMEWEMMYdFd+k8TbVjnzu04Kr8+O8fPeDZsvzsJef1zEnebekvrrmx+6e+/eeAioV+V2fkp/trnJnZTPDMScmDfxnBgJTGAJd6lVwC5ti3/mlUxBYLsUl9j0yEoYiN6fvjluStGTo53PU26QHj6Dag3D8gPMasXzgwFGYZ3C/zTqGeJTx3yB9YTA1jH9AGdZTY/3LsxB0VhtT1uxnYWHYmLVKHQo/F29qBPRANes94YFb33woCZqf+A2PkQ1mW4n6neuvbuB1evPoloBp+o30YAYBNY8/X7wtNvp2wu9O5KhCt+abCxUSqd34NrcUiKDe2Wm1qRcQDmUZ2NTj8xECyF6m9efP15Oe5cri4uUEQcEYlEsg/mre4kgZVlCFaWPp1GtpCyi3RcRN0o+Rg9woJXXvdC2tjnjqwh5SX9ygCWK7znu4Elm6d+xEnKJPnwVWSjiV88gowKBMtlYJ2ZPEoA64seVmC0PgAYS9lL6opl6NSb1JHujrQoB+EKXxXZOrij5eY3U4brXD305k8H/X3dSCBPD8QYlM+qdSaYCx6LhIqAwHawxPpd5GNW7LSJnNVVbhv9eXOJbq7Xn69CP/gfUqfIj9x6bygg9byu74je0SP+8oyCJF1cRaRaxZmUavvaHQxdsnSA1dChAAe8KXuKsns7NOVI02mpeCO2tqvguG5mvuuHz348ffTja/8eXjX9tW5wqt8e+uCB57/yF7moOWsqVUBOhIZyY1gMm6t7zt16nNG+lJ3FO3aMqINm4T5d90o/5aFbggx84Q9Gi0W/E41YgFB2LA8nuKJSZC6v042pNapxYLXo935lZ1H2lzFDNOLdSXhAqad6Fpg4QegZ3WT4r/8a6InudamZXBOXgSKsoU7vyS8EzLDW6Q03WTMlJFjIVNJP0UTPqH/7BbLfIfmE7s++BdFqrqTCo3sMN/yNA8tXX42crKEEBitySFVPGZlzqHxEF3z4gZJ69B3QcgQFww8ntBvPaMywpPowMlhOCQ2Wwfkqs7cabzm7iWPvUHI1olrGdfKbGtM9WkUzwIIh9Cb9s2LcBQcra3hqQlH86AOFw4tQeDkeKmb7cBx+ZFRiiMnJjAEW0Tt03osXXwc/McDqHgqtJPUdwBNdZ4U+6PW8CnCe+sC0/RvG2sLNAIus0Cv3qCxKcLB6huc3//PTW3WF9yUbQ9DaX9CpzxVczallq1cwjKGFbDJsr1OCg3XWqOpNaCM1KzUe4YOdFZcCiHs4aSqifOtC5tSegyxy1yIp4cFaMtozE9fu52wjAEXGpdpxo5pl46u7VEp4sIpG1BK8iDtbvW6NlUOvUmXm1bJZQmoY9077xQKElWLcRs8ITXMMx1i6LKxsD8sAwbiw7lRSAoS114hMUndBBrcYlWRjz272oZRL49wt15cSIizqmCEcE9sp2BT1m70+wbxfFzNOElsaJUxY4pAAy4qsaWMizc5B8GK85ZQVlEBh4dhzSxRXVJ6JbVxic4yw1G2UgGG51XDavk16Nm3guFuUCRbsogQLS5MSw2V9lMhffVDDuTVMsDZLBQpL2lfiz2H2U5/buteigAADLEkWJURYdETDOQ5esjrj5V5L11sYYGVQQoQlTuISIYbfd1hhmDDA8hQkrBSzWUmic7aTRNgiqS1hhQoS1lozY8OrYtH6tXthiVpdkuI22WAdMAOVdn2Nvrqu+EQSINNnKicXrCSW29f8s08WuhlqdGlblYT0KlvHvTHi5AkJ60b9jKDReWTK+UkyEHWM8ymqHgxG8AEhwhKXs9hr1DSW0SP2XSmBPndcsD6sO4UISzme3Z6/upWp69AtW6NA1PH+SQHLjynEp05ewqIE1dkcGSA2n5oEsNYxmOj1tewmO7po5mIgr2qlJzqswjEWoMK2FJnz27235gLVyUWNkw+WPHpmkdkLBUEzt0PoXxM0qWBpVyW0c7t3MDodAYZ2ayYurDbDWDKqRVVjybGL3im5aiK323uiwhLnZOtz3hffebfFGxiULYflsLOBXYneOrWDwULdIWQjAQjP/dfdrPIE+lRiODLr2XhB+4HDwUK9K3J1szVToDpelgDJ2vFnxsOOCMv64rZJCzwvx43zre+dsAaksXg7nNJ1O2OAMJoB1tbJBAvp+h4fKNnHFKdnKsw2c3LBQq5UTSYMTzxBc4j9TT5YaDUyJFqi2DFvDBcz2QnLWKQHQ1WKEtMVX8qdsEYZXq0xctWqSBNBsU4nLBO4egsUZPzdowajpxOWSUnriiLyG2YZM2Q66bJwEsOi6OmX/GF2vWFAQ8N0JvbeyQwLO6EN6dAnZ9gLCmbaBdQ1yWGhChmR28llW/QVcnyZ1koqJz0stD5Sc07ls2vgVL5Gpty5AicsJO41XoTPepzSPENuTvmsSQkL4YpNVE+5uEG8TmJG+azJCgsF0OYnatXVIUzbp5Y7YQ1bEo3HtQqmVPJNTlhGU2MX6bTgWUs70wGrCU5YxpqrhAFWjROWkexl2s2Y4oRlJC1MOmuDE5aRNDPNhi1OWEbSx5RDF+GEZSRtTCnkvU5YRpLClMfa4YRlJDVMCZp1TlhGksBU6WCPE5aR9DDVCWl3wjISphIYqk2+TliGsoVpNiSn7Wp3whqWl5lKuKXmQ//iNCcsvTCVwFjs51cTqp5yaKHYCUsnxUy1D7xxqYnoKYrq/kAnLCQrmYqF6BLE6f4YCZnfJnXCYjz5Pn8wqYsuWkuoVh3TTHpYhxhgJQ99i46rzAYBkcGTHFYqAywvg+/RWU0ydWep76SGFckAK8z4q7Xo/Lpp53vpyQtrFwOsqpFfPrvFk5St3E07YY2W6tFf96vphFP2dUidsEbKPlMX+L2cTMpDm5VOWKw2WCi7cwEZ3y11whpZzdKkBNesV5BhNYGTDJY70/nkTWNfR/eHSchz3UGTCtbtgGt6lrR2vUwV9XIjPXlg1TKFs8bJC6EPrpQBn67aSQOrfTFDoHTWeFejk7O1xJS1bhb1Lt9AR4GlZEiiUbHwbcTtIdOg532Nk6JnNTOthLFzBN3zAghZV4d44sMKsRwWqibRnQEUlRETHtZca8Ci8Dn2aqK6TTOxYfnFWwcWOgF2h0KVGyKdyLCoHVaChaRov4zImDtr4sJiKmKnNjvS17vfh/AvzZqwsAIYYE03/35Fq32gz/npkw+WgstvphsbfOCyO9PoCQhLWm5lWEguHMoH8qYI5YSDlUZYHxaaYzdth+qYefQEg7WAKT3LgiJCHt3J6NiDbnpCwQq2ESy8Sy8D7fcPcXPCYjd5RFQpyBt93pMDlsVVz8QrVqlVN3pmTRBYSoYaGBIrnHEvbbmsBv45wRMCVm+UbWEhw6tjpQ9Mb1o3AWAxle2xDizdSfbTwJwtaVIHh0Uzle2ReFjtOY1d4YBI2ks7NCxpun1gocGY4gVlJwtpB4almWYnWEgCY2/I1aFtfo7bs5jqssk9rP20g6FqVXmIu4PCopYywbJ+op/4YAaAuZvcHBNWn31hoRKEOVoIPct8HRFWrL1hobWg0nx074pGx4NVan9YCFfCDgiiVrILEDoKLG+bPVYZsk0F5IkR9ISBJfO24YM1/VVqoEgKETthsZKQGBlQh4231OgosGye2Tf/Pjk68zM22AmLnY/dIAcwuczbCYuVzNq1HYLcVD8HgLWcd1hI1/cgw8tzebDgYVUywXK3VyvcC9fLwOI71gkcVhjTedvu9msH3VEtA9qVuwUNK0AgsJBM36cG8v2j7FQnLNMhiYg8TyDffF0qUFiMwb/wILu3p32TPzqQ2SiDUDiwPKYKCxaq/ZwwDaq29fg6YbGMScRDkFzm54TFzpJoi1aD7XluDgVLw1/DIpLUwLMiywmL3dTYsXkOmLKyjnbCYiVFBTIgqRQOrGamMtRaJd/Na1/uCYUDKxoIGhYy648JB1a80GEJSMHT24QP6/8BW20xLZuYCSoAAAAASUVORK5CYII="},622:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("This blog post describes a Frictionless Data Pilot with the Public Utility Data Liberation project. Pilot projects are part of the "),o("a",{attrs:{href:"https://frictionlessdata.io/reproducible-research/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research project"),o("OutboundLink")],1),e._v(". Written by Zane Selvans, Christina Gosnell, and Lilly Winfree.")]),e._v(" "),o("p",[e._v("The Public Utility Data Liberation project, "),o("a",{attrs:{href:"https://catalyst.coop/pudl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PUDL"),o("OutboundLink")],1),e._v(", aims to make US energy data easier to access and use. Much of this data, including information about the cost of electricity, how much fuel is being burned, powerplant usage, and emissions, is not well documented or is in difficult to use formats. Last year, PUDL joined forces with the Frictionless Data for Reproducible Research team as a Pilot project to release this public utility data. PUDL takes the original spreadsheets, CSV files, and databases and turns them into unified Frictionless [tabular data packages("),o("a",{attrs:{href:"https://frictionlessdata.io/docs/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/docs/tabular-data-package/"),o("OutboundLink")],1),e._v(")] that can be used to populate a database, or read in directly with Python, R, Microsoft Access, and many other tools.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(502),alt:"Catalyst Logo"}})]),e._v(" "),o("h2",{attrs:{id:"what-is-pudl"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-is-pudl"}},[e._v("#")]),e._v(" What is PUDL?")]),e._v(" "),o("p",[e._v("The PUDL project, which is coordinated by "),o("a",{attrs:{href:"https://catalyst.coop/pudl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Catalyst Cooperative"),o("OutboundLink")],1),e._v(", is focused on creating an energy utility data product that can serve a wide range of users. PUDL was inspired to make this data more accessible because the current US utility data ecosystem fragmented, and commercial products are expensive. There are hundreds of gigabytes of information available from government agencies, but they are often difficult to work with, and different sources can be hard to combine.")]),e._v(" "),o("p",[e._v("PUDL users include researchers, activists, journalists, and policy makers. They have a wide range of technical backgrounds, from grassroots organizers who might only feel comfortable with spreadsheets, to PhDs with cloud computing resources, so it was important to provide data that would work for all users.")]),e._v(" "),o("p",[e._v("Before PUDL, much of this data was freely available to download from various sources, but it was typically messy and not well documented. This led to a lack of uniformity and reproducibility amongst projects that were using this data. The users were scraping the data together in their own way, making it hard to compare analyses or understand outcomes. Therefore, one of the goals for PUDL was to minimize these duplicated efforts, and enable the creation of lasting, cumulative outputs.")]),e._v(" "),o("h2",{attrs:{id:"what-were-the-main-pilot-goals"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-were-the-main-pilot-goals"}},[e._v("#")]),e._v(" What were the main Pilot goals?")]),e._v(" "),o("p",[e._v("The main focus of this Pilot was to create a way to openly share the utility data in a reproducible way that would be understandable to PUDL’s many potential users. The first change Catalyst identified they wanted to make during the Pilot was with their data storage medium. PUDL was previously creating a Postgresql database as the main data output. However many users, even those with technical experience, found setting up the separate database software a major hurdle that prevented them from accessing and using the processed data. They also desired a static, archivable, platform-independent format. Therefore, Catalyst decided to transition PUDL away from PostgreSQL, and instead try Frictionless Tabular Data Packages. They also wanted a way to share the processed data without needing to commit to long-term maintenance and curation, meaning they needed the outputs to continue being useful to users even if they only had minimal resources to dedicate to the maintenance and updates. The team decided to package their data into Tabular Data Packages and identified Zenodo as a good option for openly hosting that packaged data.")]),e._v(" "),o("p",[e._v("Catalyst also recognized that most users only want to download the outputs and use them directly, and did not care about reproducing the data processing pipeline themselves, but it was still important to provide the processing pipeline code publicly to support transparency and reproducibility. Therefore, in this Pilot, they focused on transitioning their existing ETL pipeline from outputting a PostgreSQL database, that was defined using SQLAlchemy, to outputting datapackages which could then be archived publicly on Zenodo. Importantly, they needed this pipeline to maintain the metadata, information about data type, and database structural information that had already been accumulated. This rich metadata needed to be stored alongside the data itself, so future users could understand where the data came from and understand its meaning. The Catalyst team used Tabular Data Packages to record and store this metadata (see the code here: "),o("a",{attrs:{href:"https://github.com/catalyst-cooperative/pudl/blob/master/src/pudl/load/metadata.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/catalyst-cooperative/pudl/blob/master/src/pudl/load/metadata.py"),o("OutboundLink")],1),e._v(").")]),e._v(" "),o("p",[e._v("Another complicating factor is that many of the PUDL datasets are fairly entangled with each other. The PUDL team ideally wanted users to be able to pick and choose which datasets they actually wanted to download and use without requiring them to download it all (currently about 100GB of data when uncompressed). However, they were worried that if single datasets were downloaded, the users might miss that some of the datasets were meant to be used together. So, the PUDL team created information, which they call “glue”, that shows which datasets are linked together and that should ideally be used in tandem.")]),e._v(" "),o("p",[e._v("The cumulation of this Pilot was a release of the PUDL data (access it here – "),o("a",{attrs:{href:"https://zenodo.org/record/3672068",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://zenodo.org/record/3672068"),o("OutboundLink")],1),e._v(" and read the corresponding documentation here – "),o("a",{attrs:{href:"https://catalystcoop-pudl.readthedocs.io/en/v0.3.2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://catalystcoop-pudl.readthedocs.io/en/v0.3.2/"),o("OutboundLink")],1),e._v("), which includes integrated data from the EIA Form 860, EIA Form 923, The EPA Continuous Emissions Monitoring System (CEMS), The EPA Integrated Planning Model (IPM), and FERC Form 1.")]),e._v(" "),o("h2",{attrs:{id:"what-problems-were-encountered-during-this-pilot"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-problems-were-encountered-during-this-pilot"}},[e._v("#")]),e._v(" What problems were encountered during this Pilot?")]),e._v(" "),o("p",[e._v("One issue that the group encountered during the Pilot was that the data types available in Postgres are substantially richer than those natively in the Tabular Data Package standard. However, this issue is an endemic problem of wanting to work with several different platforms, and so the team compromised and worked with the least common denominator. In the future, PUDL might store several different sets of data types for use in different contexts, for example, one for freezing the data out into data packages, one for SQLite, and one for Pandas.")]),e._v(" "),o("p",[e._v("Another problem encountered during the Pilot resulted from testing the limits of the draft Tabular Data Package specifications. There were aspects of the specifications that the Catalyst team assumed were fully implemented in the reference (Python) implementation of the Frictionless toolset, but were in fact still works in progress. This work led the Frictionless team to start a documentation improvement project, including a revision of the specifications website to incorporate this feedback.")]),e._v(" "),o("p",[e._v("Through the pilot, the teams worked to implement new Frictionless features, including the specification of composite primary keys and foreign key references that point to external data packages. Other new Frictionless functionality that was created with this Pilot included partitioning of large resources into resource groups in which all resources use identical table schemas, and adding gzip compression of resources. The Pilot also focused on implementing more complete validation through goodtables, including bytes/hash checks, foreign keys checks, and primary keys checks, though there is still more work to be done here.")]),e._v(" "),o("h2",{attrs:{id:"future-directions"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#future-directions"}},[e._v("#")]),e._v(" Future Directions")]),e._v(" "),o("p",[e._v("A common problem with using publicly available energy data is that the federal agencies creating the data do not use version control or maintain change logs for the data they publish, but they do frequently go back years after the fact to revise or alter previously published data — with no notification. To combat this problem, Catalyst is using data packages to encapsulate the raw inputs to the ETL process. They are setting up a process which will periodically check to see if the federal agencies’ posted data has been updated or changed, create an archive, and upload it to Zenodo. They will also store metadata in non-tabular data packages, indicating which information is stored in each file (year, state, month, etc.) so that there can be a uniform process of querying those raw input data packages. This will mean the raw inputs won’t have to be archived alongside every data release. Instead one can simply refer to these other versioned archives of the inputs. Catalyst hopes these version controlled raw archives will also be useful to other researchers.")]),e._v(" "),o("p",[e._v("Another next step for Catalyst will be to make the ETL and new dataset integration more modular to hopefully make it easier for others to integrate new datasets. For instance, they are planning on integrating the EIA 861 and the ISO/RTO LMP data next. Other future plans include simplifying metadata storage, using Docker to containerize the ETL process for better reproducibility, and setting up a "),o("a",{attrs:{href:"https://pangeo.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pangeo"),o("OutboundLink")],1),e._v(" instance for live interactive data access without requiring anyone to download any data at all. The team would also like to build visualizations that sit on top of the database, making an interactive, regularly updated map of US coal plants and their operating costs, compared to new renewable energy in the same area. They would also like to visualize power plant operational attributes from EPA CEMS (e.g., ramp rates, min/max operating loads, relationship between load factor and heat rate, marginal additional fuel required for a startup event…).")]),e._v(" "),o("p",[e._v("Have you used PUDL? The team would love to hear feedback from users of the published data so that they can understand how to improve it, based on real user experiences. If you are integrating other US energy/electricity data of interest, please talk to the PUDL team about whether they might want to integrate it into PUDL to help ensure that it’s all more standardized and can be maintained long term. Also let them know what other datasets you would find useful (E.g. FERC EQR, FERC 714, PHMSA Pipelines, MSHA mines…). If you have questions, please ask them on GitHub ("),o("a",{attrs:{href:"https://github.com/catalyst-cooperative/pudl",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/catalyst-cooperative/pudl"),o("OutboundLink")],1),e._v(") so that the answers will be public for others to find as well.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{502:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAMAAABOo35HAAADAFBMVEUAAAAAAAIEAwMAAAECAQICAgP+/f3///8BAAD//v4JCQn9/PwNDQ0LCwsHBwf8+/sAAAAEBAQGBQXy8vL7+vr4+Pj09PQSEhIPDw8fHx86Ojr29vYWFhYYGBfv7+/z8/MiISEuLi749/f6+fn19fUjIyO2trZAQEBDQ0Pg4OAQEBDOzs6wr68bGhtISEhbW1uhoaHa2to+Pj7x8fGkpKTo5+diYmJ4eHiamppYWFgxMTG0s7Ofn5/e3t4nJyfu7u43Nzc8PDwUFBTo6OhkZGQcHBwVFBSFhIWurq7R0dE0NDTS0tLJyMiOjY4pKSltbW2ysrLi4eF7e3tFRUWbm5uWlpYrKyt/f39lZWVLS0vKyspUVFSsrKy8vLzW1tbc3NyKiooZGRmTk5ODg4Ps7Oxvb2/CwsLFxcWmpqbs6OYmJiaIiIjExMR0dHSxsbHKycm5ublQUFB2dnbp6enV1dV5eXnk4+PY2NhWVla9vb1MTEwJBgWRkZEkJCRgX19ycnKPj499fX02NjapqaktLS1PT08ZEhGHh4ednZ3k5OTi4uLQ0NBdXV1oaGhRUVH///7Hx8dnZ2ft6+pSUlJsbGwLBwgPCQr+/PyZmZmGhobT09PAv7/BwcFeXl7Nzc0fGRjw7OspIyHy7+7m5uYwMDCMjIzn4eD7+fnr6+tqamqBgYFhYWGSi4nIwcCpoJ4qHxy+vr4zMzPLy8s4MC46MzLr5uP+/v0UCwpTSUeLhYP49vVrZGHSzMn29PM+OThzZWF0bWkkGxrAvLj18vGlm5dLREOJiYnb1tW5tLHOxMPGv7vk3twuKCizpqRXUU7BtbH6+PiEe3hdV1TY09BTQT1oYF42JSOtpaN+cnG4qqg3LSxIPzyxpJ5jXFuGgH7W0c2xqahsZmWak5FkVk/i2diDdXRqWFVOTk6Sh4Th3dze29p7d3SilpSMe3Pe09EwLCmRgHy/r66akIxKNzBlY1+UkI56b22EcW5FNjVdUVDQwLxZTEinkYdDNTW2nJSeiIfbbW6hAAAebklEQVR42u2dB1gU1/bAL8Pszs3Wb5eFFZCOQOggEqmCBFGU3gUBkWIsAUVFjYiKBevTGP0rWGLUPHuUxDG9t5f68pK89P6SvJL38nr9t3sXFnZhGWZny8zCnnz5Pl13Zu7+5t5zzzn33HMBZR8RN3dCAKKO+VEOLMBuT/I47wkA8D/W6ITFRoLrOxGuzuXTnbDYSFaODADo3x3khMVG2u/LRr0ruTTYCYuNuBVj3ZW5QuqExUbWFUgAIKN7nbDYCF23WQGApGCWExYrXKcyUe/SFmc5YbGSBVXISp16KcsJi41oImMIALIT3J2wWA3Gg9OQ2aXN8XUUWM28Pt4toRzZEdl53o4BSx3TwWsDguqXYSvVIXChhs5eH8drE6aXRqFWbG91AFhhcgCImAgxr7jyFiNc5YuEbtQDaf8BNbKnE8/y2ozdXVrUiAOFYmHDQv9vWI8sHm1FGq8NObt2CpoZDy8UvOmgiS0nAQhvusDri627E/lA8h1pAoeFe9c2hAtUr+F3MCaicBdxqVfosChlZDqipbivjU8tS/fvUKFGJO4WvAWvWboR6S4Yxq/dtWEHemfa5d4Ch4V610EvpDZk+3hVG5q27RDA7KW+AoeFpDcMObdTjq/gs02BDdgHkuU0Ch0WJb5+GOEiKmfw2rs2YQXqXyYWOCykZUNyUUvnnOR1MLotRctm5LkGpcBhUZT7mjBkSMhPdvA5M7r3TEXvLKAmWOCw0GBMCENhXyKUV4N6TxNeBwq4LnRYaDDOx3FMeROvhsSMCmSlkkl1QoeFeldfNMIli+FV1c9fj9z88EPtQoeF3bVc1FTJ6lqaz94Vg2w/9cuNgodFKSMOI1WvWLKGT1wHk1AbfBq8hQ4LScgO1FQiKYLPVraWIE3vudZN8LAocUg+GoyK3FYee5dygz/yWzu7/YQOC+FaE41wqbr28ml2Lb2Be1ehRuiwkCHRtw+pWdXlUzw21TsvAAVFMrdcEDosPIknooEQnsinzeN7DCd3eeZIBQ8L2V1h2JBY1c+jE9Qei4x6GDXTT+iwkCzYiAYjGbOQx2iAxxKcmBqQ4i14WBTV54UGo2pjAo+9a/ohCcYVIhY8LMp70QHUVKKkiEfd1dHET+oghywa8al4pLvU0Qv461103A60kK4qWCd4WBQlPbgev9rDITzqrtqNqIPLt2YJHhaShXhFFFbzGE0Vp6xCftjsrgvCh0XRtTF4FTt+Pp8+EF7Y8OnyEDwsJHtCUbwLVG3gMfDbHIAmZ3m9r/BhUcrCA3gWj+cxe1BTE41wlW/RCB4W1rMXES7FYR4HozgFuYxgWaRG+LAo+vYuhEu+Ko2/AI5fH8JFBMyVCh4WkrodaFkBNPHoYgceD0DqM2yuWPiwkCFRjZJfJJUp/JmpyqV4HWijbVtgrTz4/otqnIGzhj8ztbZ4NsIVasvFFattGqD7vZDukgS08RfKnLUf+UDy+xrFgoeF/dt9cmxIbOBPd627jF6YbOMCWviwKGrefuwzhrbwNzPOP4xXGQ/Po4UPi6LWFOA8x2j+fEZ6wUY0MSou1zkALBQ9CcNJx2EreFP14pYS9MLkBUXCh4VTShLxro2T/DlB0kXxOLN/7QXhw9JpDmRIEGEJvOkucZsXjt/sanQAWGhbL/YZ1SV9vJmpmshkvGzWECh8WEh8V6PtOGDbCd56l7Q7GQ1G/9RAB4CFNkzsRza1atXdvOHyTkB5vDBgrtIBYFHU7Zfw/pKNNYF84QoqxWnPGVbaNmLrPdJ1xeHo5d7o4613eZR54pU7q1gytt9Q3ogTHeF9NbzVNvLIw7gO9NMOAIuiV1TOwaq+nzczddZytFNWEWNxQMI+pQrSLiEzVZa5lDcztfESSqqX7L/dEWChyln3od5Fxp/gLYCTVYwsGdnqs44AC20wyUGGBIwO4W2Dye6VaGrWLpnlCLDQNuitGNe2Mt6s+j1rfQBYvGW6I8BCums5drEz2ngrY7cHbxuZVhroCLAQrsSpuOpfH19mKh0XPxvA/KXujgALzeNb/ZGqz+zmzZDYswq9rowUsSPAQiU4sVEN88v4qgWlWaklAIzfIHUEWDiPFpup5w7yZnb1JeNkz36HgIUDOBiX/1LeZsYTXipArp/nELAoqgjrLhjG22CUlmZDoAjdInUEWCih4w5k9oD0Ur56l3sK7t35YZcaHQAWRV0ojYJAFZbCl1Ufty8bV5Xxb3EEWOjt1qOyf6DkBG8NiMSF4cIT4uLchQ8LqfoyL+xi9/DVuwJrQhEutTpjvgPAQlsmtuD9S+eW86Xqg2fipRUg9/KKPu8tdFgoItE9DdWfSa/hy2c8DwYFpscJHhZaiCnGvSuAJ0NiLRiSDKXwYaHBULodJyyV8uFirx6GJZvhCLDQysIivFU1udX+LnavYpjWRXeHgIVmptR0CIhtc+2995LuHIYF5xRv2uMIsFBEYAsusZRs33I9hdXqIVY++I+eCQ4BC+FK3a47Q8V+W1VzyOF+BS7FHUJ/VeUoHQIW0l2xyGeEnqV2mhkjwg1YAXmhtBlld5ElHY4BC/WuhEz0erOX2sPu8k4GRqJGtVHw44mLvUKDJZ7/9RcmVe7STNRwr1TbO0G9YIRE48cvwbvNTiZ4CAmW76EjZLZpo1nTXYV0bXlDoL1hyXHEhr77Ii4Mlx0rFQws9yQRCWHlGDkI4tZ85AR1LrLt5svGbFOwkFyoxDVlKoIFAovOwbs7QfaDYw7S0nisu/Jsanc1LzOGFaYf+nR/ogSXkOhVCgFWr1Y3aRORDDptUSbSHvmVNTbk1b56tiGsRAM92VwNcSZxFv+wxJtdB2zmekarflGYrvvZMtty991bq4Zpbd80HGfWrMfvM7ptHd+wLiwedDAqmb+nbAnA2uOSTdPh0gzcQxg+XAJB2lrQSQIo33+WX1jnycGe9fHj4/XBNrx3fdkuW6l6aX9IprHiijf815587AK18AiLvnfboJsBVc+2PDUerlO4MoJNVrHF7fW55Ej7wcfYcNUl413iAxb9+M3Xrv35/R+HWghJ9dNXLngULYhj6DqaGmT4EJ3RNdbtXtO7vbRgtPiM+FpcAXaw7Qjpruff+etnnz/zzaMPL5bLFSpo1DrSZ6pcpfCPvI3BIlp7A+fy+qRYLyTUtzUcAsACFsq7RufI2A3Vu4/5S0Quri4ikQr9h4zREc2Dug/O3Ms4YkJOIt2lXmsdO8KjotM0KZOwKGqFvWA9fixKJHLBTMCYDcSiHa9wUf8+1LumLW+01JCYnrcxnKEdPvzFs8SvPKGAroCFZI+/lD4fH9ww+46FFgS86ppP+jC3gydY0lm1jz0sByzlCTY9plv3SxWrOW6QW1OpGrcdfMBS3nvtrSg5SUK2sB5+nVWwIuQy9iqjm+ebvbjRsTZewaIdPMB6972dIvagdGr+1yxvPQ/XpwZEpllljH3nGkTbBQVLWnTF3yxQOjnzAFtrbc8h/MPlu/qOsdsJ4BtyYA7rZtgXVlDk+lskaTYroLjK/hkVg9d4how/xbQezzanGfaERT/5lhq6uprPCjx9k/1TGoYIL2HWXb7F0wjzmmE/WD+5/8ocCLjJPjOec3FY1Y29hypoVk+m3Oxm2AuW9JV3zhCQK6xDZjwpb/ghs2NNFouXdpSlyzi0gkiyCyz6t+/LXQFXgaLHzHiW+1SDSz2LI0cmp17Iy+D0zubs69PYARZd9L6WBNzF9bnfsn9YcKlkuGfJ8bYJg8T26R3ed/hwacKUqtKxZlfrwrr5uzkktIAVlL9qhg8VYzBsFs5oQi9JFjsY70LpXlpPDi2ReM1kOIjFmrB8/3bakl6F4zRPs19UpfOg0SoD3VctAWT2IjQvpnV7cXllkpJNzP659WCJU94gSFdLULm6ijLZ58RfN7bF8XR46mQ4qoETeyicy3vadn7cwkjWgkW/+wsFJ7sKQrTMiuZOSIpIUvIh+yduNr5Ppy4vIpXba1KHLWez29xKsBofmyoyewi6AnjmnU+//PTKPx49CmH4o189+6UZa/XFxjcLD6Y0py55ckEVXtzLbvRbBZa0L50cJ6hnqk+RO3/9wmC/fPCjlNcNXy0tpYMCAxnH5Fzjl5OcVdbJafJbVcY6cc4asO5/QsZFn5IP/cxk16fT5tbHl5d0ZnsGVG3emtDia3qAiGtWxxs8VqLlotITY805K9dyWHTr0yIOHjPqV6+YDPemVEmMvyn7PtJ7rB59LJ37fKLOLNtj3k+1GJb0ipaTZUWqvzbl/HaYmvRh7pglF32zOZLyzEmz+05Wze8U3Gwr8lFTHkWa/xiBm1LTtDpWElye7dV0isuCh6WwPlC7cDPZd/7M1OJUwJjaZXTISppWES3nQEpbcILjDkcLYb1+hhMqCOXXTK2mJox9N6+R468wlwMpMLv6BPf8EgthfU1wgQXBkR9MrjwnMRhDhmVRlKe6wjmM/tnnCv0sWW+0DNYMf44+4Hc/NXm/UIZrYoe+1X48g0ufutxg6fmIFsHS/FXEDRbxx5+YDatsYAYIidgWzumZ5y3fEmQRrL+pOJo45NSPTOrYAwzXbEHBvkWVXMKeILupUg7k69fwCWsN50A7CY888boJ7VHAcE2Fb146FysluyoBGSm1JRKgunMvb7Aef8mC6BUU7bwyWoVUMVxxjov5CZPy9E/ZgMwSScw8nmBdlVgSEyWh6I2rtBk6i4Nm3FZqaHu6lZZDIF/S4cEHrF+Qlv6a8Gd+c5vNYKVvbh0ZeJk+Ey9JLysNsjusB05bDMsFhr//M6kNYMmT95k+PVbThWeIZane9oUlvqJiFxh1Ba6QYTQe+exJsVVhwdlJsbvHNhPiDuET4QKWauwJ60V2GotEQogM9Lo+mqMH6ErK/v6UFWHJxy26FrdZh6s7yG6wnmQXmCF3Pvefb9/8vXqI1SdhP8rVBA67D5sR6o+v/dxasGAZiwjc/CTUIDK3UGkfWJq3xh+Drq7EQ//41QtoPnrgIf1POX2TCiyqfTXmkcWqYVxQpP72NuvAgk3sfL8IXN0fZphZB5QbLHqTYlxYkPjlRzcHGNCP6j/7avD6oAc+eMnAa4G3fmUdWFVsNbd4Ad7NSGRuENsc1vOycReeIXz4/mErY3DEid40CEe99jShJ+4qytN99j1HE0S/Ca7cjCxTujkaBQ7JzR42hrUme9wkGUg+96fhC54dhHXLKGP0/s+GNg4c+ZNupSKey6JDdMLSKYN5QuZ5f8rrociQ8E9wtyWsm4/AcU0s8i//axBYeGwACnzEeEfT41+e0U2U0P9rmnJPqDbfSyZzz6dRNfrrUs3+Ke1daGZMThXbDBb97DjZxyS85y//bZTA9+dBWB+ODPnd9flLL730bfP97v1JAeZ75T5rTykpOnYw+1hdwcV26r9TgspwhmhsBOsLH5FeLd06auo3qP71R+NNXj95e8B2IP5kAj1NSxfsyjc/2KNOz9Ot+TUM2iWwnlvAiq5bpUZuJJuTG8yHdf8jeoVF7nz7O8KEZv/lqITju07r/un0XSbu55ZSYn6fUnt1pemmfelyfQsKOAf36L0IF8xNoa0O66fPDvEh/k/83/eMsq5E//zDqIvWaXW2+r9GNSdwZkyU+Tq9c+Ve/Z026VuTYVE5lrYqVKgxsdXasK6pRHpH5jsl9cWtUXGRb03spb9X17OIayPe6J7j5idyEJ0rW4ZHTLPeWPO3qCo+PlWpGpUQLmkRWxPWUw/rxwx8CBmSn94zYgiRn7xg4qp3j+hSNQ0x0nHF5eYHxLK7mg0Tber02+Z95lGWingDqrOiDo0TWw0W/digaQTJo/9GGuObkTbELVNrp9QruiW+8iH7T9xaH2Z2gIdc1tRi7J6c1efNSAopa0j3DfTjqsfO1DIT1qv6fBlIPIPu+eDOkS7ODz83Cesovmzn2w/qBpA4JVNtvqLKaB4ZJqAT9Y+tp6wj7t1oA408cY1VYP12mZ4V+RKa8oL+OGIyJP/H9P6IV3X9EaqPPvJi0LqVyzj5NAWj7lqvf3qS9QoO++Eir7L1pk/eNAvWb4YW60mssG77/T0uxmGGo0+avvC1QdUG1eHZco4+8uqRN03Rd08vqx7M51eKzGP1ZlMJpmAL+xiY9Bl94M7l6Ec4pvWQsYvoSr43RoGGe9/QfZFQEICzVIy45yK9k5PuS1lXxD2oJq+sYnTyFoDn8tieJXxVNhglgEdflOKONUJHu6reHOvS1/B0qLIAFQBLjO9Yq98RoK2lrC7BpSi26dM0sgonwLvZM4t7WcTM7v9ksCNB0YfYlfrizEhYR/8wVp/s/djiGOgdRndsLNfbXW2ULeRCPUrj8DlufBAvmH8Zz7/qxHGTwGc8TQLXgej5c1iNv/YcdBmZc3WXySt7N+WroXVhBel3V8AcW9Xz8atAq7qS1TOMFbzHJWwcameOnWOC2/P4jiHlfguPtgceHv37f2nCbpi1ZbMEWEMMYdFd+k8TbVjnzu04Kr8+O8fPeDZsvzsJef1zEnebekvrrmx+6e+/eeAioV+V2fkp/trnJnZTPDMScmDfxnBgJTGAJd6lVwC5ti3/mlUxBYLsUl9j0yEoYiN6fvjluStGTo53PU26QHj6Dag3D8gPMasXzgwFGYZ3C/zTqGeJTx3yB9YTA1jH9AGdZTY/3LsxB0VhtT1uxnYWHYmLVKHQo/F29qBPRANes94YFb33woCZqf+A2PkQ1mW4n6neuvbuB1evPoloBp+o30YAYBNY8/X7wtNvp2wu9O5KhCt+abCxUSqd34NrcUiKDe2Wm1qRcQDmUZ2NTj8xECyF6m9efP15Oe5cri4uUEQcEYlEsg/mre4kgZVlCFaWPp1GtpCyi3RcRN0o+Rg9woJXXvdC2tjnjqwh5SX9ygCWK7znu4Elm6d+xEnKJPnwVWSjiV88gowKBMtlYJ2ZPEoA64seVmC0PgAYS9lL6opl6NSb1JHujrQoB+EKXxXZOrij5eY3U4brXD305k8H/X3dSCBPD8QYlM+qdSaYCx6LhIqAwHawxPpd5GNW7LSJnNVVbhv9eXOJbq7Xn69CP/gfUqfIj9x6bygg9byu74je0SP+8oyCJF1cRaRaxZmUavvaHQxdsnSA1dChAAe8KXuKsns7NOVI02mpeCO2tqvguG5mvuuHz348ffTja/8eXjX9tW5wqt8e+uCB57/yF7moOWsqVUBOhIZyY1gMm6t7zt16nNG+lJ3FO3aMqINm4T5d90o/5aFbggx84Q9Gi0W/E41YgFB2LA8nuKJSZC6v042pNapxYLXo935lZ1H2lzFDNOLdSXhAqad6Fpg4QegZ3WT4r/8a6InudamZXBOXgSKsoU7vyS8EzLDW6Q03WTMlJFjIVNJP0UTPqH/7BbLfIfmE7s++BdFqrqTCo3sMN/yNA8tXX42crKEEBitySFVPGZlzqHxEF3z4gZJ69B3QcgQFww8ntBvPaMywpPowMlhOCQ2Wwfkqs7cabzm7iWPvUHI1olrGdfKbGtM9WkUzwIIh9Cb9s2LcBQcra3hqQlH86AOFw4tQeDkeKmb7cBx+ZFRiiMnJjAEW0Tt03osXXwc/McDqHgqtJPUdwBNdZ4U+6PW8CnCe+sC0/RvG2sLNAIus0Cv3qCxKcLB6huc3//PTW3WF9yUbQ9DaX9CpzxVczallq1cwjKGFbDJsr1OCg3XWqOpNaCM1KzUe4YOdFZcCiHs4aSqifOtC5tSegyxy1yIp4cFaMtozE9fu52wjAEXGpdpxo5pl46u7VEp4sIpG1BK8iDtbvW6NlUOvUmXm1bJZQmoY9077xQKElWLcRs8ITXMMx1i6LKxsD8sAwbiw7lRSAoS114hMUndBBrcYlWRjz272oZRL49wt15cSIizqmCEcE9sp2BT1m70+wbxfFzNOElsaJUxY4pAAy4qsaWMizc5B8GK85ZQVlEBh4dhzSxRXVJ6JbVxic4yw1G2UgGG51XDavk16Nm3guFuUCRbsogQLS5MSw2V9lMhffVDDuTVMsDZLBQpL2lfiz2H2U5/buteigAADLEkWJURYdETDOQ5esjrj5V5L11sYYGVQQoQlTuISIYbfd1hhmDDA8hQkrBSzWUmic7aTRNgiqS1hhQoS1lozY8OrYtH6tXthiVpdkuI22WAdMAOVdn2Nvrqu+EQSINNnKicXrCSW29f8s08WuhlqdGlblYT0KlvHvTHi5AkJ60b9jKDReWTK+UkyEHWM8ymqHgxG8AEhwhKXs9hr1DSW0SP2XSmBPndcsD6sO4UISzme3Z6/upWp69AtW6NA1PH+SQHLjynEp05ewqIE1dkcGSA2n5oEsNYxmOj1tewmO7po5mIgr2qlJzqswjEWoMK2FJnz27235gLVyUWNkw+WPHpmkdkLBUEzt0PoXxM0qWBpVyW0c7t3MDodAYZ2ayYurDbDWDKqRVVjybGL3im5aiK323uiwhLnZOtz3hffebfFGxiULYflsLOBXYneOrWDwULdIWQjAQjP/dfdrPIE+lRiODLr2XhB+4HDwUK9K3J1szVToDpelgDJ2vFnxsOOCMv64rZJCzwvx43zre+dsAaksXg7nNJ1O2OAMJoB1tbJBAvp+h4fKNnHFKdnKsw2c3LBQq5UTSYMTzxBc4j9TT5YaDUyJFqi2DFvDBcz2QnLWKQHQ1WKEtMVX8qdsEYZXq0xctWqSBNBsU4nLBO4egsUZPzdowajpxOWSUnriiLyG2YZM2Q66bJwEsOi6OmX/GF2vWFAQ8N0JvbeyQwLO6EN6dAnZ9gLCmbaBdQ1yWGhChmR28llW/QVcnyZ1koqJz0stD5Sc07ls2vgVL5Gpty5AicsJO41XoTPepzSPENuTvmsSQkL4YpNVE+5uEG8TmJG+azJCgsF0OYnatXVIUzbp5Y7YQ1bEo3HtQqmVPJNTlhGU2MX6bTgWUs70wGrCU5YxpqrhAFWjROWkexl2s2Y4oRlJC1MOmuDE5aRNDPNhi1OWEbSx5RDF+GEZSRtTCnkvU5YRpLClMfa4YRlJDVMCZp1TlhGksBU6WCPE5aR9DDVCWl3wjISphIYqk2+TliGsoVpNiSn7Wp3whqWl5lKuKXmQ//iNCcsvTCVwFjs51cTqp5yaKHYCUsnxUy1D7xxqYnoKYrq/kAnLCQrmYqF6BLE6f4YCZnfJnXCYjz5Pn8wqYsuWkuoVh3TTHpYhxhgJQ99i46rzAYBkcGTHFYqAywvg+/RWU0ydWep76SGFckAK8z4q7Xo/Lpp53vpyQtrFwOsqpFfPrvFk5St3E07YY2W6tFf96vphFP2dUidsEbKPlMX+L2cTMpDm5VOWKw2WCi7cwEZ3y11whpZzdKkBNesV5BhNYGTDJY70/nkTWNfR/eHSchz3UGTCtbtgGt6lrR2vUwV9XIjPXlg1TKFs8bJC6EPrpQBn67aSQOrfTFDoHTWeFejk7O1xJS1bhb1Lt9AR4GlZEiiUbHwbcTtIdOg532Nk6JnNTOthLFzBN3zAghZV4d44sMKsRwWqibRnQEUlRETHtZca8Ci8Dn2aqK6TTOxYfnFWwcWOgF2h0KVGyKdyLCoHVaChaRov4zImDtr4sJiKmKnNjvS17vfh/AvzZqwsAIYYE03/35Fq32gz/npkw+WgstvphsbfOCyO9PoCQhLWm5lWEguHMoH8qYI5YSDlUZYHxaaYzdth+qYefQEg7WAKT3LgiJCHt3J6NiDbnpCwQq2ESy8Sy8D7fcPcXPCYjd5RFQpyBt93pMDlsVVz8QrVqlVN3pmTRBYSoYaGBIrnHEvbbmsBv45wRMCVm+UbWEhw6tjpQ9Mb1o3AWAxle2xDizdSfbTwJwtaVIHh0Uzle2ReFjtOY1d4YBI2ks7NCxpun1gocGY4gVlJwtpB4almWYnWEgCY2/I1aFtfo7bs5jqssk9rP20g6FqVXmIu4PCopYywbJ+op/4YAaAuZvcHBNWn31hoRKEOVoIPct8HRFWrL1hobWg0nx074pGx4NVan9YCFfCDgiiVrILEDoKLG+bPVYZsk0F5IkR9ISBJfO24YM1/VVqoEgKETthsZKQGBlQh4231OgosGye2Tf/Pjk68zM22AmLnY/dIAcwuczbCYuVzNq1HYLcVD8HgLWcd1hI1/cgw8tzebDgYVUywXK3VyvcC9fLwOI71gkcVhjTedvu9msH3VEtA9qVuwUNK0AgsJBM36cG8v2j7FQnLNMhiYg8TyDffF0qUFiMwb/wILu3p32TPzqQ2SiDUDiwPKYKCxaq/ZwwDaq29fg6YbGMScRDkFzm54TFzpJoi1aD7XluDgVLw1/DIpLUwLMiywmL3dTYsXkOmLKyjnbCYiVFBTIgqRQOrGamMtRaJd/Na1/uCYUDKxoIGhYy648JB1a80GEJSMHT24QP6/8BW20xLZuYCSoAAAAASUVORK5CYII="},623:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[e._v("This blog post describes a Frictionless Data Pilot with the Public Utility Data Liberation project. Pilot projects are part of the "),o("a",{attrs:{href:"https://frictionlessdata.io/reproducible-research/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research project"),o("OutboundLink")],1),e._v(". Written by Zane Selvans, Christina Gosnell, and Lilly Winfree.")]),e._v(" "),o("p",[e._v("The Public Utility Data Liberation project, "),o("a",{attrs:{href:"https://catalyst.coop/pudl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("PUDL"),o("OutboundLink")],1),e._v(", aims to make US energy data easier to access and use. Much of this data, including information about the cost of electricity, how much fuel is being burned, powerplant usage, and emissions, is not well documented or is in difficult to use formats. Last year, PUDL joined forces with the Frictionless Data for Reproducible Research team as a Pilot project to release this public utility data. PUDL takes the original spreadsheets, CSV files, and databases and turns them into unified Frictionless [tabular data packages("),o("a",{attrs:{href:"https://frictionlessdata.io/docs/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://frictionlessdata.io/docs/tabular-data-package/"),o("OutboundLink")],1),e._v(")] that can be used to populate a database, or read in directly with Python, R, Microsoft Access, and many other tools.")]),e._v(" "),o("p",[o("img",{attrs:{src:a(502),alt:"Catalyst Logo"}})]),e._v(" "),o("h2",{attrs:{id:"what-is-pudl"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-is-pudl"}},[e._v("#")]),e._v(" What is PUDL?")]),e._v(" "),o("p",[e._v("The PUDL project, which is coordinated by "),o("a",{attrs:{href:"https://catalyst.coop/pudl/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Catalyst Cooperative"),o("OutboundLink")],1),e._v(", is focused on creating an energy utility data product that can serve a wide range of users. PUDL was inspired to make this data more accessible because the current US utility data ecosystem fragmented, and commercial products are expensive. There are hundreds of gigabytes of information available from government agencies, but they are often difficult to work with, and different sources can be hard to combine.")]),e._v(" "),o("p",[e._v("PUDL users include researchers, activists, journalists, and policy makers. They have a wide range of technical backgrounds, from grassroots organizers who might only feel comfortable with spreadsheets, to PhDs with cloud computing resources, so it was important to provide data that would work for all users.")]),e._v(" "),o("p",[e._v("Before PUDL, much of this data was freely available to download from various sources, but it was typically messy and not well documented. This led to a lack of uniformity and reproducibility amongst projects that were using this data. The users were scraping the data together in their own way, making it hard to compare analyses or understand outcomes. Therefore, one of the goals for PUDL was to minimize these duplicated efforts, and enable the creation of lasting, cumulative outputs.")]),e._v(" "),o("h2",{attrs:{id:"what-were-the-main-pilot-goals"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-were-the-main-pilot-goals"}},[e._v("#")]),e._v(" What were the main Pilot goals?")]),e._v(" "),o("p",[e._v("The main focus of this Pilot was to create a way to openly share the utility data in a reproducible way that would be understandable to PUDL’s many potential users. The first change Catalyst identified they wanted to make during the Pilot was with their data storage medium. PUDL was previously creating a Postgresql database as the main data output. However many users, even those with technical experience, found setting up the separate database software a major hurdle that prevented them from accessing and using the processed data. They also desired a static, archivable, platform-independent format. Therefore, Catalyst decided to transition PUDL away from PostgreSQL, and instead try Frictionless Tabular Data Packages. They also wanted a way to share the processed data without needing to commit to long-term maintenance and curation, meaning they needed the outputs to continue being useful to users even if they only had minimal resources to dedicate to the maintenance and updates. The team decided to package their data into Tabular Data Packages and identified Zenodo as a good option for openly hosting that packaged data.")]),e._v(" "),o("p",[e._v("Catalyst also recognized that most users only want to download the outputs and use them directly, and did not care about reproducing the data processing pipeline themselves, but it was still important to provide the processing pipeline code publicly to support transparency and reproducibility. Therefore, in this Pilot, they focused on transitioning their existing ETL pipeline from outputting a PostgreSQL database, that was defined using SQLAlchemy, to outputting datapackages which could then be archived publicly on Zenodo. Importantly, they needed this pipeline to maintain the metadata, information about data type, and database structural information that had already been accumulated. This rich metadata needed to be stored alongside the data itself, so future users could understand where the data came from and understand its meaning. The Catalyst team used Tabular Data Packages to record and store this metadata (see the code here: "),o("a",{attrs:{href:"https://github.com/catalyst-cooperative/pudl/blob/master/src/pudl/load/metadata.py",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/catalyst-cooperative/pudl/blob/master/src/pudl/load/metadata.py"),o("OutboundLink")],1),e._v(").")]),e._v(" "),o("p",[e._v("Another complicating factor is that many of the PUDL datasets are fairly entangled with each other. The PUDL team ideally wanted users to be able to pick and choose which datasets they actually wanted to download and use without requiring them to download it all (currently about 100GB of data when uncompressed). However, they were worried that if single datasets were downloaded, the users might miss that some of the datasets were meant to be used together. So, the PUDL team created information, which they call “glue”, that shows which datasets are linked together and that should ideally be used in tandem.")]),e._v(" "),o("p",[e._v("The cumulation of this Pilot was a release of the PUDL data (access it here – "),o("a",{attrs:{href:"https://zenodo.org/record/3672068",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://zenodo.org/record/3672068"),o("OutboundLink")],1),e._v(" and read the corresponding documentation here – "),o("a",{attrs:{href:"https://catalystcoop-pudl.readthedocs.io/en/v0.3.2/",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://catalystcoop-pudl.readthedocs.io/en/v0.3.2/"),o("OutboundLink")],1),e._v("), which includes integrated data from the EIA Form 860, EIA Form 923, The EPA Continuous Emissions Monitoring System (CEMS), The EPA Integrated Planning Model (IPM), and FERC Form 1.")]),e._v(" "),o("h2",{attrs:{id:"what-problems-were-encountered-during-this-pilot"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#what-problems-were-encountered-during-this-pilot"}},[e._v("#")]),e._v(" What problems were encountered during this Pilot?")]),e._v(" "),o("p",[e._v("One issue that the group encountered during the Pilot was that the data types available in Postgres are substantially richer than those natively in the Tabular Data Package standard. However, this issue is an endemic problem of wanting to work with several different platforms, and so the team compromised and worked with the least common denominator. In the future, PUDL might store several different sets of data types for use in different contexts, for example, one for freezing the data out into data packages, one for SQLite, and one for Pandas.")]),e._v(" "),o("p",[e._v("Another problem encountered during the Pilot resulted from testing the limits of the draft Tabular Data Package specifications. There were aspects of the specifications that the Catalyst team assumed were fully implemented in the reference (Python) implementation of the Frictionless toolset, but were in fact still works in progress. This work led the Frictionless team to start a documentation improvement project, including a revision of the specifications website to incorporate this feedback.")]),e._v(" "),o("p",[e._v("Through the pilot, the teams worked to implement new Frictionless features, including the specification of composite primary keys and foreign key references that point to external data packages. Other new Frictionless functionality that was created with this Pilot included partitioning of large resources into resource groups in which all resources use identical table schemas, and adding gzip compression of resources. The Pilot also focused on implementing more complete validation through goodtables, including bytes/hash checks, foreign keys checks, and primary keys checks, though there is still more work to be done here.")]),e._v(" "),o("h2",{attrs:{id:"future-directions"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#future-directions"}},[e._v("#")]),e._v(" Future Directions")]),e._v(" "),o("p",[e._v("A common problem with using publicly available energy data is that the federal agencies creating the data do not use version control or maintain change logs for the data they publish, but they do frequently go back years after the fact to revise or alter previously published data — with no notification. To combat this problem, Catalyst is using data packages to encapsulate the raw inputs to the ETL process. They are setting up a process which will periodically check to see if the federal agencies’ posted data has been updated or changed, create an archive, and upload it to Zenodo. They will also store metadata in non-tabular data packages, indicating which information is stored in each file (year, state, month, etc.) so that there can be a uniform process of querying those raw input data packages. This will mean the raw inputs won’t have to be archived alongside every data release. Instead one can simply refer to these other versioned archives of the inputs. Catalyst hopes these version controlled raw archives will also be useful to other researchers.")]),e._v(" "),o("p",[e._v("Another next step for Catalyst will be to make the ETL and new dataset integration more modular to hopefully make it easier for others to integrate new datasets. For instance, they are planning on integrating the EIA 861 and the ISO/RTO LMP data next. Other future plans include simplifying metadata storage, using Docker to containerize the ETL process for better reproducibility, and setting up a "),o("a",{attrs:{href:"https://pangeo.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Pangeo"),o("OutboundLink")],1),e._v(" instance for live interactive data access without requiring anyone to download any data at all. The team would also like to build visualizations that sit on top of the database, making an interactive, regularly updated map of US coal plants and their operating costs, compared to new renewable energy in the same area. They would also like to visualize power plant operational attributes from EPA CEMS (e.g., ramp rates, min/max operating loads, relationship between load factor and heat rate, marginal additional fuel required for a startup event…).")]),e._v(" "),o("p",[e._v("Have you used PUDL? The team would love to hear feedback from users of the published data so that they can understand how to improve it, based on real user experiences. If you are integrating other US energy/electricity data of interest, please talk to the PUDL team about whether they might want to integrate it into PUDL to help ensure that it’s all more standardized and can be maintained long term. Also let them know what other datasets you would find useful (E.g. FERC EQR, FERC 714, PHMSA Pipelines, MSHA mines…). If you have questions, please ask them on GitHub ("),o("a",{attrs:{href:"https://github.com/catalyst-cooperative/pudl",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/catalyst-cooperative/pudl"),o("OutboundLink")],1),e._v(") so that the answers will be public for others to find as well.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/58.389b1eba.js b/assets/js/58.2b3bd3bf.js similarity index 99% rename from assets/js/58.389b1eba.js rename to assets/js/58.2b3bd3bf.js index e068d6539..8a287c6c6 100644 --- a/assets/js/58.389b1eba.js +++ b/assets/js/58.2b3bd3bf.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{555:function(a,t,e){"use strict";e.r(t);var r=e(29),s=Object(r.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("p",[a._v("FAQs and best practice patterns for publishing data packages.")]),a._v(" "),e("p",[a._v("Complete specifications are available at "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("specs/data-package"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("h2",{attrs:{id:"data-package-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-package-name"}},[a._v("#")]),a._v(" Data Package Name")]),a._v(" "),e("p",[a._v("The Data Package name is used in the "),e("code",[a._v("name")]),a._v(" field of the "),e("code",[a._v("datapackage.json")]),a._v(".")]),a._v(" "),e("p",[e("em",[a._v("This name is also frequently used for the folder/directory in which the Data Package is stored.")])]),a._v(" "),e("p",[a._v("As per the Data Package spec The name SHOULD be:")]),a._v(" "),e("ul",[e("li",[a._v("lower-case")]),a._v(" "),e("li",[a._v("use ‘-’ for word separators")]),a._v(" "),e("li",[a._v("reasonably concise (3-4 words)")])]),a._v(" "),e("p",[e("strong",[a._v("Naming conventions")])]),a._v(" "),e("p",[a._v("For country specific datasets:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("{topic} # e.g. gdp\n{topic}-{2-digit-iso} # e.g. gdp-us\n")])])]),e("p",[a._v("For time series data:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("[...-]year\n[...-]quarter\n[...-]month\n[...-]day\n")])])]),e("hr"),a._v(" "),e("h2",{attrs:{id:"resource-and-file-names"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#resource-and-file-names"}},[a._v("#")]),a._v(" Resource and File Names")]),a._v(" "),e("p",[a._v("Similar to Data Package Names:")]),a._v(" "),e("ul",[e("li",[a._v("lower-case")]),a._v(" "),e("li",[a._v("use ‘-’ for word separators")])]),a._v(" "),e("p",[a._v("Resource names SHOULD, usually, be the same as the name of the associated file on disk but without the file extension. e.g.")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("gdp-quarterly # resource name\ngdp-quarterly.csv # on disk\n")])])]),e("p",[a._v("Naming conventions of files follow that for data packages in terms of country or time series facets.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"descriptor-datapackage-json"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#descriptor-datapackage-json"}},[a._v("#")]),a._v(" Descriptor "),e("code",[a._v("datapackage.json")])]),a._v(" "),e("h3",{attrs:{id:"alignment"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alignment"}},[a._v("#")]),a._v(" Alignment")]),a._v(" "),e("p",[a._v("With JSON, data is structured in a nested way through curly and squared brackets. Though the alignment of these structures is not relevant for computer programs, it makes it easier for the human reader if they are properly aligned.")]),a._v(" "),e("p",[a._v("Good alignment:")]),a._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"corruption-perceptions-index"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Corruption Perceptions Index (CPI)"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Transparency International"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"web"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"http://www.transparency.org/research/cpi/overview"')]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n...\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),e("p",[a._v("Bad alignment:")]),a._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"corruption-perceptions-index"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Corruption Perceptions Index (CPI)"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Transparency International"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"web"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"http://www.transparency.org/research/cpi/overview"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n...\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),e("p",[a._v("Please make sure to have your "),e("code",[a._v("datapackage.json")]),a._v(" well structured to ease the understanding of your Data Package content. The "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Online DataPackage.json Creator"),e("OutboundLink")],1),a._v(" can help you create the general structure.")]),a._v(" "),e("h3",{attrs:{id:"contributors-fields"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#contributors-fields"}},[a._v("#")]),a._v(" Contributors fields")]),a._v(" "),e("p",[a._v("Add the ‘contributors’ field (original author of the package - see "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("specs/data-package"),e("OutboundLink")],1),a._v(" if you wish to keep the credits for the package.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"data-package-folder-names-and-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-package-folder-names-and-structure"}},[a._v("#")]),a._v(" Data Package Folder Names and Structure")]),a._v(" "),e("p",[a._v("It is standard practice to use the Data Package name (from the "),e("code",[a._v("datapackage.json")]),a._v(") for the name of the folder/directory in which the Data Package is kept.")]),a._v(" "),e("p",[a._v("If storing in e.g. git(hub) this would also be the the name of the repository.")]),a._v(" "),e("p",[a._v("If you include scripts allowing to automate the data extraction process, these should be stored in a "),e("code",[a._v("script")]),a._v(" folder/directory.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"readme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#readme"}},[a._v("#")]),a._v(" README")]),a._v(" "),e("p",[a._v("A README is a text file giving (human-readable) information about your dataset.")]),a._v(" "),e("p",[a._v("Data Packages SHOULD have a README.")]),a._v(" "),e("h3",{attrs:{id:"formatting"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#formatting"}},[a._v("#")]),a._v(" Formatting")]),a._v(" "),e("p",[a._v("The README SHOULD be a plain text file (no word or rich text etc) and SHOULD use markdown to allow for formatting")]),a._v(" "),e("h3",{attrs:{id:"file-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#file-name"}},[a._v("#")]),a._v(" File Name")]),a._v(" "),e("p",[a._v("If markdown is used the file SHOULD be named "),e("code",[a._v("README.md")]),a._v(" and otherwise SHOULD be named "),e("code",[a._v("README.txt")]),a._v(".")]),a._v(" "),e("h3",{attrs:{id:"sections"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sections"}},[a._v("#")]),a._v(" Sections")]),a._v(" "),e("p",[a._v("You can include anything you like in your README. It is standard practice to include some (if possible all) of the following sections: "),e("strong",[a._v("Introduction, Data, Preparation, License")]),a._v(".")]),a._v(" "),e("p",[a._v("We SHOULD NOT include the title of the Data Package at the top of the README.")]),a._v(" "),e("p",[a._v("Each section other than the introduction should be headed with its name using level 2 heading in markdown e.g. for the data section you would have the following markdown in your README:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("## Data\n")])])]),e("h4",{attrs:{id:"introduction"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[a._v("#")]),a._v(" Introduction")]),a._v(" "),e("p",[a._v("Start with a short description of the dataset (the first sentence and first paragraph should be extractable to provide short standalone descriptions).")]),a._v(" "),e("p",[a._v("Unlike other sections "),e("strong",[a._v("this section SHOULD NOT have a heading")]),a._v(" as it starts the README. (i.e. you do not need the heading "),e("code",[a._v("## Introduction")])]),a._v(" "),e("h4",{attrs:{id:"data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[a._v("#")]),a._v(" Data")]),a._v(" "),e("p",[a._v("Put specific information about the data in a Data section. This can be things like information about the source of the data, the specific structure of the data, missing values etc.")]),a._v(" "),e("h4",{attrs:{id:"preparation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#preparation"}},[a._v("#")]),a._v(" Preparation")]),a._v(" "),e("p",[a._v("Put information on preparing the data in a Preparation section. In particular, any instructions about how to run any preparation and processing scripts to generate the data should go here.")]),a._v(" "),e("h4",{attrs:{id:"license"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#license"}},[a._v("#")]),a._v(" License")]),a._v(" "),e("p",[a._v("Put additional information on the permissions and licensing of the data in the Data Package in the License section.")]),a._v(" "),e("p",[a._v("Since licensing information is often not clear from the data producers, the guideline here is to license the Data Package under the Public Domain Dedication and License, and then to add any relevant information or disclaimers regarding the source data.")]),a._v(" "),e("p",[a._v("See, for example:")]),a._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://datahub.io/core/corruption-perceptions-index#readme",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/corruption-perceptions-index#readme"),e("OutboundLink")],1)]),a._v(" "),e("li",[e("a",{attrs:{href:"http://datahub.io/core/geo-nuts-administrative-boundaries#readme",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/geo-nuts-administrative-boundaries#readme"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("See also the following thread "),e("a",{attrs:{href:"https://discuss.okfn.org/t/copyright-on-data-sources/189",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://discuss.okfn.org/t/copyright-on-data-sources/189"),e("OutboundLink")],1)]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"validate-and-preview-your-data-package"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validate-and-preview-your-data-package"}},[a._v("#")]),a._v(" Validate and preview your Data Package")]),a._v(" "),e("p",[a._v("Use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package Creator"),e("OutboundLink")],1),a._v(" to check that your "),e("code",[a._v("datapackage.json")]),a._v(" and Data Package are good to go. Simply drop the URL to your "),e("code",[a._v("datapackage.json")]),a._v(" file in the input box, or upload from a local source, and press "),e("code",[a._v("Validate")]),a._v(". If everything is fine, "),e("code",[a._v("Status: Valid")]),a._v(" is returned.")]),a._v(" "),e("p",[a._v("Then use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Online Data Package viewer app"),e("OutboundLink")],1),a._v(" to have a preview of your Data Package.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"examples"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),e("p",[a._v("For examples of well-structured Data Package see:")]),a._v(" "),e("ul",[e("li",[a._v("For tabular data: "),e("a",{attrs:{href:"http://datahub.io/core/corruption-perceptions-index",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/corruption-perceptions-index"),e("OutboundLink")],1)]),a._v(" "),e("li",[a._v("For geospatial data: "),e("a",{attrs:{href:"http://datahub.io/core/geo-nuts-administrative-boundaries",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/geo-nuts-administrative-boundaries"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our new and comprehensive "),e("a",{attrs:{href:"/tag/field-guide"}},[a._v("Frictionless Data Field Guide")]),a._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[58],{556:function(a,t,e){"use strict";e.r(t);var r=e(29),s=Object(r.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("p",[a._v("FAQs and best practice patterns for publishing data packages.")]),a._v(" "),e("p",[a._v("Complete specifications are available at "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("specs/data-package"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("h2",{attrs:{id:"data-package-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-package-name"}},[a._v("#")]),a._v(" Data Package Name")]),a._v(" "),e("p",[a._v("The Data Package name is used in the "),e("code",[a._v("name")]),a._v(" field of the "),e("code",[a._v("datapackage.json")]),a._v(".")]),a._v(" "),e("p",[e("em",[a._v("This name is also frequently used for the folder/directory in which the Data Package is stored.")])]),a._v(" "),e("p",[a._v("As per the Data Package spec The name SHOULD be:")]),a._v(" "),e("ul",[e("li",[a._v("lower-case")]),a._v(" "),e("li",[a._v("use ‘-’ for word separators")]),a._v(" "),e("li",[a._v("reasonably concise (3-4 words)")])]),a._v(" "),e("p",[e("strong",[a._v("Naming conventions")])]),a._v(" "),e("p",[a._v("For country specific datasets:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("{topic} # e.g. gdp\n{topic}-{2-digit-iso} # e.g. gdp-us\n")])])]),e("p",[a._v("For time series data:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("[...-]year\n[...-]quarter\n[...-]month\n[...-]day\n")])])]),e("hr"),a._v(" "),e("h2",{attrs:{id:"resource-and-file-names"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#resource-and-file-names"}},[a._v("#")]),a._v(" Resource and File Names")]),a._v(" "),e("p",[a._v("Similar to Data Package Names:")]),a._v(" "),e("ul",[e("li",[a._v("lower-case")]),a._v(" "),e("li",[a._v("use ‘-’ for word separators")])]),a._v(" "),e("p",[a._v("Resource names SHOULD, usually, be the same as the name of the associated file on disk but without the file extension. e.g.")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("gdp-quarterly # resource name\ngdp-quarterly.csv # on disk\n")])])]),e("p",[a._v("Naming conventions of files follow that for data packages in terms of country or time series facets.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"descriptor-datapackage-json"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#descriptor-datapackage-json"}},[a._v("#")]),a._v(" Descriptor "),e("code",[a._v("datapackage.json")])]),a._v(" "),e("h3",{attrs:{id:"alignment"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#alignment"}},[a._v("#")]),a._v(" Alignment")]),a._v(" "),e("p",[a._v("With JSON, data is structured in a nested way through curly and squared brackets. Though the alignment of these structures is not relevant for computer programs, it makes it easier for the human reader if they are properly aligned.")]),a._v(" "),e("p",[a._v("Good alignment:")]),a._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"corruption-perceptions-index"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Corruption Perceptions Index (CPI)"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Transparency International"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"web"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"http://www.transparency.org/research/cpi/overview"')]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n...\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),e("p",[a._v("Bad alignment:")]),a._v(" "),e("div",{staticClass:"language-json extra-class"},[e("pre",{pre:!0,attrs:{class:"language-json"}},[e("code",[e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"corruption-perceptions-index"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"title"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Corruption Perceptions Index (CPI)"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"sources"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("{")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"Transparency International"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token property"}},[a._v('"web"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"http://www.transparency.org/research/cpi/overview"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("\n...\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("}")]),a._v("\n")])])]),e("p",[a._v("Please make sure to have your "),e("code",[a._v("datapackage.json")]),a._v(" well structured to ease the understanding of your Data Package content. The "),e("a",{attrs:{href:"https://create.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Online DataPackage.json Creator"),e("OutboundLink")],1),a._v(" can help you create the general structure.")]),a._v(" "),e("h3",{attrs:{id:"contributors-fields"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#contributors-fields"}},[a._v("#")]),a._v(" Contributors fields")]),a._v(" "),e("p",[a._v("Add the ‘contributors’ field (original author of the package - see "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("specs/data-package"),e("OutboundLink")],1),a._v(" if you wish to keep the credits for the package.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"data-package-folder-names-and-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data-package-folder-names-and-structure"}},[a._v("#")]),a._v(" Data Package Folder Names and Structure")]),a._v(" "),e("p",[a._v("It is standard practice to use the Data Package name (from the "),e("code",[a._v("datapackage.json")]),a._v(") for the name of the folder/directory in which the Data Package is kept.")]),a._v(" "),e("p",[a._v("If storing in e.g. git(hub) this would also be the the name of the repository.")]),a._v(" "),e("p",[a._v("If you include scripts allowing to automate the data extraction process, these should be stored in a "),e("code",[a._v("script")]),a._v(" folder/directory.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"readme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#readme"}},[a._v("#")]),a._v(" README")]),a._v(" "),e("p",[a._v("A README is a text file giving (human-readable) information about your dataset.")]),a._v(" "),e("p",[a._v("Data Packages SHOULD have a README.")]),a._v(" "),e("h3",{attrs:{id:"formatting"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#formatting"}},[a._v("#")]),a._v(" Formatting")]),a._v(" "),e("p",[a._v("The README SHOULD be a plain text file (no word or rich text etc) and SHOULD use markdown to allow for formatting")]),a._v(" "),e("h3",{attrs:{id:"file-name"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#file-name"}},[a._v("#")]),a._v(" File Name")]),a._v(" "),e("p",[a._v("If markdown is used the file SHOULD be named "),e("code",[a._v("README.md")]),a._v(" and otherwise SHOULD be named "),e("code",[a._v("README.txt")]),a._v(".")]),a._v(" "),e("h3",{attrs:{id:"sections"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#sections"}},[a._v("#")]),a._v(" Sections")]),a._v(" "),e("p",[a._v("You can include anything you like in your README. It is standard practice to include some (if possible all) of the following sections: "),e("strong",[a._v("Introduction, Data, Preparation, License")]),a._v(".")]),a._v(" "),e("p",[a._v("We SHOULD NOT include the title of the Data Package at the top of the README.")]),a._v(" "),e("p",[a._v("Each section other than the introduction should be headed with its name using level 2 heading in markdown e.g. for the data section you would have the following markdown in your README:")]),a._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[a._v("## Data\n")])])]),e("h4",{attrs:{id:"introduction"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[a._v("#")]),a._v(" Introduction")]),a._v(" "),e("p",[a._v("Start with a short description of the dataset (the first sentence and first paragraph should be extractable to provide short standalone descriptions).")]),a._v(" "),e("p",[a._v("Unlike other sections "),e("strong",[a._v("this section SHOULD NOT have a heading")]),a._v(" as it starts the README. (i.e. you do not need the heading "),e("code",[a._v("## Introduction")])]),a._v(" "),e("h4",{attrs:{id:"data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#data"}},[a._v("#")]),a._v(" Data")]),a._v(" "),e("p",[a._v("Put specific information about the data in a Data section. This can be things like information about the source of the data, the specific structure of the data, missing values etc.")]),a._v(" "),e("h4",{attrs:{id:"preparation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#preparation"}},[a._v("#")]),a._v(" Preparation")]),a._v(" "),e("p",[a._v("Put information on preparing the data in a Preparation section. In particular, any instructions about how to run any preparation and processing scripts to generate the data should go here.")]),a._v(" "),e("h4",{attrs:{id:"license"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#license"}},[a._v("#")]),a._v(" License")]),a._v(" "),e("p",[a._v("Put additional information on the permissions and licensing of the data in the Data Package in the License section.")]),a._v(" "),e("p",[a._v("Since licensing information is often not clear from the data producers, the guideline here is to license the Data Package under the Public Domain Dedication and License, and then to add any relevant information or disclaimers regarding the source data.")]),a._v(" "),e("p",[a._v("See, for example:")]),a._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://datahub.io/core/corruption-perceptions-index#readme",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/corruption-perceptions-index#readme"),e("OutboundLink")],1)]),a._v(" "),e("li",[e("a",{attrs:{href:"http://datahub.io/core/geo-nuts-administrative-boundaries#readme",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/geo-nuts-administrative-boundaries#readme"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("See also the following thread "),e("a",{attrs:{href:"https://discuss.okfn.org/t/copyright-on-data-sources/189",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://discuss.okfn.org/t/copyright-on-data-sources/189"),e("OutboundLink")],1)]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"validate-and-preview-your-data-package"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validate-and-preview-your-data-package"}},[a._v("#")]),a._v(" Validate and preview your Data Package")]),a._v(" "),e("p",[a._v("Use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package Creator"),e("OutboundLink")],1),a._v(" to check that your "),e("code",[a._v("datapackage.json")]),a._v(" and Data Package are good to go. Simply drop the URL to your "),e("code",[a._v("datapackage.json")]),a._v(" file in the input box, or upload from a local source, and press "),e("code",[a._v("Validate")]),a._v(". If everything is fine, "),e("code",[a._v("Status: Valid")]),a._v(" is returned.")]),a._v(" "),e("p",[a._v("Then use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Online Data Package viewer app"),e("OutboundLink")],1),a._v(" to have a preview of your Data Package.")]),a._v(" "),e("hr"),a._v(" "),e("h2",{attrs:{id:"examples"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),e("p",[a._v("For examples of well-structured Data Package see:")]),a._v(" "),e("ul",[e("li",[a._v("For tabular data: "),e("a",{attrs:{href:"http://datahub.io/core/corruption-perceptions-index",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/corruption-perceptions-index"),e("OutboundLink")],1)]),a._v(" "),e("li",[a._v("For geospatial data: "),e("a",{attrs:{href:"http://datahub.io/core/geo-nuts-administrative-boundaries",target:"_blank",rel:"noopener noreferrer"}},[a._v("http://datahub.io/core/geo-nuts-administrative-boundaries"),e("OutboundLink")],1)])]),a._v(" "),e("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our new and comprehensive "),e("a",{attrs:{href:"/tag/field-guide"}},[a._v("Frictionless Data Field Guide")]),a._v(".")])])}),[],!1,null,null,null);t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/59.138b6560.js b/assets/js/59.3359464c.js similarity index 98% rename from assets/js/59.138b6560.js rename to assets/js/59.3359464c.js index 486ed2fb5..0cb446b13 100644 --- a/assets/js/59.138b6560.js +++ b/assets/js/59.3359464c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{556:function(a,e,t){"use strict";t.r(e);var o=t(29),s=Object(o.a)({},(function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("p",[a._v("Publishing your Geodata as Data Packages is very easy.")]),a._v(" "),t("p",[a._v("You have two options for publishing your geodata:")]),a._v(" "),t("ul",[t("li",[t("strong",[a._v("Geo Data Package")]),a._v(" (Recommended). This is a basic Data Package with the requirement that data be in GeoJSON and with a few special additions to the metadata for geodata. See the next section for instructions on how to do this.")]),a._v(" "),t("li",[t("strong",[a._v("Generic Data Package")]),a._v(". This allows you to publish geodata in any kind of format (KML, Shapefiles, Spatialite etc). If you choose this option you will want to follow the standard "),t("RouterLink",{attrs:{to:"/blog/2016/07/21/publish-any/"}},[a._v("instructions for packaging any kind of data as a Data Package")]),a._v(".")],1)]),a._v(" "),t("p",[a._v("We recommend Geo Data Package if that is possible as it makes it much easier for you to use 3rd party tools with your Data Package. For example, the "),t("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage viewer"),t("OutboundLink")],1),a._v(" on this site will automatically preview a Geo Data Package.")]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[t("em",[a._v("Note: this document focuses on "),t("em",[a._v("vector")]),a._v(" geodata – i.e. points, lines polygons etc (not imagery or raster data).")])])]),a._v(" "),t("h2",{attrs:{id:"geo-data-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#geo-data-packages"}},[a._v("#")]),a._v(" Geo Data Packages")]),a._v(" "),t("h3",{attrs:{id:"examples"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),t("h4",{attrs:{id:"traffic-signs-of-hansbeke-belgium"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#traffic-signs-of-hansbeke-belgium"}},[a._v("#")]),a._v(" "),t("a",{attrs:{href:"https://github.com/peterdesmet/traffic-signs-hansbeke",target:"_blank",rel:"noopener noreferrer"}},[a._v("Traffic signs of Hansbeke, Belgium"),t("OutboundLink")],1)]),a._v(" "),t("p",[a._v("Example of using "),t("code",[a._v("point")]),a._v(" geometries with described properties in real world situation.")]),a._v(" "),t("p",[t("a",{attrs:{href:"http://data.okfn.org/tools/view?url=https%3A%2F%2Fgithub.com%2Fpeterdesmet%2Ftraffic-signs-hansbeke",target:"_blank",rel:"noopener noreferrer"}},[a._v("View it with the Data Package Viewer"),t("OutboundLink")],1),a._v("("),t("em",[a._v("deprecated")]),a._v(")")]),a._v(" "),t("h4",{attrs:{id:"geojson-example-on-datahub"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#geojson-example-on-datahub"}},[a._v("#")]),a._v(" "),t("a",{attrs:{href:"https://datahub.io/examples/geojson-tutorial",target:"_blank",rel:"noopener noreferrer"}},[a._v("GeoJSON example on DataHub"),t("OutboundLink")],1)]),a._v(" "),t("h4",{attrs:{id:"see-more-geo-data-packages-in-the-example-data-packages-github-repository"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#see-more-geo-data-packages-in-the-example-data-packages-github-repository"}},[a._v("#")]),a._v(" See more Geo Data Packages in the "),t("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("example data packages"),t("OutboundLink")],1),a._v(" GitHub repository.")]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),t("a",{attrs:{href:"/introduction"}},[a._v("Introduction")]),a._v(".")])])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[59],{555:function(a,e,t){"use strict";t.r(e);var o=t(29),s=Object(o.a)({},(function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("p",[a._v("Publishing your Geodata as Data Packages is very easy.")]),a._v(" "),t("p",[a._v("You have two options for publishing your geodata:")]),a._v(" "),t("ul",[t("li",[t("strong",[a._v("Geo Data Package")]),a._v(" (Recommended). This is a basic Data Package with the requirement that data be in GeoJSON and with a few special additions to the metadata for geodata. See the next section for instructions on how to do this.")]),a._v(" "),t("li",[t("strong",[a._v("Generic Data Package")]),a._v(". This allows you to publish geodata in any kind of format (KML, Shapefiles, Spatialite etc). If you choose this option you will want to follow the standard "),t("RouterLink",{attrs:{to:"/blog/2016/07/21/publish-any/"}},[a._v("instructions for packaging any kind of data as a Data Package")]),a._v(".")],1)]),a._v(" "),t("p",[a._v("We recommend Geo Data Package if that is possible as it makes it much easier for you to use 3rd party tools with your Data Package. For example, the "),t("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage viewer"),t("OutboundLink")],1),a._v(" on this site will automatically preview a Geo Data Package.")]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[t("em",[a._v("Note: this document focuses on "),t("em",[a._v("vector")]),a._v(" geodata – i.e. points, lines polygons etc (not imagery or raster data).")])])]),a._v(" "),t("h2",{attrs:{id:"geo-data-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#geo-data-packages"}},[a._v("#")]),a._v(" Geo Data Packages")]),a._v(" "),t("h3",{attrs:{id:"examples"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[a._v("#")]),a._v(" Examples")]),a._v(" "),t("h4",{attrs:{id:"traffic-signs-of-hansbeke-belgium"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#traffic-signs-of-hansbeke-belgium"}},[a._v("#")]),a._v(" "),t("a",{attrs:{href:"https://github.com/peterdesmet/traffic-signs-hansbeke",target:"_blank",rel:"noopener noreferrer"}},[a._v("Traffic signs of Hansbeke, Belgium"),t("OutboundLink")],1)]),a._v(" "),t("p",[a._v("Example of using "),t("code",[a._v("point")]),a._v(" geometries with described properties in real world situation.")]),a._v(" "),t("p",[t("a",{attrs:{href:"http://data.okfn.org/tools/view?url=https%3A%2F%2Fgithub.com%2Fpeterdesmet%2Ftraffic-signs-hansbeke",target:"_blank",rel:"noopener noreferrer"}},[a._v("View it with the Data Package Viewer"),t("OutboundLink")],1),a._v("("),t("em",[a._v("deprecated")]),a._v(")")]),a._v(" "),t("h4",{attrs:{id:"geojson-example-on-datahub"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#geojson-example-on-datahub"}},[a._v("#")]),a._v(" "),t("a",{attrs:{href:"https://datahub.io/examples/geojson-tutorial",target:"_blank",rel:"noopener noreferrer"}},[a._v("GeoJSON example on DataHub"),t("OutboundLink")],1)]),a._v(" "),t("h4",{attrs:{id:"see-more-geo-data-packages-in-the-example-data-packages-github-repository"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#see-more-geo-data-packages-in-the-example-data-packages-github-repository"}},[a._v("#")]),a._v(" See more Geo Data Packages in the "),t("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages",target:"_blank",rel:"noopener noreferrer"}},[a._v("example data packages"),t("OutboundLink")],1),a._v(" GitHub repository.")]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),t("a",{attrs:{href:"/introduction"}},[a._v("Introduction")]),a._v(".")])])])}),[],!1,null,null,null);e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/61.28801f31.js b/assets/js/61.06527754.js similarity index 98% rename from assets/js/61.28801f31.js rename to assets/js/61.06527754.js index d9f343f22..d8c3044f5 100644 --- a/assets/js/61.28801f31.js +++ b/assets/js/61.06527754.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{558:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("You can publish "),e("strong",[t._v("all and any kind of data")]),t._v(" as Data packages. It’s as simple as 1-2-3:")]),t._v(" "),e("ol",[e("li",[t._v("Get your data together")]),t._v(" "),e("li",[t._v("Add a "),e("code",[t._v("datapackage.json")]),t._v(" file to wrap those data files up into a useful whole (with key information like the license, title and format)")]),t._v(" "),e("li",[t._v("[optional] Share it with others, for example, by uploading the data package online")])]),t._v(" "),e("h2",{attrs:{id:"_1-get-your-data-together"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-get-your-data-together"}},[t._v("#")]),t._v(" 1. Get your data together")]),t._v(" "),e("p",[t._v("Get your data together in one folder (you can have data in subfolders of that folder too, if you wish).")]),t._v(" "),e("h2",{attrs:{id:"_2-add-a-datapackage-json-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-add-a-datapackage-json-file"}},[t._v("#")]),t._v(" 2. Add a datapackage.json file")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("datapackage.json")]),t._v(" is a small file in "),e("a",{attrs:{href:"http://en.wikipedia.org/wiki/JSON",target:"_blank",rel:"noopener noreferrer"}},[t._v("JSON"),e("OutboundLink")],1),t._v(" format that describes your dataset. You’ll need to create this file and then place it in the directory you created.")]),t._v(" "),e("p",[e("em",[t._v("Don’t worry if you don’t know what JSON is - we provide some tools such as "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),e("OutboundLink")],1),t._v(" that can automatically create this file for you.")])]),t._v(" "),e("p",[t._v("There are 2 options for creating the "),e("code",[t._v("datapackage.json")]),t._v(":")]),t._v(" "),e("p",[e("strong",[t._v("Option 1")]),t._v(": Use the online "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage.json creator tool"),e("OutboundLink")],1),t._v(" - just answer a few questions and give it your data files and it will spit out a datapackage.json for you to include in your project")]),t._v(" "),e("p",[e("strong",[t._v("Option 2")]),t._v(": Do it yourself - if you’re familiar with JSON you can create this yourself. Take a look at the "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Specification"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"_3-put-the-data-package-online"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_3-put-the-data-package-online"}},[t._v("#")]),t._v(" 3. Put the data package online")]),t._v(" "),e("p",[t._v("See the "),e("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[t._v("step-by-step instructions for putting your Data Package online")]),t._v(".")],1),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),e("a",{attrs:{href:"/introduction"}},[t._v("Introduction")]),t._v(".")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[61],{559:function(t,a,e){"use strict";e.r(a);var o=e(29),r=Object(o.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("You can publish "),e("strong",[t._v("all and any kind of data")]),t._v(" as Data packages. It’s as simple as 1-2-3:")]),t._v(" "),e("ol",[e("li",[t._v("Get your data together")]),t._v(" "),e("li",[t._v("Add a "),e("code",[t._v("datapackage.json")]),t._v(" file to wrap those data files up into a useful whole (with key information like the license, title and format)")]),t._v(" "),e("li",[t._v("[optional] Share it with others, for example, by uploading the data package online")])]),t._v(" "),e("h2",{attrs:{id:"_1-get-your-data-together"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-get-your-data-together"}},[t._v("#")]),t._v(" 1. Get your data together")]),t._v(" "),e("p",[t._v("Get your data together in one folder (you can have data in subfolders of that folder too, if you wish).")]),t._v(" "),e("h2",{attrs:{id:"_2-add-a-datapackage-json-file"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-add-a-datapackage-json-file"}},[t._v("#")]),t._v(" 2. Add a datapackage.json file")]),t._v(" "),e("p",[t._v("The "),e("code",[t._v("datapackage.json")]),t._v(" is a small file in "),e("a",{attrs:{href:"http://en.wikipedia.org/wiki/JSON",target:"_blank",rel:"noopener noreferrer"}},[t._v("JSON"),e("OutboundLink")],1),t._v(" format that describes your dataset. You’ll need to create this file and then place it in the directory you created.")]),t._v(" "),e("p",[e("em",[t._v("Don’t worry if you don’t know what JSON is - we provide some tools such as "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),e("OutboundLink")],1),t._v(" that can automatically create this file for you.")])]),t._v(" "),e("p",[t._v("There are 2 options for creating the "),e("code",[t._v("datapackage.json")]),t._v(":")]),t._v(" "),e("p",[e("strong",[t._v("Option 1")]),t._v(": Use the online "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage.json creator tool"),e("OutboundLink")],1),t._v(" - just answer a few questions and give it your data files and it will spit out a datapackage.json for you to include in your project")]),t._v(" "),e("p",[e("strong",[t._v("Option 2")]),t._v(": Do it yourself - if you’re familiar with JSON you can create this yourself. Take a look at the "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Specification"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h2",{attrs:{id:"_3-put-the-data-package-online"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_3-put-the-data-package-online"}},[t._v("#")]),t._v(" 3. Put the data package online")]),t._v(" "),e("p",[t._v("See the "),e("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[t._v("step-by-step instructions for putting your Data Package online")]),t._v(".")],1),t._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),e("p",[t._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),e("a",{attrs:{href:"/introduction"}},[t._v("Introduction")]),t._v(".")])])])}),[],!1,null,null,null);a.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/62.88c79852.js b/assets/js/62.4f9cc97f.js similarity index 98% rename from assets/js/62.88c79852.js rename to assets/js/62.4f9cc97f.js index 91703318b..f41612894 100644 --- a/assets/js/62.88c79852.js +++ b/assets/js/62.4f9cc97f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{559:function(a,e,t){"use strict";t.r(e);var o=t(29),r=Object(o.a)({},(function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("p",[a._v("Here’s how to publish your tabular data as "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),t("OutboundLink")],1),a._v(". There are 4 steps:")]),a._v(" "),t("ol",[t("li",[a._v("Create a folder (directory) - this folder will hold your “data package”")]),a._v(" "),t("li",[a._v("Put your data into comma-separated values files ("),t("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[a._v("CSV")]),a._v(") and add them to that folder")],1),a._v(" "),t("li",[a._v("Add a "),t("code",[a._v("datapackage.json")]),a._v(" file to hold some information about the data package and the data in it e.g. a title, who created it, how other people can use it (licensing), etc")]),a._v(" "),t("li",[a._v("Upload the data package online")])]),a._v(" "),t("h3",{attrs:{id:"_1-create-a-directory-folder"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-create-a-directory-folder"}},[a._v("#")]),a._v(" 1. Create a Directory (Folder)")]),a._v(" "),t("h3",{attrs:{id:"_2-create-your-csv-files"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-create-your-csv-files"}},[a._v("#")]),a._v(" 2. Create your CSV files")]),a._v(" "),t("p",[a._v("CSV is a common file format for storing a (single) table of data (for example, a single sheet in a spreadsheet). If you’ve got more than one table you can save multiple CSV files, one for each table.")]),a._v(" "),t("p",[a._v("Put the CSV files in the directory you created – we suggest putting them in a subdirectory called "),t("code",[a._v("data")]),a._v(" so that your base directory does not get too cluttered up.")]),a._v(" "),t("p",[a._v("You can produce CSV files from almost any application that handles data including spreadsheets like Excel and databases like MySQL or Postgresql.")]),a._v(" "),t("p",[a._v("You can find out more about CSVs and how to produce them in our "),t("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[a._v("guide to CSV")]),a._v(" or by doing a quick search online for CSV + the name of your tool.")],1),a._v(" "),t("h3",{attrs:{id:"_3-add-a-datapackage-json-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-add-a-datapackage-json-file"}},[a._v("#")]),a._v(" 3. Add a datapackage.json file")]),a._v(" "),t("p",[a._v("The "),t("code",[a._v("datapackage.json")]),a._v(" is a small file in "),t("a",{attrs:{href:"http://en.wikipedia.org/wiki/JSON",target:"_blank",rel:"noopener noreferrer"}},[a._v("JSON"),t("OutboundLink")],1),a._v(" format that gives a bit of information about your dataset. You’ll need to create this file and then place it in the directory you created.")]),a._v(" "),t("blockquote",[t("p",[t("em",[a._v("Don’t worry if you don’t know what JSON is - we provide some tools that can automatically create your this file for you.")])])]),a._v(" "),t("p",[a._v("There are three options for creating the "),t("code",[a._v("datapackage.json")]),a._v(":")]),a._v(" "),t("p",[t("strong",[a._v("Option 1:")]),a._v(" Use the online "),t("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.json creator tool"),t("OutboundLink")],1),a._v(" - answer a few questions and give it your data files and it will spit out a "),t("code",[a._v("datapackage.json")]),a._v(" for you to include in your project.")]),a._v(" "),t("p",[t("strong",[a._v("Option 2:")]),a._v(" Do it yourself - if you’re familiar with JSON you can create this yourself. Take a look at the "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package"),t("OutboundLink")],1),a._v(" and "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Format"),t("OutboundLink")],1),a._v(" specifications.")]),a._v(" "),t("p",[t("strong",[a._v("Option 3:")]),a._v(" Use the Python, JavaScript, PHP, Julia, R, Clojure, Java, Ruby or Go "),t("a",{attrs:{href:"/software"}},[a._v("libraries")]),a._v(" for working with data packages.")]),a._v(" "),t("h3",{attrs:{id:"_4-put-the-data-package-online"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_4-put-the-data-package-online"}},[a._v("#")]),a._v(" 4. Put the data package online")]),a._v(" "),t("p",[a._v("See "),t("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[a._v("Putting Your Data Package online")])],1),a._v(" "),t("hr"),a._v(" "),t("h2",{attrs:{id:"appendix-examples-of-tabular-data-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#appendix-examples-of-tabular-data-packages"}},[a._v("#")]),a._v(" Appendix: Examples of Tabular Data Packages")]),a._v(" "),t("p",[a._v("Pay special attention to the scripts directory (and look at the commit logs!)")]),a._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://datahub.io/core/finance-vix",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/finance-vix"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/s-and-p-500-companies",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/s-and-p-500-companies"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/co2-fossil-global",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/co2-fossil-global"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/imf-weo",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/imf-weo"),t("OutboundLink")],1)])]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),t("a",{attrs:{href:"/introduction"}},[a._v("introduction")]),a._v(".")])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[62],{558:function(a,e,t){"use strict";t.r(e);var o=t(29),r=Object(o.a)({},(function(){var a=this,e=a.$createElement,t=a._self._c||e;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("p",[a._v("Here’s how to publish your tabular data as "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),t("OutboundLink")],1),a._v(". There are 4 steps:")]),a._v(" "),t("ol",[t("li",[a._v("Create a folder (directory) - this folder will hold your “data package”")]),a._v(" "),t("li",[a._v("Put your data into comma-separated values files ("),t("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[a._v("CSV")]),a._v(") and add them to that folder")],1),a._v(" "),t("li",[a._v("Add a "),t("code",[a._v("datapackage.json")]),a._v(" file to hold some information about the data package and the data in it e.g. a title, who created it, how other people can use it (licensing), etc")]),a._v(" "),t("li",[a._v("Upload the data package online")])]),a._v(" "),t("h3",{attrs:{id:"_1-create-a-directory-folder"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-create-a-directory-folder"}},[a._v("#")]),a._v(" 1. Create a Directory (Folder)")]),a._v(" "),t("h3",{attrs:{id:"_2-create-your-csv-files"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-create-your-csv-files"}},[a._v("#")]),a._v(" 2. Create your CSV files")]),a._v(" "),t("p",[a._v("CSV is a common file format for storing a (single) table of data (for example, a single sheet in a spreadsheet). If you’ve got more than one table you can save multiple CSV files, one for each table.")]),a._v(" "),t("p",[a._v("Put the CSV files in the directory you created – we suggest putting them in a subdirectory called "),t("code",[a._v("data")]),a._v(" so that your base directory does not get too cluttered up.")]),a._v(" "),t("p",[a._v("You can produce CSV files from almost any application that handles data including spreadsheets like Excel and databases like MySQL or Postgresql.")]),a._v(" "),t("p",[a._v("You can find out more about CSVs and how to produce them in our "),t("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[a._v("guide to CSV")]),a._v(" or by doing a quick search online for CSV + the name of your tool.")],1),a._v(" "),t("h3",{attrs:{id:"_3-add-a-datapackage-json-file"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-add-a-datapackage-json-file"}},[a._v("#")]),a._v(" 3. Add a datapackage.json file")]),a._v(" "),t("p",[a._v("The "),t("code",[a._v("datapackage.json")]),a._v(" is a small file in "),t("a",{attrs:{href:"http://en.wikipedia.org/wiki/JSON",target:"_blank",rel:"noopener noreferrer"}},[a._v("JSON"),t("OutboundLink")],1),a._v(" format that gives a bit of information about your dataset. You’ll need to create this file and then place it in the directory you created.")]),a._v(" "),t("blockquote",[t("p",[t("em",[a._v("Don’t worry if you don’t know what JSON is - we provide some tools that can automatically create your this file for you.")])])]),a._v(" "),t("p",[a._v("There are three options for creating the "),t("code",[a._v("datapackage.json")]),a._v(":")]),a._v(" "),t("p",[t("strong",[a._v("Option 1:")]),a._v(" Use the online "),t("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.json creator tool"),t("OutboundLink")],1),a._v(" - answer a few questions and give it your data files and it will spit out a "),t("code",[a._v("datapackage.json")]),a._v(" for you to include in your project.")]),a._v(" "),t("p",[t("strong",[a._v("Option 2:")]),a._v(" Do it yourself - if you’re familiar with JSON you can create this yourself. Take a look at the "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Data Package"),t("OutboundLink")],1),a._v(" and "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Format"),t("OutboundLink")],1),a._v(" specifications.")]),a._v(" "),t("p",[t("strong",[a._v("Option 3:")]),a._v(" Use the Python, JavaScript, PHP, Julia, R, Clojure, Java, Ruby or Go "),t("a",{attrs:{href:"/software"}},[a._v("libraries")]),a._v(" for working with data packages.")]),a._v(" "),t("h3",{attrs:{id:"_4-put-the-data-package-online"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_4-put-the-data-package-online"}},[a._v("#")]),a._v(" 4. Put the data package online")]),a._v(" "),t("p",[a._v("See "),t("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[a._v("Putting Your Data Package online")])],1),a._v(" "),t("hr"),a._v(" "),t("h2",{attrs:{id:"appendix-examples-of-tabular-data-packages"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#appendix-examples-of-tabular-data-packages"}},[a._v("#")]),a._v(" Appendix: Examples of Tabular Data Packages")]),a._v(" "),t("p",[a._v("Pay special attention to the scripts directory (and look at the commit logs!)")]),a._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://datahub.io/core/finance-vix",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/finance-vix"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/s-and-p-500-companies",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/s-and-p-500-companies"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/co2-fossil-global",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/co2-fossil-global"),t("OutboundLink")],1)]),a._v(" "),t("li",[t("a",{attrs:{href:"https://datahub.io/core/imf-weo",target:"_blank",rel:"noopener noreferrer"}},[a._v("datahub.io/core/imf-weo"),t("OutboundLink")],1)])]),a._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),t("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),t("a",{attrs:{href:"/introduction"}},[a._v("introduction")]),a._v(".")])])])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/63.a8712733.js b/assets/js/63.85baa685.js similarity index 97% rename from assets/js/63.a8712733.js rename to assets/js/63.85baa685.js index 8fd07b7d9..226dfbc7d 100644 --- a/assets/js/63.a8712733.js +++ b/assets/js/63.85baa685.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{561:function(a,t,s){"use strict";s.r(t);var i=s(29),e=Object(i.a)({},(function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("p",[a._v("You can publish "),s("strong",[a._v("any kind of data")]),a._v(" as a Data Package.")]),a._v(" "),s("p",[a._v("Making existing data into a Data Package is very straightforward. Once you have packaged up your data, you can make it available for others by "),s("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[a._v("putting it online")]),a._v(" or sending an email.")],1),a._v(" "),s("h2",{attrs:{id:"i-want-to-package-up-and-publish-data-that-is"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#i-want-to-package-up-and-publish-data-that-is"}},[a._v("#")]),a._v(" I want to package up and publish data that is …")]),a._v(" "),s("h3",{attrs:{id:"tabular"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tabular"}},[a._v("#")]),a._v(" Tabular")]),a._v(" "),s("p",[a._v("Rows and columns like in a spreadsheet? It’s tabular …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/07/21/publish-tabular"}},[a._v("Here’s a tutorial on publishing tabular data")])]),a._v(" "),s("h3",{attrs:{id:"geospatial"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#geospatial"}},[a._v("#")]),a._v(" Geospatial")]),a._v(" "),s("p",[a._v("Map or location related? It’s geospatial …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/04/30/publish-geo"}},[a._v("Here’s a tutorial on publishing geodata")])]),a._v(" "),s("h3",{attrs:{id:"any-kind"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#any-kind"}},[a._v("#")]),a._v(" Any Kind")]),a._v(" "),s("p",[a._v("Any kind of data you have - graph, binary, RDF …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/07/21/publish-any"}},[a._v("Here’s a tutorial on publishing other types of data")])]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),s("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),s("a",{attrs:{href:"/introduction"}},[a._v("introduction")]),a._v(".")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[63],{563:function(a,t,s){"use strict";s.r(t);var i=s(29),e=Object(i.a)({},(function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("p",[a._v("You can publish "),s("strong",[a._v("any kind of data")]),a._v(" as a Data Package.")]),a._v(" "),s("p",[a._v("Making existing data into a Data Package is very straightforward. Once you have packaged up your data, you can make it available for others by "),s("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[a._v("putting it online")]),a._v(" or sending an email.")],1),a._v(" "),s("h2",{attrs:{id:"i-want-to-package-up-and-publish-data-that-is"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#i-want-to-package-up-and-publish-data-that-is"}},[a._v("#")]),a._v(" I want to package up and publish data that is …")]),a._v(" "),s("h3",{attrs:{id:"tabular"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#tabular"}},[a._v("#")]),a._v(" Tabular")]),a._v(" "),s("p",[a._v("Rows and columns like in a spreadsheet? It’s tabular …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/07/21/publish-tabular"}},[a._v("Here’s a tutorial on publishing tabular data")])]),a._v(" "),s("h3",{attrs:{id:"geospatial"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#geospatial"}},[a._v("#")]),a._v(" Geospatial")]),a._v(" "),s("p",[a._v("Map or location related? It’s geospatial …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/04/30/publish-geo"}},[a._v("Here’s a tutorial on publishing geodata")])]),a._v(" "),s("h3",{attrs:{id:"any-kind"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#any-kind"}},[a._v("#")]),a._v(" Any Kind")]),a._v(" "),s("p",[a._v("Any kind of data you have - graph, binary, RDF …")]),a._v(" "),s("p",[s("a",{attrs:{href:"/blog/2016/07/21/publish-any"}},[a._v("Here’s a tutorial on publishing other types of data")])]),a._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),s("p",[a._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our "),s("a",{attrs:{href:"/introduction"}},[a._v("introduction")]),a._v(".")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/68.4cf46b70.js b/assets/js/68.06ed6341.js similarity index 98% rename from assets/js/68.4cf46b70.js rename to assets/js/68.06ed6341.js index fc871888a..127942370 100644 --- a/assets/js/68.4cf46b70.js +++ b/assets/js/68.06ed6341.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{574:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("The Workforce Data Initiative aims to modernize the US workforce through the use of data. One aspect of this initiative is to help state and local workforce boards collect, aggregate, and distribute statistics on the effectiveness of training providers and the programs they offer. The US Department of Labor mandates that every eligible training provider (ETP) work with state workforce"),a("br"),e._v("\nboards to track the outcomes of their students in order to receive federal funding. We are building a suite of open-source tools using open data specifications in order to help make this a reality; this collection of tools is called the Training Provider Outcomes Toolkit (TPOT). This specific tool, the etp-uploader, is a website that state workforce boards can deploy for training providers to upload their individual-level data.")]),e._v(" "),a("p",[e._v("There are many hundreds or thousands of training providers within the purview of each workforce development board. Each one must securely upload their participant data to their workforce board. This means that the workforce development boards must be equipped to receive and validate the data.")]),e._v(" "),a("p",[e._v("Training providers range from small trade apprenticeships to community colleges to multi-state organizations, with a wide range of data sophistication. The ways in which the workforce data board collects participant outcomes must be easy and accessible to all organizations. At the same time, it must be easy for the board itself to automatically process and validate the datasets.")]),e._v(" "),a("p",[e._v("We use the Frictionless Data Table Schema specification to define the required columns and data value constraints. This is decoupled from the code, allowing each state to precisely define their requirements and easily create custom instances of the site. We expose this flexibility through a "),a("a",{attrs:{href:"https://id.heroku.com/login",target:"_blank",rel:"noopener noreferrer"}},[e._v("Heroku build script"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("We have modified the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-web",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-web project"),a("OutboundLink")],1),e._v(" to add support for uploading to an S3 repository. We’ve further extended it to allow for uploading metadata about the uploaded file after it is validated. This metadata is uploaded as a separate file. In the future, we may use the data package standard to describe these two files as a single data package.")]),e._v(" "),a("p",[e._v("I am excited to see the new developments around goodtables-py 1.0 and beyond. It will be nice to eventually move our upload website to the new APIs. One possible area for improvement in the goodtables-web validator is better error messages when specific data values do not match constraints. I’ve imagined adding a custom “data_constraint_error” field to the Table Schema that would allow for friendlier errors, or perhaps dynamically generating such error messages using the constraints themselves.")]),e._v(" "),a("p",[e._v("I think that this general structure — a validated table upload software — is very useful and could be used for a wide variety of applications. It may make sense to allow for even more easy customizations to the site.")]),e._v(" "),a("p",[e._v("The extension to goodtables-web is open source and available "),a("a",{attrs:{href:"https://github.com/workforce-data-initiative/etp-uploader",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" with a demo also running at "),a("a",{attrs:{href:"http://send.dataatwork.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://send.dataatwork.org"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{573:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("The Workforce Data Initiative aims to modernize the US workforce through the use of data. One aspect of this initiative is to help state and local workforce boards collect, aggregate, and distribute statistics on the effectiveness of training providers and the programs they offer. The US Department of Labor mandates that every eligible training provider (ETP) work with state workforce"),a("br"),e._v("\nboards to track the outcomes of their students in order to receive federal funding. We are building a suite of open-source tools using open data specifications in order to help make this a reality; this collection of tools is called the Training Provider Outcomes Toolkit (TPOT). This specific tool, the etp-uploader, is a website that state workforce boards can deploy for training providers to upload their individual-level data.")]),e._v(" "),a("p",[e._v("There are many hundreds or thousands of training providers within the purview of each workforce development board. Each one must securely upload their participant data to their workforce board. This means that the workforce development boards must be equipped to receive and validate the data.")]),e._v(" "),a("p",[e._v("Training providers range from small trade apprenticeships to community colleges to multi-state organizations, with a wide range of data sophistication. The ways in which the workforce data board collects participant outcomes must be easy and accessible to all organizations. At the same time, it must be easy for the board itself to automatically process and validate the datasets.")]),e._v(" "),a("p",[e._v("We use the Frictionless Data Table Schema specification to define the required columns and data value constraints. This is decoupled from the code, allowing each state to precisely define their requirements and easily create custom instances of the site. We expose this flexibility through a "),a("a",{attrs:{href:"https://id.heroku.com/login",target:"_blank",rel:"noopener noreferrer"}},[e._v("Heroku build script"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("We have modified the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-web",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables-web project"),a("OutboundLink")],1),e._v(" to add support for uploading to an S3 repository. We’ve further extended it to allow for uploading metadata about the uploaded file after it is validated. This metadata is uploaded as a separate file. In the future, we may use the data package standard to describe these two files as a single data package.")]),e._v(" "),a("p",[e._v("I am excited to see the new developments around goodtables-py 1.0 and beyond. It will be nice to eventually move our upload website to the new APIs. One possible area for improvement in the goodtables-web validator is better error messages when specific data values do not match constraints. I’ve imagined adding a custom “data_constraint_error” field to the Table Schema that would allow for friendlier errors, or perhaps dynamically generating such error messages using the constraints themselves.")]),e._v(" "),a("p",[e._v("I think that this general structure — a validated table upload software — is very useful and could be used for a wide variety of applications. It may make sense to allow for even more easy customizations to the site.")]),e._v(" "),a("p",[e._v("The extension to goodtables-web is open source and available "),a("a",{attrs:{href:"https://github.com/workforce-data-initiative/etp-uploader",target:"_blank",rel:"noopener noreferrer"}},[e._v("here"),a("OutboundLink")],1),e._v(" with a demo also running at "),a("a",{attrs:{href:"http://send.dataatwork.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://send.dataatwork.org"),a("OutboundLink")],1)])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/69.9af9f3cd.js b/assets/js/69.4de21da2.js similarity index 98% rename from assets/js/69.9af9f3cd.js rename to assets/js/69.4de21da2.js index 916e698e8..c13a7175c 100644 --- a/assets/js/69.9af9f3cd.js +++ b/assets/js/69.4de21da2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{578:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Georges Labreche for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[e._v("I arrived in Kosovo from New York back in 2014 in order to conduct field research for my Masters thesis in International Affairs: I was studying the distinct phenomenon of Digital State-Building, i.e. the use of online digital technologies to promote statehood. I didn’t pack much on my trip here but did bring along a lot of entrepreneurial drive to start a digital agency with strong elements of corporate social responsibility and tech community building. Initially, I had hoped to leverage my background as a Software Engineer to build a small service-oriented startup, but in light of Kosovo’s ongoing state-building processes and push for good governance and anti-corruption, I saw the opportunity to establish a civic-tech NGO, "),a("a",{attrs:{href:"https://opendatakosovo.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Kosovo"),a("OutboundLink")],1),e._v(" (ODK), as a means of getting local techies to play an active part in state-building by applying their digital skills towards contributing to increasing government transparency and accountability.")]),e._v(" "),a("p",[e._v("Work aside, I have a passion for continuous learning so if you were to meet me I would probably steer the conversation towards what I recently learned on my latest online edX course. My current deep-dives are around space, physics, astronautics and robotics and it is likely that you would find me happily struggling on my homework for online courses in these fields or getting excited about the next scheduled SpaceX launch in my spare time. I am also passionate about travel, particularly experiences that combine visits to UNESCO World Heritage sites, discovery of local cuisines, as well as hiking and mountain climbing in the great outdoors.")]),e._v(" "),a("p",[e._v("I first heard about Frictionless Data from "),a("a",{attrs:{href:"https://tin.fyi/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tin Geber"),a("OutboundLink")],1),e._v(" (formerly of The Engine Room). He directly contacted me with a link to the Frictionless Data Tool Fund grant and asked me to apply. A couple of days later, "),a("a",{attrs:{href:"https://fr.linkedin.com/in/andrew-russell-b4a4665",target:"_blank",rel:"noopener noreferrer"}},[e._v("Andrew Russell"),a("OutboundLink")],1),e._v(", the UN Development Coordinator and UNDP Resident Representative in Kosovo, asked me about Frictionless Data and the Tool Fund grant on Twitter and I have since had the opportunity to explain the concept behind Frictionless Data to several people.")]),e._v(" "),a("p",[e._v("At first I was just really excited about using the already available Frictionless Data Python library for a procurement data importer we were working on for an Open Contracting Data Standard (OCDS) project. Here in Kosovo, my organization has liberated public procurement datasets that we’ve transformed into an open format but without any strong nor consistent data processing methodology. As I went through the specifications, it became clear to me that it was exactly what our procurement data liberation workflow was missing. I also wanted to do more than just use it, I wanted to contribute to it and make it more accessible to other developer communities, and especially in Java, which I am proficient in.")]),e._v(" "),a("p",[e._v("Data is messy and, for developers, cleaning and processing data from one project to another can quickly turn an awesome end-product idea into a burdensome chore. Data packages and Frictionless Data tools and libraries are important because they allow developers to focus more on the end-product itself without having to worry about heavy lifting in the data processing pipeline.")]),e._v(" "),a("p",[e._v("Members of programming communities are, as a whole, involved in infinitely diverse projects and problem solving initiatives. Working with that diversity allows us to explore use cases that we would never have imagined when conceptualizing such libraries and tapping into such an ecosystem of programmers would serve to enhance future versions of the libraries.")]),e._v(" "),a("p",[e._v("All my work around extending implementation of Frictionless Data libraries in Java will be available on Github in these two repositories: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage-java"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-java"),a("OutboundLink")],1),e._v(", and comments, forks and pull requests are welcome.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[69],{580:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Georges Labreche for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[e._v("I arrived in Kosovo from New York back in 2014 in order to conduct field research for my Masters thesis in International Affairs: I was studying the distinct phenomenon of Digital State-Building, i.e. the use of online digital technologies to promote statehood. I didn’t pack much on my trip here but did bring along a lot of entrepreneurial drive to start a digital agency with strong elements of corporate social responsibility and tech community building. Initially, I had hoped to leverage my background as a Software Engineer to build a small service-oriented startup, but in light of Kosovo’s ongoing state-building processes and push for good governance and anti-corruption, I saw the opportunity to establish a civic-tech NGO, "),a("a",{attrs:{href:"https://opendatakosovo.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Data Kosovo"),a("OutboundLink")],1),e._v(" (ODK), as a means of getting local techies to play an active part in state-building by applying their digital skills towards contributing to increasing government transparency and accountability.")]),e._v(" "),a("p",[e._v("Work aside, I have a passion for continuous learning so if you were to meet me I would probably steer the conversation towards what I recently learned on my latest online edX course. My current deep-dives are around space, physics, astronautics and robotics and it is likely that you would find me happily struggling on my homework for online courses in these fields or getting excited about the next scheduled SpaceX launch in my spare time. I am also passionate about travel, particularly experiences that combine visits to UNESCO World Heritage sites, discovery of local cuisines, as well as hiking and mountain climbing in the great outdoors.")]),e._v(" "),a("p",[e._v("I first heard about Frictionless Data from "),a("a",{attrs:{href:"https://tin.fyi/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tin Geber"),a("OutboundLink")],1),e._v(" (formerly of The Engine Room). He directly contacted me with a link to the Frictionless Data Tool Fund grant and asked me to apply. A couple of days later, "),a("a",{attrs:{href:"https://fr.linkedin.com/in/andrew-russell-b4a4665",target:"_blank",rel:"noopener noreferrer"}},[e._v("Andrew Russell"),a("OutboundLink")],1),e._v(", the UN Development Coordinator and UNDP Resident Representative in Kosovo, asked me about Frictionless Data and the Tool Fund grant on Twitter and I have since had the opportunity to explain the concept behind Frictionless Data to several people.")]),e._v(" "),a("p",[e._v("At first I was just really excited about using the already available Frictionless Data Python library for a procurement data importer we were working on for an Open Contracting Data Standard (OCDS) project. Here in Kosovo, my organization has liberated public procurement datasets that we’ve transformed into an open format but without any strong nor consistent data processing methodology. As I went through the specifications, it became clear to me that it was exactly what our procurement data liberation workflow was missing. I also wanted to do more than just use it, I wanted to contribute to it and make it more accessible to other developer communities, and especially in Java, which I am proficient in.")]),e._v(" "),a("p",[e._v("Data is messy and, for developers, cleaning and processing data from one project to another can quickly turn an awesome end-product idea into a burdensome chore. Data packages and Frictionless Data tools and libraries are important because they allow developers to focus more on the end-product itself without having to worry about heavy lifting in the data processing pipeline.")]),e._v(" "),a("p",[e._v("Members of programming communities are, as a whole, involved in infinitely diverse projects and problem solving initiatives. Working with that diversity allows us to explore use cases that we would never have imagined when conceptualizing such libraries and tapping into such an ecosystem of programmers would serve to enhance future versions of the libraries.")]),e._v(" "),a("p",[e._v("All my work around extending implementation of Frictionless Data libraries in Java will be available on Github in these two repositories: "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage-java"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema-java"),a("OutboundLink")],1),e._v(", and comments, forks and pull requests are welcome.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/7.340e27ee.js b/assets/js/7.298968dd.js similarity index 95% rename from assets/js/7.340e27ee.js rename to assets/js/7.298968dd.js index a6e682867..587ba6eeb 100644 --- a/assets/js/7.340e27ee.js +++ b/assets/js/7.298968dd.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{461:function(t,a,s){t.exports=s.p+"assets/img/goodtables-screenshot.48a106ce.png"},462:function(t,a,s){t.exports=s.p+"assets/img/goodtables-provide-data.78adcaea.png"},463:function(t,a){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKIAAABDCAYAAAAf6t48AAAMKWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAhGQEnoTpUiXGloAAamCjZAEEkqICUHFjiwquBZURLEiqyIKrgWQxYa9LIq9PxBRUdbFgg2VN0kAXf3ee9873zf3/vfMmXP+c+7MfDMAqEdzxOIsVAOAbFGuJCYkgDkxKZlJegQwYADUgDUw43ClYv/o6AgAZej9T3l3EyDy9zV7ua+f+/+raPL4Ui4ASDTEqTwpNxvigwDgrlyxJBcAQg/Um83IFUNMhCyBtgQShNhcjtOV2F2OU5U4QmETF8OCOAUAFSqHI0kHQE3Oi5nHTYd+1JZB7CDiCUUQN0PswxVweBB/hnhUdnYOxOrWEFunfucn/R8+U4d9cjjpw1iZi0JUAoVScRZn1v9Zjv8t2VmyoRhmsFEFktAYec7yumXmhMsxFeJzotTIKIi1IL4u5Cns5fiJQBYaP2j/gStlwZoBBgAolccJDIfYAGJTUVZkxKDeJ00YzIYY1h6NE+ay45RjUZ4kJ2bQPzqTLw2KHcIciSKW3KZYlhnvP+hzs4DPHvLZlC+IS1TyRK/kCRMiIVaD+L40MzZ80OZ5voAVOWQjkcXIOcN/joE0SXCM0gYzz5YO5YV5CoTsyEEckSuIC1WOxaZyOQpuuhBn8KUTI4Z48viBQcq8sAK+KH6QP1Yqzg2IGbSvEmdFD9pjzfysELneFOJWaV7s0NjeXDjZlPniQJwbHafkhmtncMKilRxwWxABWCAQMIEMtlSQAzKAsLWnoQd+KXuCAQdIQDrgA/tBzdCIREWPCD5jQT74CyI+kA6PC1D08kEe1H8Z1iqf9iBN0ZunGJEJnkCcDcJBFvyWKUaJhqMlgMdQI/wpOhdyzYJN3veTjqk+pCMGEQOJocRgog2uj/vgXngEfPrB5oS74x5DvL7ZE54Q2giPCDcI7YQ704QFkh+YM8F40A45Bg9ml/p9drgl9OqCB+De0D/0jTNwfWCPj4WR/HFfGNsFar/nKhvO+FstB32RHcgoeQTZj2z9IwM1WzWXYS/ySn1fCyWv1OFqsYZ7fsyD9V39ePAd/qMltgQ7gJ3FTmDnsWasATCxY1gjdgk7IsfDc+OxYm4MRYtR8MmEfoQ/xeMMxpRXTepQ49Dt8HmwD+TyZ+bKFwsrRzxLIkwX5DL94W7NZ7JF3NGjmE4OjnAXle/9yq3lDUOxpyOMC990CzsBGPd4YGCg+ZsuAm5wh+C6o7z+prOeDQCtFYBz87kySZ5Sh8sfBEAB6nCl6AEjuHdZw4ycgCvwAn4gCISBKBAHksBUWGcBnKcSMAPMAQtBESgBK8FasAFsAdvBLrAX7AcNoBmcAGfARXAF3AD34FzpAi9AL3gH+hEEISE0hI7oIcaIBWKHOCHuiA8ShEQgMUgSkoKkIyJEhsxBFiElSCmyAdmGVCO/I4eRE8h5pA25g3Qg3chr5BOKoVRUGzVELdExqDvqj4ajcegUNB2djuajhehytBytRPeg9egJ9CJ6A21HX6B9GMBUMQZmgtlj7hgLi8KSsTRMgs3DirEyrBKrxZrgn76GtWM92EeciNNxJm4P52soHo9z8en4PHwZvgHfhdfjp/BreAfei38l0AgGBDuCJ4FNmEhIJ8wgFBHKCDsIhwin4drpIrwjEokMohXRDa69JGIGcTZxGXETsY54nNhG7CT2kUgkPZIdyZsUReKQcklFpPWkPaRjpKukLtIHFVUVYxUnlWCVZBWRSoFKmcpulaMqV1WeqvSTNcgWZE9yFJlHnkVeQa4iN5Evk7vI/RRNihXFmxJHyaAspJRTaimnKfcpb1RVVU1VPVQnqApVF6iWq+5TPafaofqRqkW1pbKok6ky6nLqTupx6h3qGxqNZknzoyXTcmnLadW0k7SHtA9qdLXRamw1ntp8tQq1erWrai/VyeoW6v7qU9Xz1cvUD6hfVu/RIGtYarA0OBrzNCo0Dmvc0ujTpGs6akZpZmsu09yteV7zmRZJy1IrSIunVai1XeukVicdo5vRWXQufRG9in6a3qVN1LbSZmtnaJdo79Vu1e7V0dIZq5OgM1OnQueITjsDY1gy2IwsxgrGfsZNxqcRhiP8R/BHLB1RO+LqiPe6I3X9dPm6xbp1ujd0P+kx9YL0MvVW6TXoPdDH9W31J+jP0N+sf1q/Z6T2SK+R3JHFI/ePvGuAGtgaxBjMNthucMmgz9DIMMRQbLje8KRhjxHDyM8ow2iN0VGjbmO6sY+x0HiN8THj50wdpj8zi1nOPMXsNTEwCTWRmWwzaTXpN7UyjTctMK0zfWBGMXM3SzNbY9Zi1mtubD7efI55jfldC7KFu4XAYp3FWYv3llaWiZaLLRssn1npWrGt8q1qrO5b06x9radbV1pftyHauNtk2myyuWKL2rrYCmwrbC/boXaudkK7TXZtowijPEaJRlWOumVPtfe3z7Ovse8YzRgdMbpgdMPol2PMxySPWTXm7JivDi4OWQ5VDvcctRzDHAscmxxfO9k6cZ0qnK4705yDnec7Nzq/Gms3lj9289jbLnSX8S6LXVpcvri6uUpca1273czdUtw2ut1y13aPdl/mfs6D4BHgMd+j2eOjp6tnrud+z7+97L0yvXZ7PRtnNY4/rmpcp7epN8d7m3e7D9MnxWerT7uviS/Ht9L3kZ+ZH89vh99Tfxv/DP89/i8DHAIkAYcC3rM8WXNZxwOxwJDA4sDWIK2g+KANQQ+DTYPTg2uCe0NcQmaHHA8lhIaHrgq9xTZkc9nV7N4wt7C5YafCqeGx4RvCH0XYRkgimsaj48PGrx5/P9IiUhTZEAWi2FGrox5EW0VPj/5jAnFC9ISKCU9iHGPmxJyNpcdOi90d+y4uIG5F3L1463hZfEuCesLkhOqE94mBiaWJ7RPHTJw78WKSfpIwqTGZlJyQvCO5b1LQpLWTuia7TC6afHOK1ZSZU85P1Z+aNfXINPVpnGkHUggpiSm7Uz5zojiVnL5UdurG1F4ui7uO+4Lnx1vD6+Z780v5T9O800rTnqV7p69O7xb4CsoEPUKWcIPwVUZoxpaM95lRmTszB7ISs+qyVbJTsg+LtESZolM5Rjkzc9rEduIicft0z+lrp/dKwiU7pIh0irQxVxsesi/JrGW/yDryfPIq8j7MSJhxYKbmTNHMS7NsZy2d9TQ/OP+32fhs7uyWOSZzFs7pmOs/d9s8ZF7qvJb5ZvML53ctCFmwayFlYebCPwscCkoL3i5KXNRUaFi4oLDzl5BfaorUiiRFtxZ7Ld6yBF8iXNK61Hnp+qVfi3nFF0ocSspKPi/jLrvwq+Ov5b8OLE9b3rrCdcXmlcSVopU3V/mu2lWqWZpf2rl6/Or6Ncw1xWverp229nzZ2LIt6yjrZOvayyPKG9ebr1+5/vMGwYYbFQEVdRsNNi7d+H4Tb9PVzX6ba7cYbinZ8mmrcOvtbSHb6istK8u2E7fnbX9SlVB19jf336p36O8o2fFlp2hn+66YXaeq3aqrdxvsXlGD1shquvdM3nNlb+Dexlr72m11jLqSfWCfbN/z31N+v7k/fH/LAfcDtQctDm48RD9UXI/Uz6rvbRA0tDcmNbYdDjvc0uTVdOiP0X/sbDZprjiic2TFUcrRwqMDx/KP9R0XH+85kX6is2Vay72TE09ePzXhVOvp8NPnzgSfOXnW/+yxc97nms97nj98wf1Cw0XXi/WXXC4d+tPlz0Otrq31l90uN17xuNLUNq7t6FXfqyeuBV47c519/eKNyBttN+Nv3r41+Vb7bd7tZ3ey7ry6m3e3/96C+4T7xQ80HpQ9NHhY+S+bf9W1u7Yf6QjsuPQo9tG9Tm7ni8fSx5+7Cp/QnpQ9NX5a/czpWXN3cPeV55Oed70Qv+jvKfpL86+NL61fHvzb7+9LvRN7u15JXg28XvZG783Ot2PftvRF9z18l/2u/33xB70Puz66fzz7KfHT0/4Zn0mfy7/YfGn6Gv71/kD2wICYI+EojgIYbGhaGgCvd8JzQhIA9Cvw/DBJeTdTCKK8TyoQ+E9YeX9TiCsAtfAlP4azjgOwDzYriGmwyY/gcX4AdXYeboMiTXN2UvqiwhsL4cPAwBtDAEhNAHyRDAz0bxoY+FIFyd4B4Ph05Z1QLvI76FaFj6sM6Rrwg/wbqbZxubbAJ94AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj43MDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K86qYEAAADp1JREFUeAHtXQtUlMcV/lKX52IEcQWEoJ7VsBFi5MgGfMUiogghKhrFGox5YJvQaI54Ii21OQmS2h7paWrURGKjQaJRoiQGg2KOoCRgVoM1oGvrJgZFEERAeYOnnX///R+7LLAo7v7tzpyjO487c+/c+/0zd+6Mx4e8567+D2iiGrCxBn5hY/6UPdWAXgMUiBQIktCAzMndWxKCUCHsWwN0RbRv+0tm9hSIkjGFfQtCgWjf9pfM7CkQJWMK+xaEAtG+7S+Z2VMgSsYU9i0IBaJ9218ys6dAlIwp7FsQCkT7tr9kZk+BKBlT2LcgFIj2bX/JzJ4CUTKmsG9BKBDt2/6SmT0FomRMYd+CUCDat/0lM3sKRMmYwr4FoUC0b/tLZvYUiJIxhX0LIrPu9B3w2vJpeNSVsHUA/nW0CFt0XZaL4KvCX+f7waGVdHFoR1F2MXKY/D0kdfQSHFih1Pds1pVgdmohakTjiNvRocOzz++HRtRuWdYdh3a+gmA5S12+70M8nVtnWVcLqLw95XAndI31LUayW9BVciRWBqIcs+ZMQbATq4d2r0ZsefOMxUpZlxCFuEkuBvpryM8strhvX4Rufj54jBCIgWhE321UGlChc0DUAyD2DcHxjEi4MV3qzyMqKQ/aAXSXGqmVt+ZGfHismteBc8BkJLryxX4ySjzDgxCo/LoIef30sLz5LppNiR2HCDWyIazBhRrb59oBfi9xk8PH9hLdlwRWBiKQd6gUAhSHY9HTCosmoF7wJPx5yiYcyK7kSw8io9GU4bTuGrTkT/Gx73DiQTAZxDF7fEiDOLY1hrLy1kym1KrFlxVtSAxkt1hVxJNQ7e9vW3FAYvgjvD7add9jyz36hvwg/WWqtFia+j+y2d2H69CfGqzVbn0gkpmlHyzHC4Fq6JkPU2FVYB7WVvQxZWUonvLitsq7OHn4bA9itdIfMx8fhRHuznB0ICO3NqKs9CKydC09aC2qcHVHzFjOb2hFXkVjL93kWDxzPELGusORUHQ23sSpU+XIq2fJmbp+E+G1WD0GE/3c4EZkdyAHuZorV/FZgc6M3ydHeCCRa6gbc95jk9wDYUoFRjozNV3QVdSZ6ceQyhETNhahyhGED0Pajp90lThQer13/5jpZoVkEyCiogSn6tUI92Rm6Ijw2ElAxblep5u4YCKcudamy8gs5bwjslIuj8aqOQFQOHFA5QiBuNhIrK+6hHffOYhMAzCE1r5z6jnzsDV+DEvUfQWtz+3tsT0nrIzD+qiAHv5jfHws/lBxCgvTytDXZ+CtDMLmF58iIBrGfpRGIk1B4kttOH04H0uzRSuz7+PYviFc0Ie+z3Akp79s6N2Jj5Mz8Mcq8WBypK6JQ8IUP5N+LE0y2lD29XEszCwXd7Jq3uo+Iju7FnxcdIWfqMekyUjgS6YZfywKHsZXak+WsmEUVyXyd69DauwEYxB234V4p3LzDUDq1tfwNhup4cfpN9N5VyDp6HmYSU15FWlmQMh18gmcgeKtz6I3tgmJCShNj8V0ExB2E/mF5ILQ2IUo2xAiVFmQ6zCiGYVDH6xGYi8gZEldEBwRi8vvxkBt1Nd6BdusiGR+J/Z/h8q4MYYDyEgsXaBAlpkYmyoyBCpeylv47NB1Vjut9bjJeOhMKKi7CcXHv8XeggrkVTGrpQMSlkQjNW6CYQVww4rVUfhkTX4vWxY7ZK9/8/xZipjlCUicJHwcwF1UnvseX5T8hA4PH8wND0GQlwtknj7saZb5MkzG0Fy5zbOr013Ap4c12GPYIr2VKmx+NQbTfdmN3SMwEh+FXcQLpWR9Jb5rxk7iJsiVSI437BQd1cj8RylqHQmTOzeQya+Gcny09XmIvmPoNKewfV8ZcqpaoPL1x8r4WYhXs2dumddEZKU3QZVazMtmrYyJeqzFluGjwwFNE5LVrEGDIifDOzffxFdxQFLUOF6o5oqzyOQPKY3YmFWCP01rx+8ySk0A1oWs/Z+j4EY3Sl+ZyPb3UmGRbz7SeSPxww4w44+18/xEfZqwLy0TKRWcu6DDltxiLF6+DJtjx5CPhJCa0bK24Dj2TSbuROFRpDAAE6UanRbPJV8lIEoi7gvrcqjnkUhnKRNzbURmAQGipzNe5YDY3YpjRdoeAffwJc8Y3B9m8E4c2/4+VhUJvLRVlUjJ2IVdM6OQ+0qw/qN1Vs7AjrDTWMW7PyLBHmDWRlszO6MtuedBwmFs8gzE66b7mO8TCPdlDaFX5EHj4Le2tBALe4CQG5A4/EXfoIzfp1wwcYK70HiPufAF06AUAat4524RCIVBc7L3IunwNbMgZKlakLLpYA8QCiO0YFvBVb7o5u0LFV9iMiIhRFmBRIHVc8fwxeqTuUYg5BtIRltEPtCTtXzVnGUR8OZL1smYnYJ1WBMuutNk1ZqKWP2J2BERC4KADMFhTpg/WTgI1Guxo6I3yRwQHuyPIB8PPEx2s46WZly5eRvlZXX44VobgpVsqEguZ46K95emBnsJAzRdwMYCYYURGthcXnY+Xp7zMn+TZNrOlb09FYgM8oK/BzmSdbaj9tZtXK+rxtkfrqKZHJjcGEJnJ/02Lzq2cN3N/3qOxnjD1SJIuP6TXTrzdIbarG3fYPVTC6Fgyu4P933T1OdI99ZoWyCSUMPWo5cRuyJAL70iOASLUY4ctoSlocP5WZUXfWey/TJN7ng7ORZL1OZPg3znwcyITkLV/yw3I5OYWRc6GXrGjzWT1GFhSEuYBpUn6wuaITGqYlxii5O3m2jNdMOa7a/j10xnkfz8WHoUOAofvZMXpvoSP/6+3RieQ78ZGwORbAtHiH/3qwD2QCLzwfJod+QcaYRq5lQE8Qasxq79po8FRuHLnc8jiP/qyVw7mlFZc4fsWk4Y6j4MHnJuW+9XDxYSuJNYH7u6Mh1qrgwwJiTiErNkGbaSw5o4NdyoxS3iq7i6uULhKQaSmMqyvHq8j1GoRubkwgKN12lf4zj29u301em+2mwOROA6sjW3kDaFXf0en0tCFUeOY2X0OH5iDZozhlWSr0LqhkUCCMmp+WDmAawtMgGr5yjs+P0yzDGcPoXe95prhOZaM0KH6TdL+D3mR2QlB4eBJvJgYaMIhHUkrvpGRiFO8AcxdsCY6BhkrBDFUAfAR6P5SdjWyaleq6lAJVkNLXFOHGQdON8wAGaDQCoBIAJZOWexfgr7kkTm9RhSA29i5mhuu+rE0VzBb2TnrEDIOBYMTOjkWMY2rC0zo4366/ihrnMQgWjMQzFhAsKJK9HXPTQ3C3FPtXo8PAwV3Tc0UKcVipv5fF5hFTbeIxDRLt6D7+Jcbh5S+nYTeb62yNj01MxPuOoMjv3MPZhyQ+KGecJrkhsV+FsPBRp8L/0AQ9AshOT4IdmMO2aN5wBr0iQuim0mrjeT33PyR6GWxPLeShSeYggNbE4dPYt/i2jUJgqWy7r5uIERCVNQz3mUByxTtmAmDBmb6i9Cw3sOjli8ejbXYvY3ceV87EkMw2Kl2NcxS/pAKqUBRDK1vxy5bHaCZUdLTWKLDJkDmNgtl56YZRr3YVocsOmtBCMgdHVysT7SLF6qnFxNQiPcyD1/a4oKUdwk1PtHLMeXK40DK0xrzIL52Gs4hHHUXZ2GvVf8xGzEOLO3St7B07Ej3nhe1dxApr9Oo7CIJyV338HM2bcFf869wFPKvNQoSZ7El8WZmCVxSI2agOkR4dic/hukeopbrZN/aPTSdyTy/6wocGi3Saij+xqSnssy++5wXcpr+O0kYY2oPFeCrKM/ooEAMOAJFebOmAh/04+7uxYZa3ZiC7NSKKdDmz5DcOg7mqC7SarJafG9pG0oChVecJu+0PYOno3i9YZHGwY7dbfU4uwFMoDDEIx4ZCyU5k7CHH/nEJSRR63c9oyOWhz89Bt8W90Kl4dHYtYsEj8NGNkDAdUlhzHlXYObQvzMcu5hLEPZ3YbKqjsY7jsSbrJb2BD/AbJI9ab0ZMQrha+uu/4acvK+xalLbRgV4I/oiDAE+woHsIaKAgSnnenB+0FXiNaVB82qv/HrkF1cS+48BQPUaTRmQciMtHnT55i9Zzl//ec/aQpSyR/j1Akd2fKVow2AlQ2FgoTq9ElXDSaEy2+sTsP0IGTaAslRvEiwHakxfhhbU3Ycy3Y6Iesl4SAhk49EqFqQnRkHuIUTJa0IJ/e8+sTxJ65Iej558BDFXq3BaSTiVixEHEvF/91+oxp3yDWhwmClocM54QlJ1WVUtEQilPvYZC7wH80BajjiIt2RRW5gUlLfh2P6i4hTsjqQefohfsUSxPNchEzDpRIsswEIGQkkszUzwuRknxY9mm1Gbk5f4dtKRK3KxomfzUfXGsirm/fS/o6I9Z+hTBRz5i9ayBVj8vYysoKapO5m/cvnqzW3+ZBbe001LpqQaQryyJ3sYZzuhX+d7jw2JH2AFzI10AlMwWVzdu1C0r7zaDDnn5IwVNnXX+GXa3bhjS+u8JyNV41GLH3nK2ibxI8kGNJOVBPeRy5wp/kWrE3dgnXkfrmyifPD+SH1mfamahz+eDeC3yzsJy5q3G8wSxLamu9jWuRmYvH4h+FBYmTtt9uguXQd2lbj8VS+5HqvvQXaepGfqCchtzKBCpAXfqitqSMOvmm78ThmS8x7womeaLvThuFDZdCer4TGYv7kUBLoD9UIIkFHF27V1SDP9A2lqxxqso9fJQ8VaswIoCJvEZXkLWJrYxMu9kLDdWNucaYTXbXd6SKykjjuv6vvbc7cgIP0+/8BxEFSBh3GdhqQ1NZsOzVQzrbWAAWirS1A+es1QIFIgSAJDVAgSsIMVAgKRIoBSWiAAlESZqBCUCBSDEhCAxSIkjADFYICkWJAEhqgQJSEGagQFIgUA5LQAAWiJMxAhaBApBiQhAYoECVhBioEBSLFgCQ0QIEoCTNQISgQKQYkoQEKREmYgQpBgUgxIAkNUCBKwgxUCFlHo7l/F0YVQzVgXQ3QFdG6+qbcetHAfwEb2P0Rn/u7HAAAAABJRU5ErkJggg=="},464:function(t,a,s){t.exports=s.p+"assets/img/goodtables-valid.5e65080f.png"},465:function(t,a,s){t.exports=s.p+"assets/img/goodtables-invalid.d1ae3ac6.png"},466:function(t,a,s){t.exports=s.p+"assets/img/goodtables-provide-schema.3e7cdcb9.png"},467:function(t,a,s){t.exports=s.p+"assets/img/goodtables-continuous-validation.2d4abd27.png"},600:function(t,a,s){"use strict";s.r(a);var e=s(29),o=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("Tabular data (e.g. data stored in "),e("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[t._v("CSV")]),t._v(" and Excel worksheets) is one of the most common forms of data available on the web. This guide will walk through validating tabular data using Frictionless Data software.")],1),t._v(" "),e("p",[t._v("This guide show how you can validate your tabular data and check both:")]),t._v(" "),e("ul",[e("li",[t._v("Structure: are there too many rows or columns in some places?")]),t._v(" "),e("li",[t._v("Schema: does the data fit its schema. Are the values in the date column actually dates? Are all the numbers greater than zero?")])]),t._v(" "),e("p",[t._v("We will walk through two methods of performing validation:")]),t._v(" "),e("ul",[e("li",[t._v("Web service: an online service called "),e("strong",[t._v("goodtables")]),t._v(". This option requires no technical knowledge or expertise.")]),t._v(" "),e("li",[t._v("Using the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("Python goodtables library"),e("OutboundLink")],1),t._v(". This allows you full control over the validation process but requires knowledge of Python.")])]),t._v(" "),e("h2",{attrs:{id:"goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#goodtables"}},[t._v("#")]),t._v(" goodtables")]),t._v(" "),e("p",[e("a",{attrs:{href:"http://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables"),e("OutboundLink")],1),t._v(" is a free, open-source, hosted service for validating tabular data. goodtables checks your data for its "),e("em",[t._v("structure")]),t._v(", and, optionally, its adherence to a specified "),e("em",[t._v("schema")]),t._v(". Where the latter fails, goodtables highlights content errors so you can fix them speedily.")]),t._v(" "),e("p",[t._v("goodtables will give quick and simple feedback on where your tabular data may not yet be quite perfect.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(461),alt:"goodtables screenshot"}})]),t._v(" "),e("p",[t._v("To get started with one-off validation of your tabular datasets, use "),e("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),e("OutboundLink")],1),t._v(". All you need to do is upload or provide a link to a CSV file and hit the “Validate” button.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(462),alt:"goodtables Provide URL"}})]),t._v(" "),e("p",[e("img",{attrs:{src:s(463),alt:"goodtables Validate button"}})]),t._v(" "),e("p",[t._v("If your data is structurally valid, you should receive the following result:")]),t._v(" "),e("p",[e("img",{attrs:{src:s(464),alt:"goodtables Valid"}})]),t._v(" "),e("p",[t._v("If not…")]),t._v(" "),e("p",[e("img",{attrs:{src:s(465),alt:"goodtables Invalid"}})]),t._v(" "),e("p",[t._v("The report should highlight the structural issues found in your data for correction. For instance, a poorly structured tabular dataset may consist of a header row with too many (or too few) columns when compared to of data rows with an equal amount of columns.")]),t._v(" "),e("p",[t._v("You can also provide a schema for your tabular data defined using JSON Table Schema.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(466),alt:"goodtables Provide Schema"}})]),t._v(" "),e("p",[t._v("Briefly, the format allows users to specify not only the types of information within each column in a tabular dataset, but also expected values. For more information, see the "),e("RouterLink",{attrs:{to:"/introduction/"}},[t._v("introduction")]),t._v(" or "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("the full standard"),e("OutboundLink")],1),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"python-goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#python-goodtables"}},[t._v("#")]),t._v(" Python + goodtables")]),t._v(" "),e("p",[t._v("goodtables is also available as a Python library. The following short snippets demonstrate examples of loading and validating data in a file called "),e("code",[t._v("data.csv")]),t._v("(and in the second example, validating the same data file against "),e("code",[t._v("schema.json")]),t._v(")")]),t._v(" "),e("h3",{attrs:{id:"validating-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-structure"}},[t._v("#")]),t._v(" Validating Structure")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" goodtables "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" validate\n\nreport "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" validate"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data.csv'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'table-count'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'error-count'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'source'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'errors'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'code'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),e("h3",{attrs:{id:"validating-schema"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-schema"}},[t._v("#")]),t._v(" Validating Schema")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" goodtables "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" validate\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# sync source/schema fields order")]),t._v("\nreport "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" validate"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data.csv'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" schema"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'schema.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" order_fields"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("\n")])])]),e("h2",{attrs:{id:"continuous-data-validation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#continuous-data-validation"}},[t._v("#")]),t._v(" Continuous Data Validation")]),t._v(" "),e("p",[t._v("In a bid to streamline the process of data validation and ensure seamless integration is possible in different publishing workflows, we have set up a continuous data validation hosted service that builds on top of Frictionless Data libraries. "),e("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),e("OutboundLink")],1),t._v(" provides support for different backends. At this time, users can use it to check any datasets hosted on GitHub and Amazon S3 buckets, automatically running validation against data files every time they are updated, and providing a user friendly report of any issues found.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(467),alt:"Data Valid"}})]),t._v(" "),e("p",[t._v("Start your continuous data validation here: "),e("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://goodtables.io"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Blog post on goodtables python library and goodtables web service: "),e("a",{attrs:{href:"http://okfnlabs.org/blog/2017/05/22/introducing-the-new-goodtables-library-and-goodtablesio.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://okfnlabs.org/blog/2017/05/22/introducing-the-new-goodtables-library-and-goodtablesio.html"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("See the "),e("code",[t._v("README.md")]),t._v(" for more information.")]),t._v(" "),e("p",[t._v("Find more examples on validating tabular data in the "),e("a",{attrs:{href:"/tag/field-guide"}},[t._v("Frictionless Data Field Guide")])])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{457:function(t,a,s){t.exports=s.p+"assets/img/goodtables-screenshot.48a106ce.png"},458:function(t,a,s){t.exports=s.p+"assets/img/goodtables-provide-data.78adcaea.png"},459:function(t,a){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKIAAABDCAYAAAAf6t48AAAMKWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAhGQEnoTpUiXGloAAamCjZAEEkqICUHFjiwquBZURLEiqyIKrgWQxYa9LIq9PxBRUdbFgg2VN0kAXf3ee9873zf3/vfMmXP+c+7MfDMAqEdzxOIsVAOAbFGuJCYkgDkxKZlJegQwYADUgDUw43ClYv/o6AgAZej9T3l3EyDy9zV7ua+f+/+raPL4Ui4ASDTEqTwpNxvigwDgrlyxJBcAQg/Um83IFUNMhCyBtgQShNhcjtOV2F2OU5U4QmETF8OCOAUAFSqHI0kHQE3Oi5nHTYd+1JZB7CDiCUUQN0PswxVweBB/hnhUdnYOxOrWEFunfucn/R8+U4d9cjjpw1iZi0JUAoVScRZn1v9Zjv8t2VmyoRhmsFEFktAYec7yumXmhMsxFeJzotTIKIi1IL4u5Cns5fiJQBYaP2j/gStlwZoBBgAolccJDIfYAGJTUVZkxKDeJ00YzIYY1h6NE+ay45RjUZ4kJ2bQPzqTLw2KHcIciSKW3KZYlhnvP+hzs4DPHvLZlC+IS1TyRK/kCRMiIVaD+L40MzZ80OZ5voAVOWQjkcXIOcN/joE0SXCM0gYzz5YO5YV5CoTsyEEckSuIC1WOxaZyOQpuuhBn8KUTI4Z48viBQcq8sAK+KH6QP1Yqzg2IGbSvEmdFD9pjzfysELneFOJWaV7s0NjeXDjZlPniQJwbHafkhmtncMKilRxwWxABWCAQMIEMtlSQAzKAsLWnoQd+KXuCAQdIQDrgA/tBzdCIREWPCD5jQT74CyI+kA6PC1D08kEe1H8Z1iqf9iBN0ZunGJEJnkCcDcJBFvyWKUaJhqMlgMdQI/wpOhdyzYJN3veTjqk+pCMGEQOJocRgog2uj/vgXngEfPrB5oS74x5DvL7ZE54Q2giPCDcI7YQ704QFkh+YM8F40A45Bg9ml/p9drgl9OqCB+De0D/0jTNwfWCPj4WR/HFfGNsFar/nKhvO+FstB32RHcgoeQTZj2z9IwM1WzWXYS/ySn1fCyWv1OFqsYZ7fsyD9V39ePAd/qMltgQ7gJ3FTmDnsWasATCxY1gjdgk7IsfDc+OxYm4MRYtR8MmEfoQ/xeMMxpRXTepQ49Dt8HmwD+TyZ+bKFwsrRzxLIkwX5DL94W7NZ7JF3NGjmE4OjnAXle/9yq3lDUOxpyOMC990CzsBGPd4YGCg+ZsuAm5wh+C6o7z+prOeDQCtFYBz87kySZ5Sh8sfBEAB6nCl6AEjuHdZw4ycgCvwAn4gCISBKBAHksBUWGcBnKcSMAPMAQtBESgBK8FasAFsAdvBLrAX7AcNoBmcAGfARXAF3AD34FzpAi9AL3gH+hEEISE0hI7oIcaIBWKHOCHuiA8ShEQgMUgSkoKkIyJEhsxBFiElSCmyAdmGVCO/I4eRE8h5pA25g3Qg3chr5BOKoVRUGzVELdExqDvqj4ajcegUNB2djuajhehytBytRPeg9egJ9CJ6A21HX6B9GMBUMQZmgtlj7hgLi8KSsTRMgs3DirEyrBKrxZrgn76GtWM92EeciNNxJm4P52soHo9z8en4PHwZvgHfhdfjp/BreAfei38l0AgGBDuCJ4FNmEhIJ8wgFBHKCDsIhwin4drpIrwjEokMohXRDa69JGIGcTZxGXETsY54nNhG7CT2kUgkPZIdyZsUReKQcklFpPWkPaRjpKukLtIHFVUVYxUnlWCVZBWRSoFKmcpulaMqV1WeqvSTNcgWZE9yFJlHnkVeQa4iN5Evk7vI/RRNihXFmxJHyaAspJRTaimnKfcpb1RVVU1VPVQnqApVF6iWq+5TPafaofqRqkW1pbKok6ky6nLqTupx6h3qGxqNZknzoyXTcmnLadW0k7SHtA9qdLXRamw1ntp8tQq1erWrai/VyeoW6v7qU9Xz1cvUD6hfVu/RIGtYarA0OBrzNCo0Dmvc0ujTpGs6akZpZmsu09yteV7zmRZJy1IrSIunVai1XeukVicdo5vRWXQufRG9in6a3qVN1LbSZmtnaJdo79Vu1e7V0dIZq5OgM1OnQueITjsDY1gy2IwsxgrGfsZNxqcRhiP8R/BHLB1RO+LqiPe6I3X9dPm6xbp1ujd0P+kx9YL0MvVW6TXoPdDH9W31J+jP0N+sf1q/Z6T2SK+R3JHFI/ePvGuAGtgaxBjMNthucMmgz9DIMMRQbLje8KRhjxHDyM8ow2iN0VGjbmO6sY+x0HiN8THj50wdpj8zi1nOPMXsNTEwCTWRmWwzaTXpN7UyjTctMK0zfWBGMXM3SzNbY9Zi1mtubD7efI55jfldC7KFu4XAYp3FWYv3llaWiZaLLRssn1npWrGt8q1qrO5b06x9radbV1pftyHauNtk2myyuWKL2rrYCmwrbC/boXaudkK7TXZtowijPEaJRlWOumVPtfe3z7Ovse8YzRgdMbpgdMPol2PMxySPWTXm7JivDi4OWQ5VDvcctRzDHAscmxxfO9k6cZ0qnK4705yDnec7Nzq/Gms3lj9289jbLnSX8S6LXVpcvri6uUpca1273czdUtw2ut1y13aPdl/mfs6D4BHgMd+j2eOjp6tnrud+z7+97L0yvXZ7PRtnNY4/rmpcp7epN8d7m3e7D9MnxWerT7uviS/Ht9L3kZ+ZH89vh99Tfxv/DP89/i8DHAIkAYcC3rM8WXNZxwOxwJDA4sDWIK2g+KANQQ+DTYPTg2uCe0NcQmaHHA8lhIaHrgq9xTZkc9nV7N4wt7C5YafCqeGx4RvCH0XYRkgimsaj48PGrx5/P9IiUhTZEAWi2FGrox5EW0VPj/5jAnFC9ISKCU9iHGPmxJyNpcdOi90d+y4uIG5F3L1463hZfEuCesLkhOqE94mBiaWJ7RPHTJw78WKSfpIwqTGZlJyQvCO5b1LQpLWTuia7TC6afHOK1ZSZU85P1Z+aNfXINPVpnGkHUggpiSm7Uz5zojiVnL5UdurG1F4ui7uO+4Lnx1vD6+Z780v5T9O800rTnqV7p69O7xb4CsoEPUKWcIPwVUZoxpaM95lRmTszB7ISs+qyVbJTsg+LtESZolM5Rjkzc9rEduIicft0z+lrp/dKwiU7pIh0irQxVxsesi/JrGW/yDryfPIq8j7MSJhxYKbmTNHMS7NsZy2d9TQ/OP+32fhs7uyWOSZzFs7pmOs/d9s8ZF7qvJb5ZvML53ctCFmwayFlYebCPwscCkoL3i5KXNRUaFi4oLDzl5BfaorUiiRFtxZ7Ld6yBF8iXNK61Hnp+qVfi3nFF0ocSspKPi/jLrvwq+Ov5b8OLE9b3rrCdcXmlcSVopU3V/mu2lWqWZpf2rl6/Or6Ncw1xWverp229nzZ2LIt6yjrZOvayyPKG9ebr1+5/vMGwYYbFQEVdRsNNi7d+H4Tb9PVzX6ba7cYbinZ8mmrcOvtbSHb6istK8u2E7fnbX9SlVB19jf336p36O8o2fFlp2hn+66YXaeq3aqrdxvsXlGD1shquvdM3nNlb+Dexlr72m11jLqSfWCfbN/z31N+v7k/fH/LAfcDtQctDm48RD9UXI/Uz6rvbRA0tDcmNbYdDjvc0uTVdOiP0X/sbDZprjiic2TFUcrRwqMDx/KP9R0XH+85kX6is2Vay72TE09ePzXhVOvp8NPnzgSfOXnW/+yxc97nms97nj98wf1Cw0XXi/WXXC4d+tPlz0Otrq31l90uN17xuNLUNq7t6FXfqyeuBV47c519/eKNyBttN+Nv3r41+Vb7bd7tZ3ey7ry6m3e3/96C+4T7xQ80HpQ9NHhY+S+bf9W1u7Yf6QjsuPQo9tG9Tm7ni8fSx5+7Cp/QnpQ9NX5a/czpWXN3cPeV55Oed70Qv+jvKfpL86+NL61fHvzb7+9LvRN7u15JXg28XvZG783Ot2PftvRF9z18l/2u/33xB70Puz66fzz7KfHT0/4Zn0mfy7/YfGn6Gv71/kD2wICYI+EojgIYbGhaGgCvd8JzQhIA9Cvw/DBJeTdTCKK8TyoQ+E9YeX9TiCsAtfAlP4azjgOwDzYriGmwyY/gcX4AdXYeboMiTXN2UvqiwhsL4cPAwBtDAEhNAHyRDAz0bxoY+FIFyd4B4Ph05Z1QLvI76FaFj6sM6Rrwg/wbqbZxubbAJ94AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIDaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj43MDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K86qYEAAADp1JREFUeAHtXQtUlMcV/lKX52IEcQWEoJ7VsBFi5MgGfMUiogghKhrFGox5YJvQaI54Ii21OQmS2h7paWrURGKjQaJRoiQGg2KOoCRgVoM1oGvrJgZFEERAeYOnnX///R+7LLAo7v7tzpyjO487c+/c+/0zd+6Mx4e8567+D2iiGrCxBn5hY/6UPdWAXgMUiBQIktCAzMndWxKCUCHsWwN0RbRv+0tm9hSIkjGFfQtCgWjf9pfM7CkQJWMK+xaEAtG+7S+Z2VMgSsYU9i0IBaJ9218ys6dAlIwp7FsQCkT7tr9kZk+BKBlT2LcgFIj2bX/JzJ4CUTKmsG9BKBDt2/6SmT0FomRMYd+CUCDat/0lM3sKRMmYwr4FoUC0b/tLZvYUiJIxhX0LIrPu9B3w2vJpeNSVsHUA/nW0CFt0XZaL4KvCX+f7waGVdHFoR1F2MXKY/D0kdfQSHFih1Pds1pVgdmohakTjiNvRocOzz++HRtRuWdYdh3a+gmA5S12+70M8nVtnWVcLqLw95XAndI31LUayW9BVciRWBqIcs+ZMQbATq4d2r0ZsefOMxUpZlxCFuEkuBvpryM8strhvX4Rufj54jBCIgWhE321UGlChc0DUAyD2DcHxjEi4MV3qzyMqKQ/aAXSXGqmVt+ZGfHismteBc8BkJLryxX4ySjzDgxCo/LoIef30sLz5LppNiR2HCDWyIazBhRrb59oBfi9xk8PH9hLdlwRWBiKQd6gUAhSHY9HTCosmoF7wJPx5yiYcyK7kSw8io9GU4bTuGrTkT/Gx73DiQTAZxDF7fEiDOLY1hrLy1kym1KrFlxVtSAxkt1hVxJNQ7e9vW3FAYvgjvD7add9jyz36hvwg/WWqtFia+j+y2d2H69CfGqzVbn0gkpmlHyzHC4Fq6JkPU2FVYB7WVvQxZWUonvLitsq7OHn4bA9itdIfMx8fhRHuznB0ICO3NqKs9CKydC09aC2qcHVHzFjOb2hFXkVjL93kWDxzPELGusORUHQ23sSpU+XIq2fJmbp+E+G1WD0GE/3c4EZkdyAHuZorV/FZgc6M3ydHeCCRa6gbc95jk9wDYUoFRjozNV3QVdSZ6ceQyhETNhahyhGED0Pajp90lThQer13/5jpZoVkEyCiogSn6tUI92Rm6Ijw2ElAxblep5u4YCKcudamy8gs5bwjslIuj8aqOQFQOHFA5QiBuNhIrK+6hHffOYhMAzCE1r5z6jnzsDV+DEvUfQWtz+3tsT0nrIzD+qiAHv5jfHws/lBxCgvTytDXZ+CtDMLmF58iIBrGfpRGIk1B4kttOH04H0uzRSuz7+PYviFc0Ie+z3Akp79s6N2Jj5Mz8Mcq8WBypK6JQ8IUP5N+LE0y2lD29XEszCwXd7Jq3uo+Iju7FnxcdIWfqMekyUjgS6YZfywKHsZXak+WsmEUVyXyd69DauwEYxB234V4p3LzDUDq1tfwNhup4cfpN9N5VyDp6HmYSU15FWlmQMh18gmcgeKtz6I3tgmJCShNj8V0ExB2E/mF5ILQ2IUo2xAiVFmQ6zCiGYVDH6xGYi8gZEldEBwRi8vvxkBt1Nd6BdusiGR+J/Z/h8q4MYYDyEgsXaBAlpkYmyoyBCpeylv47NB1Vjut9bjJeOhMKKi7CcXHv8XeggrkVTGrpQMSlkQjNW6CYQVww4rVUfhkTX4vWxY7ZK9/8/xZipjlCUicJHwcwF1UnvseX5T8hA4PH8wND0GQlwtknj7saZb5MkzG0Fy5zbOr013Ap4c12GPYIr2VKmx+NQbTfdmN3SMwEh+FXcQLpWR9Jb5rxk7iJsiVSI437BQd1cj8RylqHQmTOzeQya+Gcny09XmIvmPoNKewfV8ZcqpaoPL1x8r4WYhXs2dumddEZKU3QZVazMtmrYyJeqzFluGjwwFNE5LVrEGDIifDOzffxFdxQFLUOF6o5oqzyOQPKY3YmFWCP01rx+8ySk0A1oWs/Z+j4EY3Sl+ZyPb3UmGRbz7SeSPxww4w44+18/xEfZqwLy0TKRWcu6DDltxiLF6+DJtjx5CPhJCa0bK24Dj2TSbuROFRpDAAE6UanRbPJV8lIEoi7gvrcqjnkUhnKRNzbURmAQGipzNe5YDY3YpjRdoeAffwJc8Y3B9m8E4c2/4+VhUJvLRVlUjJ2IVdM6OQ+0qw/qN1Vs7AjrDTWMW7PyLBHmDWRlszO6MtuedBwmFs8gzE66b7mO8TCPdlDaFX5EHj4Le2tBALe4CQG5A4/EXfoIzfp1wwcYK70HiPufAF06AUAat4524RCIVBc7L3IunwNbMgZKlakLLpYA8QCiO0YFvBVb7o5u0LFV9iMiIhRFmBRIHVc8fwxeqTuUYg5BtIRltEPtCTtXzVnGUR8OZL1smYnYJ1WBMuutNk1ZqKWP2J2BERC4KADMFhTpg/WTgI1Guxo6I3yRwQHuyPIB8PPEx2s46WZly5eRvlZXX44VobgpVsqEguZ46K95emBnsJAzRdwMYCYYURGthcXnY+Xp7zMn+TZNrOlb09FYgM8oK/BzmSdbaj9tZtXK+rxtkfrqKZHJjcGEJnJ/02Lzq2cN3N/3qOxnjD1SJIuP6TXTrzdIbarG3fYPVTC6Fgyu4P933T1OdI99ZoWyCSUMPWo5cRuyJAL70iOASLUY4ctoSlocP5WZUXfWey/TJN7ng7ORZL1OZPg3znwcyITkLV/yw3I5OYWRc6GXrGjzWT1GFhSEuYBpUn6wuaITGqYlxii5O3m2jNdMOa7a/j10xnkfz8WHoUOAofvZMXpvoSP/6+3RieQ78ZGwORbAtHiH/3qwD2QCLzwfJod+QcaYRq5lQE8Qasxq79po8FRuHLnc8jiP/qyVw7mlFZc4fsWk4Y6j4MHnJuW+9XDxYSuJNYH7u6Mh1qrgwwJiTiErNkGbaSw5o4NdyoxS3iq7i6uULhKQaSmMqyvHq8j1GoRubkwgKN12lf4zj29u301em+2mwOROA6sjW3kDaFXf0en0tCFUeOY2X0OH5iDZozhlWSr0LqhkUCCMmp+WDmAawtMgGr5yjs+P0yzDGcPoXe95prhOZaM0KH6TdL+D3mR2QlB4eBJvJgYaMIhHUkrvpGRiFO8AcxdsCY6BhkrBDFUAfAR6P5SdjWyaleq6lAJVkNLXFOHGQdON8wAGaDQCoBIAJZOWexfgr7kkTm9RhSA29i5mhuu+rE0VzBb2TnrEDIOBYMTOjkWMY2rC0zo4366/ihrnMQgWjMQzFhAsKJK9HXPTQ3C3FPtXo8PAwV3Tc0UKcVipv5fF5hFTbeIxDRLt6D7+Jcbh5S+nYTeb62yNj01MxPuOoMjv3MPZhyQ+KGecJrkhsV+FsPBRp8L/0AQ9AshOT4IdmMO2aN5wBr0iQuim0mrjeT33PyR6GWxPLeShSeYggNbE4dPYt/i2jUJgqWy7r5uIERCVNQz3mUByxTtmAmDBmb6i9Cw3sOjli8ejbXYvY3ceV87EkMw2Kl2NcxS/pAKqUBRDK1vxy5bHaCZUdLTWKLDJkDmNgtl56YZRr3YVocsOmtBCMgdHVysT7SLF6qnFxNQiPcyD1/a4oKUdwk1PtHLMeXK40DK0xrzIL52Gs4hHHUXZ2GvVf8xGzEOLO3St7B07Ej3nhe1dxApr9Oo7CIJyV338HM2bcFf869wFPKvNQoSZ7El8WZmCVxSI2agOkR4dic/hukeopbrZN/aPTSdyTy/6wocGi3Saij+xqSnssy++5wXcpr+O0kYY2oPFeCrKM/ooEAMOAJFebOmAh/04+7uxYZa3ZiC7NSKKdDmz5DcOg7mqC7SarJafG9pG0oChVecJu+0PYOno3i9YZHGwY7dbfU4uwFMoDDEIx4ZCyU5k7CHH/nEJSRR63c9oyOWhz89Bt8W90Kl4dHYtYsEj8NGNkDAdUlhzHlXYObQvzMcu5hLEPZ3YbKqjsY7jsSbrJb2BD/AbJI9ab0ZMQrha+uu/4acvK+xalLbRgV4I/oiDAE+woHsIaKAgSnnenB+0FXiNaVB82qv/HrkF1cS+48BQPUaTRmQciMtHnT55i9Zzl//ec/aQpSyR/j1Akd2fKVow2AlQ2FgoTq9ElXDSaEy2+sTsP0IGTaAslRvEiwHakxfhhbU3Ycy3Y6Iesl4SAhk49EqFqQnRkHuIUTJa0IJ/e8+sTxJ65Iej558BDFXq3BaSTiVixEHEvF/91+oxp3yDWhwmClocM54QlJ1WVUtEQilPvYZC7wH80BajjiIt2RRW5gUlLfh2P6i4hTsjqQefohfsUSxPNchEzDpRIsswEIGQkkszUzwuRknxY9mm1Gbk5f4dtKRK3KxomfzUfXGsirm/fS/o6I9Z+hTBRz5i9ayBVj8vYysoKapO5m/cvnqzW3+ZBbe001LpqQaQryyJ3sYZzuhX+d7jw2JH2AFzI10AlMwWVzdu1C0r7zaDDnn5IwVNnXX+GXa3bhjS+u8JyNV41GLH3nK2ibxI8kGNJOVBPeRy5wp/kWrE3dgnXkfrmyifPD+SH1mfamahz+eDeC3yzsJy5q3G8wSxLamu9jWuRmYvH4h+FBYmTtt9uguXQd2lbj8VS+5HqvvQXaepGfqCchtzKBCpAXfqitqSMOvmm78ThmS8x7womeaLvThuFDZdCer4TGYv7kUBLoD9UIIkFHF27V1SDP9A2lqxxqso9fJQ8VaswIoCJvEZXkLWJrYxMu9kLDdWNucaYTXbXd6SKykjjuv6vvbc7cgIP0+/8BxEFSBh3GdhqQ1NZsOzVQzrbWAAWirS1A+es1QIFIgSAJDVAgSsIMVAgKRIoBSWiAAlESZqBCUCBSDEhCAxSIkjADFYICkWJAEhqgQJSEGagQFIgUA5LQAAWiJMxAhaBApBiQhAYoECVhBioEBSLFgCQ0QIEoCTNQISgQKQYkoQEKREmYgQpBgUgxIAkNUCBKwgxUCFlHo7l/F0YVQzVgXQ3QFdG6+qbcetHAfwEb2P0Rn/u7HAAAAABJRU5ErkJggg=="},460:function(t,a,s){t.exports=s.p+"assets/img/goodtables-valid.5e65080f.png"},461:function(t,a,s){t.exports=s.p+"assets/img/goodtables-invalid.d1ae3ac6.png"},462:function(t,a,s){t.exports=s.p+"assets/img/goodtables-provide-schema.3e7cdcb9.png"},463:function(t,a,s){t.exports=s.p+"assets/img/goodtables-continuous-validation.2d4abd27.png"},596:function(t,a,s){"use strict";s.r(a);var e=s(29),o=Object(e.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("Tabular data (e.g. data stored in "),e("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[t._v("CSV")]),t._v(" and Excel worksheets) is one of the most common forms of data available on the web. This guide will walk through validating tabular data using Frictionless Data software.")],1),t._v(" "),e("p",[t._v("This guide show how you can validate your tabular data and check both:")]),t._v(" "),e("ul",[e("li",[t._v("Structure: are there too many rows or columns in some places?")]),t._v(" "),e("li",[t._v("Schema: does the data fit its schema. Are the values in the date column actually dates? Are all the numbers greater than zero?")])]),t._v(" "),e("p",[t._v("We will walk through two methods of performing validation:")]),t._v(" "),e("ul",[e("li",[t._v("Web service: an online service called "),e("strong",[t._v("goodtables")]),t._v(". This option requires no technical knowledge or expertise.")]),t._v(" "),e("li",[t._v("Using the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/goodtables-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("Python goodtables library"),e("OutboundLink")],1),t._v(". This allows you full control over the validation process but requires knowledge of Python.")])]),t._v(" "),e("h2",{attrs:{id:"goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#goodtables"}},[t._v("#")]),t._v(" goodtables")]),t._v(" "),e("p",[e("a",{attrs:{href:"http://goodtables.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables"),e("OutboundLink")],1),t._v(" is a free, open-source, hosted service for validating tabular data. goodtables checks your data for its "),e("em",[t._v("structure")]),t._v(", and, optionally, its adherence to a specified "),e("em",[t._v("schema")]),t._v(". Where the latter fails, goodtables highlights content errors so you can fix them speedily.")]),t._v(" "),e("p",[t._v("goodtables will give quick and simple feedback on where your tabular data may not yet be quite perfect.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(457),alt:"goodtables screenshot"}})]),t._v(" "),e("p",[t._v("To get started with one-off validation of your tabular datasets, use "),e("a",{attrs:{href:"http://try.goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("try.goodtables.io"),e("OutboundLink")],1),t._v(". All you need to do is upload or provide a link to a CSV file and hit the “Validate” button.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(458),alt:"goodtables Provide URL"}})]),t._v(" "),e("p",[e("img",{attrs:{src:s(459),alt:"goodtables Validate button"}})]),t._v(" "),e("p",[t._v("If your data is structurally valid, you should receive the following result:")]),t._v(" "),e("p",[e("img",{attrs:{src:s(460),alt:"goodtables Valid"}})]),t._v(" "),e("p",[t._v("If not…")]),t._v(" "),e("p",[e("img",{attrs:{src:s(461),alt:"goodtables Invalid"}})]),t._v(" "),e("p",[t._v("The report should highlight the structural issues found in your data for correction. For instance, a poorly structured tabular dataset may consist of a header row with too many (or too few) columns when compared to of data rows with an equal amount of columns.")]),t._v(" "),e("p",[t._v("You can also provide a schema for your tabular data defined using JSON Table Schema.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(462),alt:"goodtables Provide Schema"}})]),t._v(" "),e("p",[t._v("Briefly, the format allows users to specify not only the types of information within each column in a tabular dataset, but also expected values. For more information, see the "),e("RouterLink",{attrs:{to:"/introduction/"}},[t._v("introduction")]),t._v(" or "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("the full standard"),e("OutboundLink")],1),t._v(".")],1),t._v(" "),e("h2",{attrs:{id:"python-goodtables"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#python-goodtables"}},[t._v("#")]),t._v(" Python + goodtables")]),t._v(" "),e("p",[t._v("goodtables is also available as a Python library. The following short snippets demonstrate examples of loading and validating data in a file called "),e("code",[t._v("data.csv")]),t._v("(and in the second example, validating the same data file against "),e("code",[t._v("schema.json")]),t._v(")")]),t._v(" "),e("h3",{attrs:{id:"validating-structure"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-structure"}},[t._v("#")]),t._v(" Validating Structure")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" goodtables "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" validate\n\nreport "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" validate"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data.csv'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'table-count'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'error-count'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'valid'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'source'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\nreport"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'tables'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'errors'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'code'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n")])])]),e("h3",{attrs:{id:"validating-schema"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#validating-schema"}},[t._v("#")]),t._v(" Validating Schema")]),t._v(" "),e("div",{staticClass:"language-python extra-class"},[e("pre",{pre:!0,attrs:{class:"language-python"}},[e("code",[e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("from")]),t._v(" goodtables "),e("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("import")]),t._v(" validate\n\n"),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# sync source/schema fields order")]),t._v("\nreport "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" validate"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'data.csv'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" schema"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'schema.json'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" order_fields"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),e("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("True")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("\n")])])]),e("h2",{attrs:{id:"continuous-data-validation"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#continuous-data-validation"}},[t._v("#")]),t._v(" Continuous Data Validation")]),t._v(" "),e("p",[t._v("In a bid to streamline the process of data validation and ensure seamless integration is possible in different publishing workflows, we have set up a continuous data validation hosted service that builds on top of Frictionless Data libraries. "),e("a",{attrs:{href:"http://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("goodtables.io"),e("OutboundLink")],1),t._v(" provides support for different backends. At this time, users can use it to check any datasets hosted on GitHub and Amazon S3 buckets, automatically running validation against data files every time they are updated, and providing a user friendly report of any issues found.")]),t._v(" "),e("p",[e("img",{attrs:{src:s(463),alt:"Data Valid"}})]),t._v(" "),e("p",[t._v("Start your continuous data validation here: "),e("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://goodtables.io"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("Blog post on goodtables python library and goodtables web service: "),e("a",{attrs:{href:"http://okfnlabs.org/blog/2017/05/22/introducing-the-new-goodtables-library-and-goodtablesio.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://okfnlabs.org/blog/2017/05/22/introducing-the-new-goodtables-library-and-goodtablesio.html"),e("OutboundLink")],1)]),t._v(" "),e("p",[t._v("See the "),e("code",[t._v("README.md")]),t._v(" for more information.")]),t._v(" "),e("p",[t._v("Find more examples on validating tabular data in the "),e("a",{attrs:{href:"/tag/field-guide"}},[t._v("Frictionless Data Field Guide")])])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/70.4383c25b.js b/assets/js/70.542e1289.js similarity index 98% rename from assets/js/70.4383c25b.js rename to assets/js/70.542e1289.js index 83389005b..70c7aa497 100644 --- a/assets/js/70.4383c25b.js +++ b/assets/js/70.542e1289.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{579:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Matt Thompson for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[e._v("My name is Matt Thompson, I am from Bristol, UK, and work as a lecturer in Creative Computing at Bath Spa University. I have been involved in the Clojure community for a while, running the "),a("a",{attrs:{href:"https://bristolclojurians.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bristol Clojurians group"),a("OutboundLink")],1),e._v(" since 2014. I was involved in the "),a("a",{attrs:{href:"http://www.cs.bath.ac.uk/dm4t/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DM4T project"),a("OutboundLink")],1),e._v(" during my postdoc at Bath University, where we used Frictionless Data software to create metadata for large datasets recording domestic energy usage.")]),e._v(" "),a("p",[e._v("We worked with Open Knowledge International’s Developer Advocate, Dan Fowler, on the DM4T project at Bath in a collaboration which turned into a soon-to-be-published pilot study for the project. "),a("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dan showed us"),a("OutboundLink")],1),e._v(" how the Frictionless Data software could allow us to quickly automate ways to annotate our datasets with metadata. We came away excited about the possibilities that the Frictionless Data software enable for the datasets we’re working with.")]),e._v(" "),a("p",[e._v("When the "),a("a",{attrs:{href:"https://blog.okfn.org/2017/03/01/announcing-the-frictionless-data-tool-fund/",target:"_blank",rel:"noopener noreferrer"}},[e._v("call for applications"),a("OutboundLink")],1),e._v(" for Frictionless Data’s Tool Fund was made in May 2017, I was already building tools in Clojure for working with Frictionless Data as part of DM4T, and I decided to apply to enable me to flesh them out into well-tested, documented libraries.")]),e._v(" "),a("p",[e._v("The problem we had with the DM4T project is that the same kinds of data were being collected by many different projects run by different universities across the country. In addition to describing the energy usage of different appliances, the data also includes different types of readings as well (electric usage, gas usage, humidity levels, temperature readings, etc). Different projects store their data in different ways, with some using mySQL databases, and others using CSV tables. The Frictionless Data software allow us to create simple JSON files describing the metadata for each project in a uniform way that is easy for the collaborating researchers to understand and implement.")]),e._v(" "),a("p",[e._v("Once datasets are put into the public domain, it is extremely useful to also have the metadata that describe them. This would enable people to, for example, run queries across multiple datasets. One example in our case would be to ask: “What was the energy usage of all homes in Exeter for January 2014?”. This information would be contained in datasets that are curated by different people, and so we need uniform metadata in order to be able to make these kinds of queries.")]),e._v(" "),a("p",[e._v("We run Clojure events and workshops twice a month as part of the "),a("a",{attrs:{href:"https://bristolclojurians.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bristol Clojurians group"),a("OutboundLink")],1),e._v(", so interested people can drop in and discuss the work we’re doing with Frictionless Data. I’m also planning to give a talk about Frictionless Data at one of the Clojurian events.")]),e._v(" "),a("p",[e._v("You can follow the development of the Clojure libraries on the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[e._v("Clojure Data Package library"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj",target:"_blank",rel:"noopener noreferrer"}},[e._v("Clojure Table Schema library"),a("OutboundLink")],1),e._v(" Github repositories.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[70],{577:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Matt Thompson for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[e._v("My name is Matt Thompson, I am from Bristol, UK, and work as a lecturer in Creative Computing at Bath Spa University. I have been involved in the Clojure community for a while, running the "),a("a",{attrs:{href:"https://bristolclojurians.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bristol Clojurians group"),a("OutboundLink")],1),e._v(" since 2014. I was involved in the "),a("a",{attrs:{href:"http://www.cs.bath.ac.uk/dm4t/",target:"_blank",rel:"noopener noreferrer"}},[e._v("DM4T project"),a("OutboundLink")],1),e._v(" during my postdoc at Bath University, where we used Frictionless Data software to create metadata for large datasets recording domestic energy usage.")]),e._v(" "),a("p",[e._v("We worked with Open Knowledge International’s Developer Advocate, Dan Fowler, on the DM4T project at Bath in a collaboration which turned into a soon-to-be-published pilot study for the project. "),a("a",{attrs:{href:"https://github.com/frictionlessdata/pilot-dm4t",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dan showed us"),a("OutboundLink")],1),e._v(" how the Frictionless Data software could allow us to quickly automate ways to annotate our datasets with metadata. We came away excited about the possibilities that the Frictionless Data software enable for the datasets we’re working with.")]),e._v(" "),a("p",[e._v("When the "),a("a",{attrs:{href:"https://blog.okfn.org/2017/03/01/announcing-the-frictionless-data-tool-fund/",target:"_blank",rel:"noopener noreferrer"}},[e._v("call for applications"),a("OutboundLink")],1),e._v(" for Frictionless Data’s Tool Fund was made in May 2017, I was already building tools in Clojure for working with Frictionless Data as part of DM4T, and I decided to apply to enable me to flesh them out into well-tested, documented libraries.")]),e._v(" "),a("p",[e._v("The problem we had with the DM4T project is that the same kinds of data were being collected by many different projects run by different universities across the country. In addition to describing the energy usage of different appliances, the data also includes different types of readings as well (electric usage, gas usage, humidity levels, temperature readings, etc). Different projects store their data in different ways, with some using mySQL databases, and others using CSV tables. The Frictionless Data software allow us to create simple JSON files describing the metadata for each project in a uniform way that is easy for the collaborating researchers to understand and implement.")]),e._v(" "),a("p",[e._v("Once datasets are put into the public domain, it is extremely useful to also have the metadata that describe them. This would enable people to, for example, run queries across multiple datasets. One example in our case would be to ask: “What was the energy usage of all homes in Exeter for January 2014?”. This information would be contained in datasets that are curated by different people, and so we need uniform metadata in order to be able to make these kinds of queries.")]),e._v(" "),a("p",[e._v("We run Clojure events and workshops twice a month as part of the "),a("a",{attrs:{href:"https://bristolclojurians.github.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Bristol Clojurians group"),a("OutboundLink")],1),e._v(", so interested people can drop in and discuss the work we’re doing with Frictionless Data. I’m also planning to give a talk about Frictionless Data at one of the Clojurian events.")]),e._v(" "),a("p",[e._v("You can follow the development of the Clojure libraries on the "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[e._v("Clojure Data Package library"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj",target:"_blank",rel:"noopener noreferrer"}},[e._v("Clojure Table Schema library"),a("OutboundLink")],1),e._v(" Github repositories.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/71.89c94dae.js b/assets/js/71.db803e4f.js similarity index 98% rename from assets/js/71.89c94dae.js rename to assets/js/71.db803e4f.js index e37af8855..0e2ffd3eb 100644 --- a/assets/js/71.89c94dae.js +++ b/assets/js/71.db803e4f.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{580:function(e,t,a){"use strict";a.r(t);var n=a(29),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Open Knowledge Greece for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[a("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Greece"),a("OutboundLink")],1),e._v(", formally appointed as the Greek Chapter of Open Knowledge International, was established in 2012 by a group of academics, developers, citizens, hackers and State representatives. We are supported by a national network of volunteers, most of whom are experienced professionals in the fields of Computer Science, Mathematics, Medicine, Journalism, Agriculture etc."),a("br"),e._v("\nOur team consists of community members who are interested in open data, linked data technologies, coding, data journalism, and who do their best in applying scientific results into community activities.")]),e._v(" "),a("p",[e._v("We were very excited when we read about "),a("RouterLink",{attrs:{to:"/"}},[e._v("Frictionless Data")]),e._v(" on the "),a("a",{attrs:{href:"https://blog.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International blog"),a("OutboundLink")],1),e._v(" and have been following the progress of the project carefully. When we saw the Frictionless Data Tool Fund had been "),a("a",{attrs:{href:"https://blog.okfn.org/2017/03/01/announcing-the-frictionless-data-tool-fund/",target:"_blank",rel:"noopener noreferrer"}},[e._v("announced"),a("OutboundLink")],1),e._v(", we were certain that we wanted to be part of this project and build tools that can help in removing the friction in working with data.")],1),e._v(" "),a("p",[e._v("People and organizations working with data are interested in analyzing, visualizing or building apps based on data, but they end up spending most of their time cleaning and preparing the data.")]),e._v(" "),a("p",[e._v("Frictionless Data software and specifications aim to make data ready for use. There are a lot of open data repositories in different formats and they often include dirty and missing data with null values, dates, currencies, units and identifiers which are represented differently and need effort to make them usable. Moreover datasets from different sources have different licenses, are often not up to date and inconsistencies make including in in one analysis difficult.")]),e._v(" "),a("p",[e._v("We received the Frictionless Data Tool Fund grant for the development of libraries in R language. R is a powerful open source programming language and environment for statistical computing and graphics that is widely used among statisticians and data miners for developing statistical software and data analysis.")]),e._v(" "),a("p",[e._v("We are going to implement two Frictionless Data libraries in R - "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1),e._v(" for publishing and sharing tabular-style data and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package"),a("OutboundLink")],1),e._v(" for describing a coherent collection of data in a single package, keeping the frictionless data "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("specifications"),a("OutboundLink")],1),e._v(". Comments, forks, and pull requests welcome in the two repositories.")]),e._v(" "),a("p",[e._v("Users will be able to load a data package into R in seconds so that data can be used for analysis and visualizations, invalid data can be fixed and generally friction is removed in working with data especially when shifting from one language to another. For example you will be able to get and analyze a data package in R which will in turn make visualizations in other graphical interfaces easier.")]),e._v(" "),a("p",[e._v("We are also very delighted to be hosting "),a("a",{attrs:{href:"http://2018.okfestival.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Festival"),a("OutboundLink")],1),e._v(" (OKFest) in Thessaloniki, Greece from 3-6 May 2018. OKFest is expected to bring together over 1,500 people from more than 60 countries. During the four-day full program of the Festival, participants will work together to share their skills and experiences, build the very tools and partnerships that will further the power of openness as a positive force for change. Open Knowledge Greece CEO "),a("a",{attrs:{href:"https://twitter.com/bratsas",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dr. Charalampos Bratsas"),a("OutboundLink")],1),e._v(" and the rest team are very excited to host the biggest gathering of the open knowledge community in our country. Look out for OKFest updates on the website and on "),a("a",{attrs:{href:"https://twitter.com/OKFestival",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Interested in learning more about OK Greece? See our "),a("a",{attrs:{href:"https://www.facebook.com/okfngreece/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Facebook"),a("OutboundLink")],1),e._v(" page, read our "),a("a",{attrs:{href:"http://okfn.gr/blog-magazine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog"),a("OutboundLink")],1),e._v(" and watch our videos on "),a("a",{attrs:{href:"https://www.youtube.com/channel/UCWk9gT45Pdgg2wUJg_bRxXg/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Youtube"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[71],{579:function(e,t,a){"use strict";a.r(t);var n=a(29),r=Object(n.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Open Knowledge Greece for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("p",[a("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Greece"),a("OutboundLink")],1),e._v(", formally appointed as the Greek Chapter of Open Knowledge International, was established in 2012 by a group of academics, developers, citizens, hackers and State representatives. We are supported by a national network of volunteers, most of whom are experienced professionals in the fields of Computer Science, Mathematics, Medicine, Journalism, Agriculture etc."),a("br"),e._v("\nOur team consists of community members who are interested in open data, linked data technologies, coding, data journalism, and who do their best in applying scientific results into community activities.")]),e._v(" "),a("p",[e._v("We were very excited when we read about "),a("RouterLink",{attrs:{to:"/"}},[e._v("Frictionless Data")]),e._v(" on the "),a("a",{attrs:{href:"https://blog.okfn.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge International blog"),a("OutboundLink")],1),e._v(" and have been following the progress of the project carefully. When we saw the Frictionless Data Tool Fund had been "),a("a",{attrs:{href:"https://blog.okfn.org/2017/03/01/announcing-the-frictionless-data-tool-fund/",target:"_blank",rel:"noopener noreferrer"}},[e._v("announced"),a("OutboundLink")],1),e._v(", we were certain that we wanted to be part of this project and build tools that can help in removing the friction in working with data.")],1),e._v(" "),a("p",[e._v("People and organizations working with data are interested in analyzing, visualizing or building apps based on data, but they end up spending most of their time cleaning and preparing the data.")]),e._v(" "),a("p",[e._v("Frictionless Data software and specifications aim to make data ready for use. There are a lot of open data repositories in different formats and they often include dirty and missing data with null values, dates, currencies, units and identifiers which are represented differently and need effort to make them usable. Moreover datasets from different sources have different licenses, are often not up to date and inconsistencies make including in in one analysis difficult.")]),e._v(" "),a("p",[e._v("We received the Frictionless Data Tool Fund grant for the development of libraries in R language. R is a powerful open source programming language and environment for statistical computing and graphics that is widely used among statisticians and data miners for developing statistical software and data analysis.")]),e._v(" "),a("p",[e._v("We are going to implement two Frictionless Data libraries in R - "),a("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-r",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1),e._v(" for publishing and sharing tabular-style data and "),a("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Package"),a("OutboundLink")],1),e._v(" for describing a coherent collection of data in a single package, keeping the frictionless data "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("specifications"),a("OutboundLink")],1),e._v(". Comments, forks, and pull requests welcome in the two repositories.")]),e._v(" "),a("p",[e._v("Users will be able to load a data package into R in seconds so that data can be used for analysis and visualizations, invalid data can be fixed and generally friction is removed in working with data especially when shifting from one language to another. For example you will be able to get and analyze a data package in R which will in turn make visualizations in other graphical interfaces easier.")]),e._v(" "),a("p",[e._v("We are also very delighted to be hosting "),a("a",{attrs:{href:"http://2018.okfestival.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knowledge Festival"),a("OutboundLink")],1),e._v(" (OKFest) in Thessaloniki, Greece from 3-6 May 2018. OKFest is expected to bring together over 1,500 people from more than 60 countries. During the four-day full program of the Festival, participants will work together to share their skills and experiences, build the very tools and partnerships that will further the power of openness as a positive force for change. Open Knowledge Greece CEO "),a("a",{attrs:{href:"https://twitter.com/bratsas",target:"_blank",rel:"noopener noreferrer"}},[e._v("Dr. Charalampos Bratsas"),a("OutboundLink")],1),e._v(" and the rest team are very excited to host the biggest gathering of the open knowledge community in our country. Look out for OKFest updates on the website and on "),a("a",{attrs:{href:"https://twitter.com/OKFestival",target:"_blank",rel:"noopener noreferrer"}},[e._v("Twitter"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("Interested in learning more about OK Greece? See our "),a("a",{attrs:{href:"https://www.facebook.com/okfngreece/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Facebook"),a("OutboundLink")],1),e._v(" page, read our "),a("a",{attrs:{href:"http://okfn.gr/blog-magazine/",target:"_blank",rel:"noopener noreferrer"}},[e._v("blog"),a("OutboundLink")],1),e._v(" and watch our videos on "),a("a",{attrs:{href:"https://www.youtube.com/channel/UCWk9gT45Pdgg2wUJg_bRxXg/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Youtube"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/73.bff5f5c0.js b/assets/js/73.6e3cac69.js similarity index 99% rename from assets/js/73.bff5f5c0.js rename to assets/js/73.6e3cac69.js index d346124ee..8c8900ff9 100644 --- a/assets/js/73.bff5f5c0.js +++ b/assets/js/73.6e3cac69.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{586:function(t,a,e){"use strict";e.r(a);var s=e(29),n=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[e("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Open Knowledge Greece"),e("OutboundLink")],1),t._v(" was one of 2017’s "),e("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),e("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data libraries in R programming language. You can read more about this in "),e("a",{attrs:{href:"https://frictionlessdata.io/articles/open-knowledge-greece/",target:"_blank",rel:"noopener noreferrer"}},[t._v("their grantee profile"),e("OutboundLink")],1),t._v(". In this tutorial, "),e("a",{attrs:{href:"https://gr.linkedin.com/in/kleanthis-koupidis-8348b88b",target:"_blank",rel:"noopener noreferrer"}},[t._v("Kleanthis Koupidis"),e("OutboundLink")],1),t._v(", a Data Scientist and Statistician at Open Knowledge Greece, explains how to create Data Packages in R.")]),t._v(" "),e("h2",{attrs:{id:"creating-data-packages-in-r"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-data-packages-in-r"}},[t._v("#")]),t._v(" Creating Data Packages in R")]),t._v(" "),e("p",[t._v("This tutorial will show you how to install the R library for working with Data Packages and Table Schema, load a CSV file, infer its schema, and write a Tabular Data Package.")]),t._v(" "),e("h2",{attrs:{id:"load"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#load"}},[t._v("#")]),t._v(" Load")]),t._v(" "),e("p",[t._v("For this tutorial, we will need the Data Package R library ("),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage.r"),e("OutboundLink")],1),t._v(")."),e("br"),t._v("\nYou can start using the library by loading "),e("code",[t._v("datapackage.r")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("datapackage.r"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("You can add useful metadata by adding keys to metadata dict attribute. Below, we are adding the required "),e("code",[t._v("name")]),t._v(" key as well as a human-readable "),e("code",[t._v("title")]),t._v(" key. For the keys supported, please consult the full "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package spec"),e("OutboundLink")],1),t._v(". Note, we will be creating the required "),e("code",[t._v("resources")]),t._v(" key further down below.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package.load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'period-table'")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'title'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Periodic Table'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# commit the changes to Package class")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("## [1] TRUE")]),t._v("\n")])])]),e("h2",{attrs:{id:"infer-a-csv-schema"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#infer-a-csv-schema"}},[t._v("#")]),t._v(" Infer a CSV Schema")]),t._v(" "),e("p",[t._v("We will use periodic-table data from "),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/datapackage-r/9eed05d1710fd69a0cb74f7941c7f142563f571b/vignettes/example_data/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("remote path"),e("OutboundLink")],1)]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("atomic.number")]),t._v(" "),e("th",[t._v("symbol")]),t._v(" "),e("th",[t._v("name")]),t._v(" "),e("th",[t._v("atomic.mass")]),t._v(" "),e("th",[t._v("metal.or.nonmetal.")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("1")]),t._v(" "),e("td",[t._v("H")]),t._v(" "),e("td",[t._v("Hydrogen")]),t._v(" "),e("td",[t._v("1.00794")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("2")]),t._v(" "),e("td",[t._v("He")]),t._v(" "),e("td",[t._v("Helium")]),t._v(" "),e("td",[t._v("4.002602")]),t._v(" "),e("td",[t._v("noble gas")])]),t._v(" "),e("tr",[e("td",[t._v("3")]),t._v(" "),e("td",[t._v("Li")]),t._v(" "),e("td",[t._v("Lithium")]),t._v(" "),e("td",[t._v("6.941")]),t._v(" "),e("td",[t._v("alkali metal")])]),t._v(" "),e("tr",[e("td",[t._v("4")]),t._v(" "),e("td",[t._v("Be")]),t._v(" "),e("td",[t._v("Beryllium")]),t._v(" "),e("td",[t._v("9.012182")]),t._v(" "),e("td",[t._v("alkaline earth metal")])]),t._v(" "),e("tr",[e("td",[t._v("5")]),t._v(" "),e("td",[t._v("B")]),t._v(" "),e("td",[t._v("Boron")]),t._v(" "),e("td",[t._v("10.811")]),t._v(" "),e("td",[t._v("metalloid")])]),t._v(" "),e("tr",[e("td",[t._v("6")]),t._v(" "),e("td",[t._v("C")]),t._v(" "),e("td",[t._v("Carbon")]),t._v(" "),e("td",[t._v("12.0107")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("7")]),t._v(" "),e("td",[t._v("N")]),t._v(" "),e("td",[t._v("Nitrogen")]),t._v(" "),e("td",[t._v("14.0067")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("8")]),t._v(" "),e("td",[t._v("O")]),t._v(" "),e("td",[t._v("Oxygen")]),t._v(" "),e("td",[t._v("15.9994")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("9")]),t._v(" "),e("td",[t._v("F")]),t._v(" "),e("td",[t._v("Fluorine")]),t._v(" "),e("td",[t._v("18.9984032")]),t._v(" "),e("td",[t._v("halogen")])]),t._v(" "),e("tr",[e("td",[t._v("10")]),t._v(" "),e("td",[t._v("Ne")]),t._v(" "),e("td",[t._v("Neon")]),t._v(" "),e("td",[t._v("20.1797")]),t._v(" "),e("td",[t._v("noble gas")])])])]),t._v(" "),e("p",[t._v("We can guess our CSV’s "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("schema"),e("OutboundLink")],1),t._v(" by using "),e("code",[t._v("infer")]),t._v(" from the Table Schema library. We pass directly the remote link to the infer function, the result of which is an inferred schema. For example, if the processor detects only integers in a given column, it will assign "),e("code",[t._v("integer")]),t._v(" as a column type.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" filepath "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/data.csv'")]),t._v("\n\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tableschema.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("::")]),t._v("infer"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Once we have a schema, we are now ready to add a "),e("code",[t._v("resource")]),t._v(" key to the Data Package which points to the resource path and its newly created schema. Below we define resources with three ways, using json text format with usual assignment operator in R list objects and directly using "),e("code",[t._v("addResource")]),t._v(" function of "),e("code",[t._v("Package")]),t._v(" class:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# define resources using json text")]),t._v("\n resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" helpers.from.json.to.list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n '"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"filepath"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"schema"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("'\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# or define resources using list object")]),t._v("\n resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n name "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("And now, add resources to the Data Package:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'resources'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resources\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("## [1] TRUE")]),t._v("\n")])])]),e("p",[t._v("Or you can directly add resources using "),e("code",[t._v("addResources")]),t._v(" function of "),e("code",[t._v("Package")]),t._v(" class:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n name "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("addResource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Now we are ready to write our "),e("code",[t._v("datapackage.json")]),t._v(" file to the current working directory.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("save"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'example_data'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("The "),e("code",[t._v("datapackage.json")]),t._v(" ("),e("a",{attrs:{href:"https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/package.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("download"),e("OutboundLink")],1),t._v(") is inlined below. Note that atomic number has been correctly inferred as an "),e("code",[t._v("integer")]),t._v(" and atomic mass as a "),e("code",[t._v("number")]),t._v(" (float) while every other column is a "),e("code",[t._v("string")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v(' jsonlite::prettify(helpers.from.list.to.json(dataPackage$descriptor))\n\n ## {\n ## "profile": "data-package",\n ## "name": "period-table",\n ## "title": "Periodic Table",\n ## "resources": [\n ## {\n ## "name": "data",\n ## "path": "https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/data.csv",\n ## "schema": {\n ## "fields": [\n ## {\n ## "name": "atomic number",\n ## "type": "integer",\n ## "format": "default"\n ## },\n ## {\n ## "name": "symbol",\n ## "type": "string",\n ## "format": "default"\n ## },\n ## {\n ## "name": "name",\n ## "type": "string",\n ## "format": "default"\n ## },\n ## {\n ## "name": "atomic mass",\n ## "type": "number",\n ## "format": "default"\n ## },\n ## {\n ## "name": "metal or nonmetal?",\n ## "type": "string",\n ## "format": "default"\n ## }\n ## ],\n ## "missingValues": [\n ## ""\n ## ]\n ## },\n ## "profile": "data-resource",\n ## "encoding": "utf-8"\n ## }\n ## ]\n ## }\n ##\n')])])]),e("h2",{attrs:{id:"publishing"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#publishing"}},[t._v("#")]),t._v(" Publishing")]),t._v(" "),e("p",[t._v("Now that you have created your Data Package, you might want to "),e("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[t._v("publish your data online")]),t._v(" so that you can share it with others.")],1),t._v(" "),e("p",[t._v("Now that you have created a data package in R, "),e("RouterLink",{attrs:{to:"/blog/2018/02/14/using-data-packages-in-r/"}},[t._v("find out how to use data packages in R in this tutorial")]),t._v(".")],1)])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[73],{587:function(t,a,e){"use strict";e.r(a);var s=e(29),n=Object(s.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[e("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Open Knowledge Greece"),e("OutboundLink")],1),t._v(" was one of 2017’s "),e("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),e("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data libraries in R programming language. You can read more about this in "),e("a",{attrs:{href:"https://frictionlessdata.io/articles/open-knowledge-greece/",target:"_blank",rel:"noopener noreferrer"}},[t._v("their grantee profile"),e("OutboundLink")],1),t._v(". In this tutorial, "),e("a",{attrs:{href:"https://gr.linkedin.com/in/kleanthis-koupidis-8348b88b",target:"_blank",rel:"noopener noreferrer"}},[t._v("Kleanthis Koupidis"),e("OutboundLink")],1),t._v(", a Data Scientist and Statistician at Open Knowledge Greece, explains how to create Data Packages in R.")]),t._v(" "),e("h2",{attrs:{id:"creating-data-packages-in-r"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#creating-data-packages-in-r"}},[t._v("#")]),t._v(" Creating Data Packages in R")]),t._v(" "),e("p",[t._v("This tutorial will show you how to install the R library for working with Data Packages and Table Schema, load a CSV file, infer its schema, and write a Tabular Data Package.")]),t._v(" "),e("h2",{attrs:{id:"load"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#load"}},[t._v("#")]),t._v(" Load")]),t._v(" "),e("p",[t._v("For this tutorial, we will need the Data Package R library ("),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage.r"),e("OutboundLink")],1),t._v(")."),e("br"),t._v("\nYou can start using the library by loading "),e("code",[t._v("datapackage.r")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("datapackage.r"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("You can add useful metadata by adding keys to metadata dict attribute. Below, we are adding the required "),e("code",[t._v("name")]),t._v(" key as well as a human-readable "),e("code",[t._v("title")]),t._v(" key. For the keys supported, please consult the full "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package spec"),e("OutboundLink")],1),t._v(". Note, we will be creating the required "),e("code",[t._v("resources")]),t._v(" key further down below.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" Package.load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'name'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'period-table'")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'title'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'Periodic Table'")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# commit the changes to Package class")]),t._v("\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("## [1] TRUE")]),t._v("\n")])])]),e("h2",{attrs:{id:"infer-a-csv-schema"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#infer-a-csv-schema"}},[t._v("#")]),t._v(" Infer a CSV Schema")]),t._v(" "),e("p",[t._v("We will use periodic-table data from "),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/datapackage-r/9eed05d1710fd69a0cb74f7941c7f142563f571b/vignettes/example_data/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("remote path"),e("OutboundLink")],1)]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("atomic.number")]),t._v(" "),e("th",[t._v("symbol")]),t._v(" "),e("th",[t._v("name")]),t._v(" "),e("th",[t._v("atomic.mass")]),t._v(" "),e("th",[t._v("metal.or.nonmetal.")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[t._v("1")]),t._v(" "),e("td",[t._v("H")]),t._v(" "),e("td",[t._v("Hydrogen")]),t._v(" "),e("td",[t._v("1.00794")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("2")]),t._v(" "),e("td",[t._v("He")]),t._v(" "),e("td",[t._v("Helium")]),t._v(" "),e("td",[t._v("4.002602")]),t._v(" "),e("td",[t._v("noble gas")])]),t._v(" "),e("tr",[e("td",[t._v("3")]),t._v(" "),e("td",[t._v("Li")]),t._v(" "),e("td",[t._v("Lithium")]),t._v(" "),e("td",[t._v("6.941")]),t._v(" "),e("td",[t._v("alkali metal")])]),t._v(" "),e("tr",[e("td",[t._v("4")]),t._v(" "),e("td",[t._v("Be")]),t._v(" "),e("td",[t._v("Beryllium")]),t._v(" "),e("td",[t._v("9.012182")]),t._v(" "),e("td",[t._v("alkaline earth metal")])]),t._v(" "),e("tr",[e("td",[t._v("5")]),t._v(" "),e("td",[t._v("B")]),t._v(" "),e("td",[t._v("Boron")]),t._v(" "),e("td",[t._v("10.811")]),t._v(" "),e("td",[t._v("metalloid")])]),t._v(" "),e("tr",[e("td",[t._v("6")]),t._v(" "),e("td",[t._v("C")]),t._v(" "),e("td",[t._v("Carbon")]),t._v(" "),e("td",[t._v("12.0107")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("7")]),t._v(" "),e("td",[t._v("N")]),t._v(" "),e("td",[t._v("Nitrogen")]),t._v(" "),e("td",[t._v("14.0067")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("8")]),t._v(" "),e("td",[t._v("O")]),t._v(" "),e("td",[t._v("Oxygen")]),t._v(" "),e("td",[t._v("15.9994")]),t._v(" "),e("td",[t._v("nonmetal")])]),t._v(" "),e("tr",[e("td",[t._v("9")]),t._v(" "),e("td",[t._v("F")]),t._v(" "),e("td",[t._v("Fluorine")]),t._v(" "),e("td",[t._v("18.9984032")]),t._v(" "),e("td",[t._v("halogen")])]),t._v(" "),e("tr",[e("td",[t._v("10")]),t._v(" "),e("td",[t._v("Ne")]),t._v(" "),e("td",[t._v("Neon")]),t._v(" "),e("td",[t._v("20.1797")]),t._v(" "),e("td",[t._v("noble gas")])])])]),t._v(" "),e("p",[t._v("We can guess our CSV’s "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("schema"),e("OutboundLink")],1),t._v(" by using "),e("code",[t._v("infer")]),t._v(" from the Table Schema library. We pass directly the remote link to the infer function, the result of which is an inferred schema. For example, if the processor detects only integers in a given column, it will assign "),e("code",[t._v("integer")]),t._v(" as a column type.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" filepath "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/data.csv'")]),t._v("\n\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" tableschema.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("::")]),t._v("infer"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Once we have a schema, we are now ready to add a "),e("code",[t._v("resource")]),t._v(" key to the Data Package which points to the resource path and its newly created schema. Below we define resources with three ways, using json text format with usual assignment operator in R list objects and directly using "),e("code",[t._v("addResource")]),t._v(" function of "),e("code",[t._v("Package")]),t._v(" class:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# define resources using json text")]),t._v("\n resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" helpers.from.json.to.list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n '"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"name"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"path"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"filepath"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"schema"')]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"schema"')]),t._v("\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("'\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# or define resources using list object")]),t._v("\n resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n name "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("And now, add resources to the Data Package:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("descriptor"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'resources'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resources\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[t._v("## [1] TRUE")]),t._v("\n")])])]),e("p",[t._v("Or you can directly add resources using "),e("code",[t._v("addResources")]),t._v(" function of "),e("code",[t._v("Package")]),t._v(" class:")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" resources "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("list"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n name "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n path "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" filepath"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n schema "),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" schema\n "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("addResource"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("Now we are ready to write our "),e("code",[t._v("datapackage.json")]),t._v(" file to the current working directory.")]),t._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[t._v(" dataPackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[t._v("$")]),t._v("save"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[t._v("'example_data'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),e("p",[t._v("The "),e("code",[t._v("datapackage.json")]),t._v(" ("),e("a",{attrs:{href:"https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/package.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("download"),e("OutboundLink")],1),t._v(") is inlined below. Note that atomic number has been correctly inferred as an "),e("code",[t._v("integer")]),t._v(" and atomic mass as a "),e("code",[t._v("number")]),t._v(" (float) while every other column is a "),e("code",[t._v("string")]),t._v(".")]),t._v(" "),e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[t._v(' jsonlite::prettify(helpers.from.list.to.json(dataPackage$descriptor))\n\n ## {\n ## "profile": "data-package",\n ## "name": "period-table",\n ## "title": "Periodic Table",\n ## "resources": [\n ## {\n ## "name": "data",\n ## "path": "https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/data.csv",\n ## "schema": {\n ## "fields": [\n ## {\n ## "name": "atomic number",\n ## "type": "integer",\n ## "format": "default"\n ## },\n ## {\n ## "name": "symbol",\n ## "type": "string",\n ## "format": "default"\n ## },\n ## {\n ## "name": "name",\n ## "type": "string",\n ## "format": "default"\n ## },\n ## {\n ## "name": "atomic mass",\n ## "type": "number",\n ## "format": "default"\n ## },\n ## {\n ## "name": "metal or nonmetal?",\n ## "type": "string",\n ## "format": "default"\n ## }\n ## ],\n ## "missingValues": [\n ## ""\n ## ]\n ## },\n ## "profile": "data-resource",\n ## "encoding": "utf-8"\n ## }\n ## ]\n ## }\n ##\n')])])]),e("h2",{attrs:{id:"publishing"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#publishing"}},[t._v("#")]),t._v(" Publishing")]),t._v(" "),e("p",[t._v("Now that you have created your Data Package, you might want to "),e("RouterLink",{attrs:{to:"/blog/2016/08/29/publish-online/"}},[t._v("publish your data online")]),t._v(" so that you can share it with others.")],1),t._v(" "),e("p",[t._v("Now that you have created a data package in R, "),e("RouterLink",{attrs:{to:"/blog/2018/02/14/using-data-packages-in-r/"}},[t._v("find out how to use data packages in R in this tutorial")]),t._v(".")],1)])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/74.a47e7fc6.js b/assets/js/74.8e270b59.js similarity index 99% rename from assets/js/74.a47e7fc6.js rename to assets/js/74.8e270b59.js index 8d13ecf23..4536f095d 100644 --- a/assets/js/74.a47e7fc6.js +++ b/assets/js/74.8e270b59.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{587:function(a,t,e){"use strict";e.r(t);var s=e(29),r=Object(s.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("p",[e("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Open Knowledge Greece"),e("OutboundLink")],1),a._v(" was one of 2017’s "),e("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Data Tool Fund"),e("OutboundLink")],1),a._v(" grantees tasked with extending implementation of core Frictionless Data libraries in R programming language. You can read more about this in "),e("a",{attrs:{href:"https://frictionlessdata.io/articles/open-knowledge-greece/",target:"_blank",rel:"noopener noreferrer"}},[a._v("their grantee profile"),e("OutboundLink")],1),a._v(". In this tutorial, "),e("a",{attrs:{href:"https://gr.linkedin.com/in/kleanthis-koupidis-8348b88b",target:"_blank",rel:"noopener noreferrer"}},[a._v("Kleanthis Koupidis"),e("OutboundLink")],1),a._v(", a Data Scientist and Statistician at Open Knowledge Greece, explains how to work with Data Packages in R.")]),a._v(" "),e("p",[a._v("This tutorial will show you how to install the R libraries for working with Tabular Data Packages and demonstrate a very simple example of loading a Tabular Data Package from the web and pushing it directly into a local SQL database and send query to retrieve results.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("For a comprehensive introduction to creating tabular data packages in R, "),e("RouterLink",{attrs:{to:"/blog/2018/02/14/creating-tabular-data-packages-in-r/"}},[a._v("start by going through this tutorial")]),a._v(".")],1)]),a._v(" "),e("h2",{attrs:{id:"setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[a._v("#")]),a._v(" Setup")]),a._v(" "),e("p",[a._v("For this tutorial, we will need the Data Package R library ("),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.r"),e("OutboundLink")],1),a._v("). "),e("a",{attrs:{href:"https://cran.r-project.org/package=devtools",target:"_blank",rel:"noopener noreferrer"}},[a._v("Devtools library"),e("OutboundLink")],1),a._v(" is also required to install the datapackage.r library from github.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Install devtools package if not already")]),a._v("\n install.packages"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"devtools"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("And then install the development version of "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.r"),e("OutboundLink")],1),a._v(" from github.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v(" devtools::install_github"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"frictionlessdata/datapackage-r"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("h2",{attrs:{id:"load"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#load"}},[a._v("#")]),a._v(" Load")]),a._v(" "),e("p",[a._v("You can start using the library by loading "),e("code",[a._v("datapackage.r")]),a._v(".")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("datapackage.r"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("h2",{attrs:{id:"reading-basic-metadata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#reading-basic-metadata"}},[a._v("#")]),a._v(" Reading Basic Metadata")]),a._v(" "),e("p",[a._v("In this case, we are using an example Tabular Data Package containing the periodic table stored on "),e("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table",target:"_blank",rel:"noopener noreferrer"}},[a._v("GitHub"),e("OutboundLink")],1),a._v(" ("),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.json"),e("OutboundLink")],1),a._v(", "),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[a._v("data.csv"),e("OutboundLink")],1),a._v("). This dataset includes the atomic number, symbol, element name, atomic mass, and the metallicity of the element. Here are the first five rows:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" url "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/example_data/data.csv'")]),a._v("\n pt_data "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" read.csv2"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("url"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" sep "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("','")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n knitr"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("kable"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("head"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("pt_data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("5")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" align "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'c'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("table",[e("thead",[e("tr",[e("th",[a._v("atomic.number")]),a._v(" "),e("th",[a._v("symbol")]),a._v(" "),e("th",[a._v("name")]),a._v(" "),e("th",[a._v("atomic.mass")]),a._v(" "),e("th",[a._v("metal.or.nonmetal.")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("1")]),a._v(" "),e("td",[a._v("H")]),a._v(" "),e("td",[a._v("Hydrogen")]),a._v(" "),e("td",[a._v("1.00794")]),a._v(" "),e("td",[a._v("nonmetal")])]),a._v(" "),e("tr",[e("td",[a._v("2")]),a._v(" "),e("td",[a._v("He")]),a._v(" "),e("td",[a._v("Helium")]),a._v(" "),e("td",[a._v("4.002602")]),a._v(" "),e("td",[a._v("noble gas")])]),a._v(" "),e("tr",[e("td",[a._v("3")]),a._v(" "),e("td",[a._v("Li")]),a._v(" "),e("td",[a._v("Lithium")]),a._v(" "),e("td",[a._v("6.941")]),a._v(" "),e("td",[a._v("alkali metal")])]),a._v(" "),e("tr",[e("td",[a._v("4")]),a._v(" "),e("td",[a._v("Be")]),a._v(" "),e("td",[a._v("Beryllium")]),a._v(" "),e("td",[a._v("9.012182")]),a._v(" "),e("td",[a._v("alkaline earth metal")])]),a._v(" "),e("tr",[e("td",[a._v("5")]),a._v(" "),e("td",[a._v("B")]),a._v(" "),e("td",[a._v("Boron")]),a._v(" "),e("td",[a._v("10.811")]),a._v(" "),e("td",[a._v("metalloid")])])])]),a._v(" "),e("p",[a._v("Data Packages can be loaded either from a local path or directly from the web.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" url "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/package.json'")]),a._v("\n datapackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" Package.load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("url"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("descriptor"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("profile "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'tabular-data-resource'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# tabular resource descriptor profile")]),a._v("\n datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# commit changes")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## [1] TRUE")]),a._v("\n")])])]),e("p",[a._v("At the most basic level, Data Packages provide a standardized format for general metadata (for example, the dataset title, source, author, and/or description) about your dataset. Now that you have loaded this Data Package, you have access to this "),e("code",[a._v("metadata")]),a._v(" using the metadata dict attribute. Note that these fields are optional and may not be specified for all Data Packages. For more information on which fields are supported, see "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("the full Data Package standard"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("descriptor"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("title\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('## [1] "Periodic Table"')]),a._v("\n")])])]),e("h2",{attrs:{id:"reading-data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#reading-data"}},[a._v("#")]),a._v(" Reading Data")]),a._v(" "),e("p",[a._v("Now that you have loaded your Data Package, you can read its data. A Data Package can contain multiple files which are accessible via the "),e("code",[a._v("resources")]),a._v(" attribute. The "),e("code",[a._v("resources")]),a._v(" attribute is an array of objects containing information (e.g. path, schema, description) about each file in the package.")]),a._v(" "),e("p",[a._v("You can access the data in a given resource in the "),e("code",[a._v("resources")]),a._v(" array by reading the "),e("code",[a._v("data")]),a._v(" attribute.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" table "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("table\n periodic_table_data "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" table"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("You can further manipulate list objects in R by using")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("purrr"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("https"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("cran.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("-")]),a._v("project.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("package"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("purrr"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("rlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("https"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("cran.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("-")]),a._v("project.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("package"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("rlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" packages.\n")])])]),e("h2",{attrs:{id:"loading-into-an-sql-database"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#loading-into-an-sql-database"}},[a._v("#")]),a._v(" Loading into an SQL database")]),a._v(" "),e("p",[e("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),e("OutboundLink")],1),a._v(" contains schema information about its data using "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),e("OutboundLink")],1),a._v(". This means you can easily import your Data Package into the SQL backend of your choice. In this case, we are creating an "),e("a",{attrs:{href:"http://sqlite.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("SQLite"),e("OutboundLink")],1),a._v(" database.")]),a._v(" "),e("p",[a._v("To create a new SQLite database and load the data into SQL we will need "),e("a",{attrs:{href:"https://cran.r-project.org/package=DBI",target:"_blank",rel:"noopener noreferrer"}},[a._v("DBI"),e("OutboundLink")],1),a._v(" package and "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("RSQLite"),e("OutboundLink")],1),a._v(" package, which contains "),e("a",{attrs:{href:"https://www.sqlite.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("SQLite"),e("OutboundLink")],1),a._v(" (no external software is needed).")]),a._v(" "),e("p",[a._v("You can install and load them by using:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" install.packages"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("c"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"DBI"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"RSQLite"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("DBI"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("RSQLite"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("To create a new SQLite database, you simply supply the filename to "),e("code",[a._v("dbConnect()")]),a._v(":")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dp.database "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" dbConnect"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("RSQLite"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("SQLite"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('""')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# temporary database")]),a._v("\n")])])]),e("p",[a._v("We will use "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("data.table"),e("OutboundLink")],1),a._v(" package to convert the list object with the data to a data frame object to copy them to database table.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# install data.table package if not already")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('# install.packages("data.table")')]),a._v("\n\n periodic_table_sql "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" data.table"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("rbindlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("periodic_table_data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n periodic_table_sql "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" setNames"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("periodic_table_sql"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("unlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("headers"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("You can easily copy an R data frame into a SQLite database with "),e("code",[a._v("dbWriteTable()")]),a._v(":")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dbWriteTable"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"periodic_table_sql"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" periodic_table_sql"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# show remote tables accessible through this connection")]),a._v("\n dbListTables"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('## [1] "periodic_table_sql"')]),a._v("\n")])])]),e("p",[a._v("The data are already to the database.")]),a._v(" "),e("p",[a._v("We can further issue queries to hte database and return first 5 elements:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v("\n dbGetQuery"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'SELECT * FROM periodic_table_sql LIMIT 5'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## atomic number symbol name atomic mass metal or nonmetal?")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 1 1 H Hydrogen 1.007940 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 2 2 He Helium 4.002602 noble gas")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 3 3 Li Lithium 6.941000 alkali metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 4 4 Be Beryllium 9.012182 alkaline earth metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 5 5 B Boron 10.811000 metalloid")]),a._v("\n")])])]),e("p",[a._v("Or return all elements with an atomic number of less than 10:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dbGetQuery"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'SELECT * FROM periodic_table_sql WHERE \"atomic number\" < 10'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## atomic number symbol name atomic mass metal or nonmetal?")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 1 1 H Hydrogen 1.007940 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 2 2 He Helium 4.002602 noble gas")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 3 3 Li Lithium 6.941000 alkali metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 4 4 Be Beryllium 9.012182 alkaline earth metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 5 5 B Boron 10.811000 metalloid")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 6 6 C Carbon 12.010700 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 7 7 N Nitrogen 14.006700 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 8 8 O Oxygen 15.999400 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 9 9 F Fluorine 18.998403 halogen")]),a._v("\n")])])]),e("p",[a._v("More about using databases, SQLite in R you can find in vignettes of "),e("a",{attrs:{href:"https://cran.r-project.org/package=DBI",target:"_blank",rel:"noopener noreferrer"}},[a._v("DBI"),e("OutboundLink")],1),a._v(" and "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("RSQLite"),e("OutboundLink")],1),a._v(" packages.")]),a._v(" "),e("p",[a._v("We welcome your feedback and questions via our "),e("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Data Gitter chat"),e("OutboundLink")],1),a._v(" or via "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r/issues",target:"_blank",rel:"noopener noreferrer"}},[a._v("Github issues"),e("OutboundLink")],1),a._v(" on the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage-r"),e("OutboundLink")],1),a._v(" repository.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[74],{585:function(a,t,e){"use strict";e.r(t);var s=e(29),r=Object(s.a)({},(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[e("p",[e("a",{attrs:{href:"http://okfn.gr/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Open Knowledge Greece"),e("OutboundLink")],1),a._v(" was one of 2017’s "),e("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Data Tool Fund"),e("OutboundLink")],1),a._v(" grantees tasked with extending implementation of core Frictionless Data libraries in R programming language. You can read more about this in "),e("a",{attrs:{href:"https://frictionlessdata.io/articles/open-knowledge-greece/",target:"_blank",rel:"noopener noreferrer"}},[a._v("their grantee profile"),e("OutboundLink")],1),a._v(". In this tutorial, "),e("a",{attrs:{href:"https://gr.linkedin.com/in/kleanthis-koupidis-8348b88b",target:"_blank",rel:"noopener noreferrer"}},[a._v("Kleanthis Koupidis"),e("OutboundLink")],1),a._v(", a Data Scientist and Statistician at Open Knowledge Greece, explains how to work with Data Packages in R.")]),a._v(" "),e("p",[a._v("This tutorial will show you how to install the R libraries for working with Tabular Data Packages and demonstrate a very simple example of loading a Tabular Data Package from the web and pushing it directly into a local SQL database and send query to retrieve results.")]),a._v(" "),e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"custom-block-title"},[a._v("TIP")]),a._v(" "),e("p",[a._v("For a comprehensive introduction to creating tabular data packages in R, "),e("RouterLink",{attrs:{to:"/blog/2018/02/14/creating-tabular-data-packages-in-r/"}},[a._v("start by going through this tutorial")]),a._v(".")],1)]),a._v(" "),e("h2",{attrs:{id:"setup"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[a._v("#")]),a._v(" Setup")]),a._v(" "),e("p",[a._v("For this tutorial, we will need the Data Package R library ("),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.r"),e("OutboundLink")],1),a._v("). "),e("a",{attrs:{href:"https://cran.r-project.org/package=devtools",target:"_blank",rel:"noopener noreferrer"}},[a._v("Devtools library"),e("OutboundLink")],1),a._v(" is also required to install the datapackage.r library from github.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# Install devtools package if not already")]),a._v("\n install.packages"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"devtools"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("And then install the development version of "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.r"),e("OutboundLink")],1),a._v(" from github.")]),a._v(" "),e("div",{staticClass:"language-bash extra-class"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[a._v(" devtools::install_github"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"frictionlessdata/datapackage-r"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("h2",{attrs:{id:"load"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#load"}},[a._v("#")]),a._v(" Load")]),a._v(" "),e("p",[a._v("You can start using the library by loading "),e("code",[a._v("datapackage.r")]),a._v(".")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("datapackage.r"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("h2",{attrs:{id:"reading-basic-metadata"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#reading-basic-metadata"}},[a._v("#")]),a._v(" Reading Basic Metadata")]),a._v(" "),e("p",[a._v("In this case, we are using an example Tabular Data Package containing the periodic table stored on "),e("a",{attrs:{href:"https://github.com/frictionlessdata/example-data-packages/tree/master/periodic-table",target:"_blank",rel:"noopener noreferrer"}},[a._v("GitHub"),e("OutboundLink")],1),a._v(" ("),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage.json"),e("OutboundLink")],1),a._v(", "),e("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/master/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[a._v("data.csv"),e("OutboundLink")],1),a._v("). This dataset includes the atomic number, symbol, element name, atomic mass, and the metallicity of the element. Here are the first five rows:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" url "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/example_data/data.csv'")]),a._v("\n pt_data "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" read.csv2"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("url"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" sep "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("','")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n knitr"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("kable"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("head"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("pt_data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("5")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" align "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'c'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("table",[e("thead",[e("tr",[e("th",[a._v("atomic.number")]),a._v(" "),e("th",[a._v("symbol")]),a._v(" "),e("th",[a._v("name")]),a._v(" "),e("th",[a._v("atomic.mass")]),a._v(" "),e("th",[a._v("metal.or.nonmetal.")])])]),a._v(" "),e("tbody",[e("tr",[e("td",[a._v("1")]),a._v(" "),e("td",[a._v("H")]),a._v(" "),e("td",[a._v("Hydrogen")]),a._v(" "),e("td",[a._v("1.00794")]),a._v(" "),e("td",[a._v("nonmetal")])]),a._v(" "),e("tr",[e("td",[a._v("2")]),a._v(" "),e("td",[a._v("He")]),a._v(" "),e("td",[a._v("Helium")]),a._v(" "),e("td",[a._v("4.002602")]),a._v(" "),e("td",[a._v("noble gas")])]),a._v(" "),e("tr",[e("td",[a._v("3")]),a._v(" "),e("td",[a._v("Li")]),a._v(" "),e("td",[a._v("Lithium")]),a._v(" "),e("td",[a._v("6.941")]),a._v(" "),e("td",[a._v("alkali metal")])]),a._v(" "),e("tr",[e("td",[a._v("4")]),a._v(" "),e("td",[a._v("Be")]),a._v(" "),e("td",[a._v("Beryllium")]),a._v(" "),e("td",[a._v("9.012182")]),a._v(" "),e("td",[a._v("alkaline earth metal")])]),a._v(" "),e("tr",[e("td",[a._v("5")]),a._v(" "),e("td",[a._v("B")]),a._v(" "),e("td",[a._v("Boron")]),a._v(" "),e("td",[a._v("10.811")]),a._v(" "),e("td",[a._v("metalloid")])])])]),a._v(" "),e("p",[a._v("Data Packages can be loaded either from a local path or directly from the web.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" url "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'https://raw.githubusercontent.com/okgreece/datapackage-r/master/vignettes/exampledata/package.json'")]),a._v("\n datapackage "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" Package.load"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("url"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("descriptor"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("profile "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'tabular-data-resource'")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# tabular resource descriptor profile")]),a._v("\n datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("commit"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# commit changes")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## [1] TRUE")]),a._v("\n")])])]),e("p",[a._v("At the most basic level, Data Packages provide a standardized format for general metadata (for example, the dataset title, source, author, and/or description) about your dataset. Now that you have loaded this Data Package, you have access to this "),e("code",[a._v("metadata")]),a._v(" using the metadata dict attribute. Note that these fields are optional and may not be specified for all Data Packages. For more information on which fields are supported, see "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("the full Data Package standard"),e("OutboundLink")],1),a._v(".")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("descriptor"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("title\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('## [1] "Periodic Table"')]),a._v("\n")])])]),e("h2",{attrs:{id:"reading-data"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#reading-data"}},[a._v("#")]),a._v(" Reading Data")]),a._v(" "),e("p",[a._v("Now that you have loaded your Data Package, you can read its data. A Data Package can contain multiple files which are accessible via the "),e("code",[a._v("resources")]),a._v(" attribute. The "),e("code",[a._v("resources")]),a._v(" attribute is an array of objects containing information (e.g. path, schema, description) about each file in the package.")]),a._v(" "),e("p",[a._v("You can access the data in a given resource in the "),e("code",[a._v("resources")]),a._v(" array by reading the "),e("code",[a._v("data")]),a._v(" attribute.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" table "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("table\n periodic_table_data "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" table"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("read"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("You can further manipulate list objects in R by using")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("purrr"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("https"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("cran.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("-")]),a._v("project.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("package"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("purrr"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),a._v("rlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("https"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v(":")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("cran.r"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("-")]),a._v("project.org"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("package"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v("rlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" packages.\n")])])]),e("h2",{attrs:{id:"loading-into-an-sql-database"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#loading-into-an-sql-database"}},[a._v("#")]),a._v(" Loading into an SQL database")]),a._v(" "),e("p",[e("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Tabular Data Packages"),e("OutboundLink")],1),a._v(" contains schema information about its data using "),e("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Table Schema"),e("OutboundLink")],1),a._v(". This means you can easily import your Data Package into the SQL backend of your choice. In this case, we are creating an "),e("a",{attrs:{href:"http://sqlite.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("SQLite"),e("OutboundLink")],1),a._v(" database.")]),a._v(" "),e("p",[a._v("To create a new SQLite database and load the data into SQL we will need "),e("a",{attrs:{href:"https://cran.r-project.org/package=DBI",target:"_blank",rel:"noopener noreferrer"}},[a._v("DBI"),e("OutboundLink")],1),a._v(" package and "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("RSQLite"),e("OutboundLink")],1),a._v(" package, which contains "),e("a",{attrs:{href:"https://www.sqlite.org/",target:"_blank",rel:"noopener noreferrer"}},[a._v("SQLite"),e("OutboundLink")],1),a._v(" (no external software is needed).")]),a._v(" "),e("p",[a._v("You can install and load them by using:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" install.packages"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("c"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"DBI"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"RSQLite"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("DBI"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n library"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("RSQLite"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("To create a new SQLite database, you simply supply the filename to "),e("code",[a._v("dbConnect()")]),a._v(":")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dp.database "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" dbConnect"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("RSQLite"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("SQLite"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('""')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# temporary database")]),a._v("\n")])])]),e("p",[a._v("We will use "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("data.table"),e("OutboundLink")],1),a._v(" package to convert the list object with the data to a data frame object to copy them to database table.")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# install data.table package if not already")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('# install.packages("data.table")')]),a._v("\n\n periodic_table_sql "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" data.table"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("::")]),a._v("rbindlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("periodic_table_data"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n periodic_table_sql "),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("=")]),a._v(" setNames"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("periodic_table_sql"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v("unlist"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("datapackage"),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("resources"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("[")]),e("span",{pre:!0,attrs:{class:"token number"}},[a._v("1")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("]")]),e("span",{pre:!0,attrs:{class:"token operator"}},[a._v("$")]),a._v("headers"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n")])])]),e("p",[a._v("You can easily copy an R data frame into a SQLite database with "),e("code",[a._v("dbWriteTable()")]),a._v(":")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dbWriteTable"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v('"periodic_table_sql"')]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" periodic_table_sql"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# show remote tables accessible through this connection")]),a._v("\n dbListTables"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v('## [1] "periodic_table_sql"')]),a._v("\n")])])]),e("p",[a._v("The data are already to the database.")]),a._v(" "),e("p",[a._v("We can further issue queries to hte database and return first 5 elements:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v("\n dbGetQuery"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'SELECT * FROM periodic_table_sql LIMIT 5'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## atomic number symbol name atomic mass metal or nonmetal?")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 1 1 H Hydrogen 1.007940 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 2 2 He Helium 4.002602 noble gas")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 3 3 Li Lithium 6.941000 alkali metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 4 4 Be Beryllium 9.012182 alkaline earth metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 5 5 B Boron 10.811000 metalloid")]),a._v("\n")])])]),e("p",[a._v("Or return all elements with an atomic number of less than 10:")]),a._v(" "),e("div",{staticClass:"language-r extra-class"},[e("pre",{pre:!0,attrs:{class:"language-r"}},[e("code",[a._v(" dbGetQuery"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),a._v("dp.database"),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(",")]),a._v(" "),e("span",{pre:!0,attrs:{class:"token string"}},[a._v("'SELECT * FROM periodic_table_sql WHERE \"atomic number\" < 10'")]),e("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## atomic number symbol name atomic mass metal or nonmetal?")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 1 1 H Hydrogen 1.007940 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 2 2 He Helium 4.002602 noble gas")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 3 3 Li Lithium 6.941000 alkali metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 4 4 Be Beryllium 9.012182 alkaline earth metal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 5 5 B Boron 10.811000 metalloid")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 6 6 C Carbon 12.010700 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 7 7 N Nitrogen 14.006700 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 8 8 O Oxygen 15.999400 nonmetal")]),a._v("\n "),e("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 9 9 F Fluorine 18.998403 halogen")]),a._v("\n")])])]),e("p",[a._v("More about using databases, SQLite in R you can find in vignettes of "),e("a",{attrs:{href:"https://cran.r-project.org/package=DBI",target:"_blank",rel:"noopener noreferrer"}},[a._v("DBI"),e("OutboundLink")],1),a._v(" and "),e("a",{attrs:{href:"https://cran.r-project.org/package=RSQLite",target:"_blank",rel:"noopener noreferrer"}},[a._v("RSQLite"),e("OutboundLink")],1),a._v(" packages.")]),a._v(" "),e("p",[a._v("We welcome your feedback and questions via our "),e("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[a._v("Frictionless Data Gitter chat"),e("OutboundLink")],1),a._v(" or via "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r/issues",target:"_blank",rel:"noopener noreferrer"}},[a._v("Github issues"),e("OutboundLink")],1),a._v(" on the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[a._v("datapackage-r"),e("OutboundLink")],1),a._v(" repository.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/76.8fa5c677.js b/assets/js/76.40f6a9b2.js similarity index 99% rename from assets/js/76.8fa5c677.js rename to assets/js/76.40f6a9b2.js index 07fdd0342..fbb4aec7b 100644 --- a/assets/js/76.8fa5c677.js +++ b/assets/js/76.40f6a9b2.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{592:function(e,a,t){"use strict";t.r(a);var n=t(29),i=Object(n.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Applying licenses, waivers or public domain marks to "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data packages"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data resources"),t("OutboundLink")],1),e._v(" helps people understand how they can use, modify and share the contents of a data package.")]),e._v(" "),t("p",[e._v("It is recommended to that you apply a license, waiver or public domain mark to a data package using the "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[t("code",[e._v("licenses")]),t("OutboundLink")],1),e._v(" property. The value assigned to the data package "),t("code",[e._v("licenses")]),e._v(" property applies to all the data, files and metadata in the data package unless specified otherwise.")]),e._v(" "),t("p",[e._v("You can optionally apply a license to a data resource. This allows a license that differs from the data package license to be applied to the data resource. If the data resource "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/#optional-properties",target:"_blank",rel:"noopener noreferrer"}},[t("code",[e._v("licenses")]),t("OutboundLink")],1),e._v(" property is not specified, it inherits the data package "),t("code",[e._v("licenses")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"specifying-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specifying-a-license"}},[e._v("#")]),e._v(" Specifying a license")]),e._v(" "),t("p",[e._v("The Frictionless Data specification states that a "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[e._v("license"),t("OutboundLink")],1),e._v(" must contain a "),t("code",[e._v("name")]),e._v(" property and/or a "),t("code",[e._v("path")]),e._v(" property, and may contain a "),t("code",[e._v("title")]),e._v(" property.")]),e._v(" "),t("blockquote",[t("ul",[t("li",[t("code",[e._v("name")]),e._v(": The name MUST be an "),t("a",{attrs:{href:"http://licenses.opendefinition.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Definition license ID"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("code",[e._v("path")]),e._v(": A "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/#url-or-path",target:"_blank",rel:"noopener noreferrer"}},[e._v("url-or-path"),t("OutboundLink")],1),e._v(" string, that is a fully qualified HTTP address, or a relative POSIX path")]),e._v(" "),t("li",[t("code",[e._v("title")]),e._v(": A human-readable title")])])]),e._v(" "),t("p",[e._v("You can specify the location of a license using a URL or a Path.")]),e._v(" "),t("h3",{attrs:{id:"specify-a-license-using-a-url"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specify-a-license-using-a-url"}},[e._v("#")]),e._v(" Specify a license using a URL")]),e._v(" "),t("p",[e._v("To specify a license using a URL, use the fully qualified HTTP address as the value in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "https://cdla.io/sharing-1-0/",\n "title": "Community Data License Agreement – Sharing, Version 1.0"\n}]\n')])])]),t("h3",{attrs:{id:"specify-a-license-using-a-path"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specify-a-license-using-a-path"}},[e._v("#")]),e._v(" Specify a license using a Path")]),e._v(" "),t("p",[e._v("To specify a license using a path, use a relative POSIX path to the file in the data package as the value in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "LICENSE.pdf"\n}]\n')])])]),t("p",[e._v("In this example, LICENSE.pdf would be in the root of the data package folder, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("folder\n |- datapackage.json\n |- LICENSE.pdf\n |- README.md\n |- data\n |- data.csv\n |- reference-data.csv\n\n")])])]),t("p",[e._v("It is recommended that the licence is provided in "),t("a",{attrs:{href:"http://commonmark.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("markdown"),t("OutboundLink")],1),e._v(" format to simplify its display in data platforms and other software.")]),e._v(" "),t("p",[e._v("The license can be a separate file or included in the "),t("code",[e._v("README.md")]),e._v(" file. If license information is included in the "),t("code",[e._v("README.md")]),e._v(" file, it is recommended that it follows the "),t("RouterLink",{attrs:{to:"/blog/2016/04/20/publish-faq/#readme"}},[e._v("guide for formatting a README file")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"applying-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#applying-a-license"}},[e._v("#")]),e._v(" Applying a license")]),e._v(" "),t("p",[e._v("These scenarios apply to either the data package or a data resource.")]),e._v(" "),t("ol",[t("li",[t("a",{attrs:{href:"#apply-an-open-license"}},[e._v("Apply an open license")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-non-open-license"}},[e._v("Apply a non-open license")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-waiver"}},[e._v("Apply a waiver")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-public-domain-mark"}},[e._v("Apply a public domain mark")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#do-not-apply-a-license"}},[e._v("Do not apply a license")])])]),e._v(" "),t("p",[e._v("Other considerations:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"#provide-additional-license-information"}},[e._v("Provide additional license information")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#copyright-belongs-to-multiple-parties"}},[e._v("Copyright belongs to multiple parties")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#license-may-become-legally-binding"}},[e._v("License may become legally binding")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#software-may-not-fully-support-the-frictionless-data-specification"}},[e._v("Software may not fully support the Frictionless Data specification")])])]),e._v(" "),t("h3",{attrs:{id:"apply-an-open-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-an-open-license"}},[e._v("#")]),e._v(" Apply an open license")]),e._v(" "),t("p",[e._v("For an "),t("a",{attrs:{href:"http://opendefinition.org/licenses/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open license"),t("OutboundLink")],1),e._v(", use "),t("code",[e._v("name")]),e._v(", "),t("code",[e._v("path")]),e._v(" and "),t("code",[e._v("title")]),e._v(", e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "CC-BY-4.0",\n "path": "https://creativecommons.org/licenses/by/4.0/",\n "title": "Creative Commons Attribution 4.0"\n}]\n')])])]),t("p",[t("code",[e._v("name")]),e._v(" must be an "),t("a",{attrs:{href:"http://licenses.opendefinition.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Definition license ID"),t("OutboundLink")],1),e._v(" however note that some license IDs are placeholders or have been retired and should not be used, e.g. "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-at.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-at"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-open.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-open"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-pd.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-pd"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/notspecified.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("notspecified"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/ukcrown-withrights.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("ukcrown-withrights"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-non-open-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-non-open-license"}},[e._v("#")]),e._v(" Apply a non-open license")]),e._v(" "),t("p",[e._v("To apply an non-open license, use the "),t("code",[e._v("path")]),e._v(" and optionally the "),t("code",[e._v("title")]),e._v(" properties. It is preferred that the license is published at a URL (a fully qualified HTTP address), e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "https://creativecommons.org/licenses/by-nc-nd/4.0/",\n "title": "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)"\n}]\n')])])]),t("p",[e._v("If the license is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify a license using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-waiver"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-waiver"}},[e._v("#")]),e._v(" Apply a waiver")]),e._v(" "),t("p",[e._v("You can indicate that copyright has been waived by referencing a waiver at a URL in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "CC0-1.0"\n "path": "https://creativecommons.org/publicdomain/zero/1.0/",\n "title": "CC0 1.0"\n}]\n')])])]),t("p",[e._v("If the waiver is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify a waiver using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-public-domain-mark"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-public-domain-mark"}},[e._v("#")]),e._v(" Apply a public domain mark")]),e._v(" "),t("p",[e._v("You can indicate that there is no copyright in the data or that copyright has expired, using the "),t("a",{attrs:{href:"https://creativecommons.org/share-your-work/public-domain/pdm/",target:"_blank",rel:"noopener noreferrer"}},[e._v("public domain mark"),t("OutboundLink")],1),e._v(" or other public domain dedications, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "http://creativecommons.org/publicdomain/mark/1.0/",\n "title": "Public Domain Mark"\n}]\n')])])]),t("p",[e._v("If the public domain dedication is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify the public domain dedication using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"do-not-apply-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#do-not-apply-a-license"}},[e._v("#")]),e._v(" Do not apply a license")]),e._v(" "),t("p",[e._v("If you have not decided what license to apply but still want to publish the data package, describe the situation in a file in the data package, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "README.md"\n}]\n')])])]),t("h2",{attrs:{id:"other-considerations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#other-considerations"}},[e._v("#")]),e._v(" Other considerations")]),e._v(" "),t("h3",{attrs:{id:"provide-additional-license-information"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#provide-additional-license-information"}},[e._v("#")]),e._v(" Provide additional license information")]),e._v(" "),t("p",[e._v("It can be helpful to data consumers to provide additional copyright or attribution information such as:")]),e._v(" "),t("ul",[t("li",[e._v("copyright notice - this allows a data publisher to specify a short copyright notice")]),e._v(" "),t("li",[e._v("copyright statement URL - a URL to a copyright statement")]),e._v(" "),t("li",[e._v("preferred attribution text - the text to be used when attributing the creator(s) of the data")]),e._v(" "),t("li",[e._v("attribution URL - a URL to be used when building an attribution link")])]),e._v(" "),t("p",[e._v("This is explained in the ODI "),t("a",{attrs:{href:"https://theodi.org/guides/publishers-guide-to-the-open-data-rights-statement-vocabulary",target:"_blank",rel:"noopener noreferrer"}},[e._v("Publisher’s Guide to the Open Data Rights Statement Vocabulary"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://theodi.org/guides/odrs-reusers-guide",target:"_blank",rel:"noopener noreferrer"}},[e._v("Re-users Guide to the Open Data Rights Statement Vocabulary"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Some licenses require that data consumers provide the copyright notice in the attribution (e.g. "),t("a",{attrs:{href:"https://creativecommons.org/licenses/by/4.0/legalcode#s3",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC BY 4.0 Section 3"),t("OutboundLink")],1),e._v(").")]),e._v(" "),t("p",[e._v("Some data publishers may waive some of their rights under a license, e.g.")]),e._v(" "),t("blockquote",[t("p",[t("a",{attrs:{href:"https://data.gov.au/dataset/noosa-wedding-locations",target:"_blank",rel:"noopener noreferrer"}},[e._v("Noosa Wedding Locations"),t("OutboundLink")],1),e._v(" data by "),t("a",{attrs:{href:"https://www.noosa.qld.gov.au",target:"_blank",rel:"noopener noreferrer"}},[e._v("Noosa Shire Council"),t("OutboundLink")],1),e._v(" is licensed under a "),t("a",{attrs:{href:"https://creativecommons.org/licenses/by/4.0/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Creative Commons Attribution 4.0"),t("OutboundLink")],1),e._v(" licence."),t("br"),e._v("\nNoosa Shire Council waives the requirements of attribution under this licence, for this data.")])]),e._v(" "),t("p",[e._v("You can include this information, either:")]),e._v(" "),t("ul",[t("li",[e._v("in the file containing license information (e.g. "),t("code",[e._v("README.md")]),e._v(")")]),e._v(" "),t("li",[e._v("as additional metadata properties in the datapackage.json")])]),e._v(" "),t("p",[e._v("The data package specification supports adding "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#descriptor",target:"_blank",rel:"noopener noreferrer"}},[e._v("additional metadata properties"),t("OutboundLink")],1),e._v(" to the datapackage.json, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('{\n "name" : "coastal-data-system-near-real-time-wave-data",\n "title" : "Coastal Data System – Near real time wave data",\n "licenses" : [{\n "name": "CC-BY-4.0",\n "path": "https://creativecommons.org/licenses/by/4.0/",\n "title": "Creative Commons Attribution 4.0"\n }],\n "copyrightNotice": "© The State of Queensland 1995–2017",\n "copyrightStatement": "https://www.qld.gov.au/legal/copyright",\n "attributionText": "Science, Information Technology and Innovation, Queensland Government, Coastal Data System – Near real time wave data, licensed under Creative Commons Attribution 4.0 sourced on 26 December 2017",\n "resources": [\n {\n "path": "https://data.qld.gov.au/dataset/coastal-data-system-near-real-time-wave-data",\n ...\n }\n ]\n}\n')])])]),t("h3",{attrs:{id:"copyright-belongs-to-multiple-parties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#copyright-belongs-to-multiple-parties"}},[e._v("#")]),e._v(" Copyright belongs to multiple parties")]),e._v(" "),t("p",[e._v("Sometimes data in a resource may be combined from multiple sources that are licensed in different ways. You can indicate this by placing two or more licenses in the "),t("code",[e._v("licenses")]),e._v(" property. Further explanation should be given in the "),t("code",[e._v("README.md")]),e._v(".")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "PDDL-1.0",\n "path": "http://opendatacommons.org/licenses/pddl/",\n "title": "Open Data Commons Public Domain Dedication and License v1.0"\n },\n {\n "name": "CC-BY-SA-4.0",\n "path": "https://creativecommons.org/licenses/by-sa/4.0/",\n "title": "Creative Commons Attribution Share-Alike 4.0"\n }]\n')])])]),t("h3",{attrs:{id:"license-may-become-legally-binding"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#license-may-become-legally-binding"}},[e._v("#")]),e._v(" License may become legally binding")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[e._v("specification"),t("OutboundLink")],1),e._v(" for "),t("code",[e._v("licenses")]),e._v(" states:")]),e._v(" "),t("blockquote",[t("p",[t("strong",[e._v("This property is not legally binding and does not guarantee the package is licensed under the terms defined in this property.")])])]),e._v(" "),t("p",[e._v("A data package may be uploaded to a data platform and the "),t("code",[e._v("licenses")]),e._v(" applied to the data resources may be publicly displayed. This may make, or give the perception that, the license is legally binding. Please check your specific situation before publishing the data.")]),e._v(" "),t("h3",{attrs:{id:"software-may-not-fully-support-the-frictionless-data-specification"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#software-may-not-fully-support-the-frictionless-data-specification"}},[e._v("#")]),e._v(" Software may not fully support the Frictionless Data specification")]),e._v(" "),t("p",[e._v("Be aware that some data platforms or software may not fully support the Frictionless Data specification. This may result in license information being lost or other issues. Always test your data publication to ensure you communicate the correct license information.")]),e._v(" "),t("p",[e._v("For example, at the time of writing:")]),e._v(" "),t("ul",[t("li",[t("p",[t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN Data Package extension"),t("OutboundLink")],1),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("does not upload the "),t("code",[e._v("README.md")]),e._v(" file in a data package. If you have described licence information in the "),t("code",[e._v("README.md")]),e._v(" file, this will be lost ("),t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager/issues/60",target:"_blank",rel:"noopener noreferrer"}},[e._v("issue #60"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("does not display license information in the datapackage.json file correctly ("),t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager/issues/62",target:"_blank",rel:"noopener noreferrer"}},[e._v("issue #62"),t("OutboundLink")],1),e._v(")")])])]),e._v(" "),t("li",[t("p",[t("RouterLink",{attrs:{to:"/blog/2019/03/01/datacurator/"}},[e._v("Data Curator")]),e._v(" only allows the user to select from a limited set of open licenses to describe the data package and data resource licenses.")],1)])])])}),[],!1,null,null,null);a.default=i.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[76],{590:function(e,a,t){"use strict";t.r(a);var n=t(29),i=Object(n.a)({},(function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("p",[e._v("Applying licenses, waivers or public domain marks to "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data packages"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/",target:"_blank",rel:"noopener noreferrer"}},[e._v("data resources"),t("OutboundLink")],1),e._v(" helps people understand how they can use, modify and share the contents of a data package.")]),e._v(" "),t("p",[e._v("It is recommended to that you apply a license, waiver or public domain mark to a data package using the "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[t("code",[e._v("licenses")]),t("OutboundLink")],1),e._v(" property. The value assigned to the data package "),t("code",[e._v("licenses")]),e._v(" property applies to all the data, files and metadata in the data package unless specified otherwise.")]),e._v(" "),t("p",[e._v("You can optionally apply a license to a data resource. This allows a license that differs from the data package license to be applied to the data resource. If the data resource "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/#optional-properties",target:"_blank",rel:"noopener noreferrer"}},[t("code",[e._v("licenses")]),t("OutboundLink")],1),e._v(" property is not specified, it inherits the data package "),t("code",[e._v("licenses")]),e._v(".")]),e._v(" "),t("h2",{attrs:{id:"specifying-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specifying-a-license"}},[e._v("#")]),e._v(" Specifying a license")]),e._v(" "),t("p",[e._v("The Frictionless Data specification states that a "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[e._v("license"),t("OutboundLink")],1),e._v(" must contain a "),t("code",[e._v("name")]),e._v(" property and/or a "),t("code",[e._v("path")]),e._v(" property, and may contain a "),t("code",[e._v("title")]),e._v(" property.")]),e._v(" "),t("blockquote",[t("ul",[t("li",[t("code",[e._v("name")]),e._v(": The name MUST be an "),t("a",{attrs:{href:"http://licenses.opendefinition.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Definition license ID"),t("OutboundLink")],1)]),e._v(" "),t("li",[t("code",[e._v("path")]),e._v(": A "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-resource/#url-or-path",target:"_blank",rel:"noopener noreferrer"}},[e._v("url-or-path"),t("OutboundLink")],1),e._v(" string, that is a fully qualified HTTP address, or a relative POSIX path")]),e._v(" "),t("li",[t("code",[e._v("title")]),e._v(": A human-readable title")])])]),e._v(" "),t("p",[e._v("You can specify the location of a license using a URL or a Path.")]),e._v(" "),t("h3",{attrs:{id:"specify-a-license-using-a-url"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specify-a-license-using-a-url"}},[e._v("#")]),e._v(" Specify a license using a URL")]),e._v(" "),t("p",[e._v("To specify a license using a URL, use the fully qualified HTTP address as the value in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "https://cdla.io/sharing-1-0/",\n "title": "Community Data License Agreement – Sharing, Version 1.0"\n}]\n')])])]),t("h3",{attrs:{id:"specify-a-license-using-a-path"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#specify-a-license-using-a-path"}},[e._v("#")]),e._v(" Specify a license using a Path")]),e._v(" "),t("p",[e._v("To specify a license using a path, use a relative POSIX path to the file in the data package as the value in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "LICENSE.pdf"\n}]\n')])])]),t("p",[e._v("In this example, LICENSE.pdf would be in the root of the data package folder, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v("folder\n |- datapackage.json\n |- LICENSE.pdf\n |- README.md\n |- data\n |- data.csv\n |- reference-data.csv\n\n")])])]),t("p",[e._v("It is recommended that the licence is provided in "),t("a",{attrs:{href:"http://commonmark.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("markdown"),t("OutboundLink")],1),e._v(" format to simplify its display in data platforms and other software.")]),e._v(" "),t("p",[e._v("The license can be a separate file or included in the "),t("code",[e._v("README.md")]),e._v(" file. If license information is included in the "),t("code",[e._v("README.md")]),e._v(" file, it is recommended that it follows the "),t("RouterLink",{attrs:{to:"/blog/2016/04/20/publish-faq/#readme"}},[e._v("guide for formatting a README file")]),e._v(".")],1),e._v(" "),t("h2",{attrs:{id:"applying-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#applying-a-license"}},[e._v("#")]),e._v(" Applying a license")]),e._v(" "),t("p",[e._v("These scenarios apply to either the data package or a data resource.")]),e._v(" "),t("ol",[t("li",[t("a",{attrs:{href:"#apply-an-open-license"}},[e._v("Apply an open license")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-non-open-license"}},[e._v("Apply a non-open license")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-waiver"}},[e._v("Apply a waiver")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#apply-a-public-domain-mark"}},[e._v("Apply a public domain mark")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#do-not-apply-a-license"}},[e._v("Do not apply a license")])])]),e._v(" "),t("p",[e._v("Other considerations:")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"#provide-additional-license-information"}},[e._v("Provide additional license information")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#copyright-belongs-to-multiple-parties"}},[e._v("Copyright belongs to multiple parties")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#license-may-become-legally-binding"}},[e._v("License may become legally binding")])]),e._v(" "),t("li",[t("a",{attrs:{href:"#software-may-not-fully-support-the-frictionless-data-specification"}},[e._v("Software may not fully support the Frictionless Data specification")])])]),e._v(" "),t("h3",{attrs:{id:"apply-an-open-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-an-open-license"}},[e._v("#")]),e._v(" Apply an open license")]),e._v(" "),t("p",[e._v("For an "),t("a",{attrs:{href:"http://opendefinition.org/licenses/",target:"_blank",rel:"noopener noreferrer"}},[e._v("open license"),t("OutboundLink")],1),e._v(", use "),t("code",[e._v("name")]),e._v(", "),t("code",[e._v("path")]),e._v(" and "),t("code",[e._v("title")]),e._v(", e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "CC-BY-4.0",\n "path": "https://creativecommons.org/licenses/by/4.0/",\n "title": "Creative Commons Attribution 4.0"\n}]\n')])])]),t("p",[t("code",[e._v("name")]),e._v(" must be an "),t("a",{attrs:{href:"http://licenses.opendefinition.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Definition license ID"),t("OutboundLink")],1),e._v(" however note that some license IDs are placeholders or have been retired and should not be used, e.g. "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-at.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-at"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-open.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-open"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/other-pd.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("other-pd"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/notspecified.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("notspecified"),t("OutboundLink")],1),e._v(", "),t("a",{attrs:{href:"http://licenses.opendefinition.org/licenses/ukcrown-withrights.json",target:"_blank",rel:"noopener noreferrer"}},[e._v("ukcrown-withrights"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-non-open-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-non-open-license"}},[e._v("#")]),e._v(" Apply a non-open license")]),e._v(" "),t("p",[e._v("To apply an non-open license, use the "),t("code",[e._v("path")]),e._v(" and optionally the "),t("code",[e._v("title")]),e._v(" properties. It is preferred that the license is published at a URL (a fully qualified HTTP address), e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "https://creativecommons.org/licenses/by-nc-nd/4.0/",\n "title": "Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)"\n}]\n')])])]),t("p",[e._v("If the license is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify a license using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-waiver"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-waiver"}},[e._v("#")]),e._v(" Apply a waiver")]),e._v(" "),t("p",[e._v("You can indicate that copyright has been waived by referencing a waiver at a URL in the "),t("code",[e._v("path")]),e._v(" property, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "CC0-1.0"\n "path": "https://creativecommons.org/publicdomain/zero/1.0/",\n "title": "CC0 1.0"\n}]\n')])])]),t("p",[e._v("If the waiver is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify a waiver using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"apply-a-public-domain-mark"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#apply-a-public-domain-mark"}},[e._v("#")]),e._v(" Apply a public domain mark")]),e._v(" "),t("p",[e._v("You can indicate that there is no copyright in the data or that copyright has expired, using the "),t("a",{attrs:{href:"https://creativecommons.org/share-your-work/public-domain/pdm/",target:"_blank",rel:"noopener noreferrer"}},[e._v("public domain mark"),t("OutboundLink")],1),e._v(" or other public domain dedications, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "http://creativecommons.org/publicdomain/mark/1.0/",\n "title": "Public Domain Mark"\n}]\n')])])]),t("p",[e._v("If the public domain dedication is not available at a URL, you can "),t("a",{attrs:{href:"#specify-a-license-using-a-path"}},[e._v("specify the public domain dedication using a path")]),e._v(".")]),e._v(" "),t("h3",{attrs:{id:"do-not-apply-a-license"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#do-not-apply-a-license"}},[e._v("#")]),e._v(" Do not apply a license")]),e._v(" "),t("p",[e._v("If you have not decided what license to apply but still want to publish the data package, describe the situation in a file in the data package, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "path": "README.md"\n}]\n')])])]),t("h2",{attrs:{id:"other-considerations"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#other-considerations"}},[e._v("#")]),e._v(" Other considerations")]),e._v(" "),t("h3",{attrs:{id:"provide-additional-license-information"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#provide-additional-license-information"}},[e._v("#")]),e._v(" Provide additional license information")]),e._v(" "),t("p",[e._v("It can be helpful to data consumers to provide additional copyright or attribution information such as:")]),e._v(" "),t("ul",[t("li",[e._v("copyright notice - this allows a data publisher to specify a short copyright notice")]),e._v(" "),t("li",[e._v("copyright statement URL - a URL to a copyright statement")]),e._v(" "),t("li",[e._v("preferred attribution text - the text to be used when attributing the creator(s) of the data")]),e._v(" "),t("li",[e._v("attribution URL - a URL to be used when building an attribution link")])]),e._v(" "),t("p",[e._v("This is explained in the ODI "),t("a",{attrs:{href:"https://theodi.org/guides/publishers-guide-to-the-open-data-rights-statement-vocabulary",target:"_blank",rel:"noopener noreferrer"}},[e._v("Publisher’s Guide to the Open Data Rights Statement Vocabulary"),t("OutboundLink")],1),e._v(" and "),t("a",{attrs:{href:"https://theodi.org/guides/odrs-reusers-guide",target:"_blank",rel:"noopener noreferrer"}},[e._v("Re-users Guide to the Open Data Rights Statement Vocabulary"),t("OutboundLink")],1),e._v(".")]),e._v(" "),t("p",[e._v("Some licenses require that data consumers provide the copyright notice in the attribution (e.g. "),t("a",{attrs:{href:"https://creativecommons.org/licenses/by/4.0/legalcode#s3",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC BY 4.0 Section 3"),t("OutboundLink")],1),e._v(").")]),e._v(" "),t("p",[e._v("Some data publishers may waive some of their rights under a license, e.g.")]),e._v(" "),t("blockquote",[t("p",[t("a",{attrs:{href:"https://data.gov.au/dataset/noosa-wedding-locations",target:"_blank",rel:"noopener noreferrer"}},[e._v("Noosa Wedding Locations"),t("OutboundLink")],1),e._v(" data by "),t("a",{attrs:{href:"https://www.noosa.qld.gov.au",target:"_blank",rel:"noopener noreferrer"}},[e._v("Noosa Shire Council"),t("OutboundLink")],1),e._v(" is licensed under a "),t("a",{attrs:{href:"https://creativecommons.org/licenses/by/4.0/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Creative Commons Attribution 4.0"),t("OutboundLink")],1),e._v(" licence."),t("br"),e._v("\nNoosa Shire Council waives the requirements of attribution under this licence, for this data.")])]),e._v(" "),t("p",[e._v("You can include this information, either:")]),e._v(" "),t("ul",[t("li",[e._v("in the file containing license information (e.g. "),t("code",[e._v("README.md")]),e._v(")")]),e._v(" "),t("li",[e._v("as additional metadata properties in the datapackage.json")])]),e._v(" "),t("p",[e._v("The data package specification supports adding "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#descriptor",target:"_blank",rel:"noopener noreferrer"}},[e._v("additional metadata properties"),t("OutboundLink")],1),e._v(" to the datapackage.json, e.g.")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('{\n "name" : "coastal-data-system-near-real-time-wave-data",\n "title" : "Coastal Data System – Near real time wave data",\n "licenses" : [{\n "name": "CC-BY-4.0",\n "path": "https://creativecommons.org/licenses/by/4.0/",\n "title": "Creative Commons Attribution 4.0"\n }],\n "copyrightNotice": "© The State of Queensland 1995–2017",\n "copyrightStatement": "https://www.qld.gov.au/legal/copyright",\n "attributionText": "Science, Information Technology and Innovation, Queensland Government, Coastal Data System – Near real time wave data, licensed under Creative Commons Attribution 4.0 sourced on 26 December 2017",\n "resources": [\n {\n "path": "https://data.qld.gov.au/dataset/coastal-data-system-near-real-time-wave-data",\n ...\n }\n ]\n}\n')])])]),t("h3",{attrs:{id:"copyright-belongs-to-multiple-parties"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#copyright-belongs-to-multiple-parties"}},[e._v("#")]),e._v(" Copyright belongs to multiple parties")]),e._v(" "),t("p",[e._v("Sometimes data in a resource may be combined from multiple sources that are licensed in different ways. You can indicate this by placing two or more licenses in the "),t("code",[e._v("licenses")]),e._v(" property. Further explanation should be given in the "),t("code",[e._v("README.md")]),e._v(".")]),e._v(" "),t("div",{staticClass:"language- extra-class"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[e._v('"licenses": [{\n "name": "PDDL-1.0",\n "path": "http://opendatacommons.org/licenses/pddl/",\n "title": "Open Data Commons Public Domain Dedication and License v1.0"\n },\n {\n "name": "CC-BY-SA-4.0",\n "path": "https://creativecommons.org/licenses/by-sa/4.0/",\n "title": "Creative Commons Attribution Share-Alike 4.0"\n }]\n')])])]),t("h3",{attrs:{id:"license-may-become-legally-binding"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#license-may-become-legally-binding"}},[e._v("#")]),e._v(" License may become legally binding")]),e._v(" "),t("p",[e._v("The "),t("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/#licenses",target:"_blank",rel:"noopener noreferrer"}},[e._v("specification"),t("OutboundLink")],1),e._v(" for "),t("code",[e._v("licenses")]),e._v(" states:")]),e._v(" "),t("blockquote",[t("p",[t("strong",[e._v("This property is not legally binding and does not guarantee the package is licensed under the terms defined in this property.")])])]),e._v(" "),t("p",[e._v("A data package may be uploaded to a data platform and the "),t("code",[e._v("licenses")]),e._v(" applied to the data resources may be publicly displayed. This may make, or give the perception that, the license is legally binding. Please check your specific situation before publishing the data.")]),e._v(" "),t("h3",{attrs:{id:"software-may-not-fully-support-the-frictionless-data-specification"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#software-may-not-fully-support-the-frictionless-data-specification"}},[e._v("#")]),e._v(" Software may not fully support the Frictionless Data specification")]),e._v(" "),t("p",[e._v("Be aware that some data platforms or software may not fully support the Frictionless Data specification. This may result in license information being lost or other issues. Always test your data publication to ensure you communicate the correct license information.")]),e._v(" "),t("p",[e._v("For example, at the time of writing:")]),e._v(" "),t("ul",[t("li",[t("p",[t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN Data Package extension"),t("OutboundLink")],1),e._v(":")]),e._v(" "),t("ul",[t("li",[e._v("does not upload the "),t("code",[e._v("README.md")]),e._v(" file in a data package. If you have described licence information in the "),t("code",[e._v("README.md")]),e._v(" file, this will be lost ("),t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager/issues/60",target:"_blank",rel:"noopener noreferrer"}},[e._v("issue #60"),t("OutboundLink")],1),e._v(")")]),e._v(" "),t("li",[e._v("does not display license information in the datapackage.json file correctly ("),t("a",{attrs:{href:"https://github.com/frictionlessdata/ckanext-datapackager/issues/62",target:"_blank",rel:"noopener noreferrer"}},[e._v("issue #62"),t("OutboundLink")],1),e._v(")")])])]),e._v(" "),t("li",[t("p",[t("RouterLink",{attrs:{to:"/blog/2019/03/01/datacurator/"}},[e._v("Data Curator")]),e._v(" only allows the user to select from a limited set of open licenses to describe the data package and data resource licenses.")],1)])])])}),[],!1,null,null,null);a.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/79.01904507.js b/assets/js/79.df9ef6ef.js similarity index 99% rename from assets/js/79.01904507.js rename to assets/js/79.df9ef6ef.js index 673676473..43fce605e 100644 --- a/assets/js/79.01904507.js +++ b/assets/js/79.df9ef6ef.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{596:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Georges Labrèche was one of 2017’s "),s("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),s("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data libraries in Java programming language. You can read more about this in "),s("RouterLink",{attrs:{to:"/blog/2017/10/24/georges-labreche/"}},[t._v("his grantee profile")]),t._v(".")],1),t._v(" "),s("p",[t._v("In this post, Labrèche will show you how to install and use the "),s("a",{attrs:{href:"https://www.java.com/en/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Java"),s("OutboundLink")],1),t._v(" libraries for working with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Packages"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("Our goal in this tutorial is to load tabular data from a CSV file, infer data types and the table’s schema.")]),t._v(" "),s("h2",{attrs:{id:"setup"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),s("p",[t._v("First things first, you’ll want to grab "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-java"),s("OutboundLink")],1),t._v(" and the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-java"),s("OutboundLink")],1),t._v(" libraries.")]),t._v(" "),s("h2",{attrs:{id:"the-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#the-data"}},[t._v("#")]),t._v(" The Data")]),t._v(" "),s("p",[t._v("For our example, we will use a "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Package"),s("OutboundLink")],1),t._v(" containing the periodic table. You can find the "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("data package descriptor"),s("OutboundLink")],1),t._v(" and the "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("data"),s("OutboundLink")],1),t._v(" on GitHub.")]),t._v(" "),s("p",[t._v("A "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package"),s("OutboundLink")],1),t._v(" is a simple container format used to describe and package a collection of data. It consists of two parts:")]),t._v(" "),s("ul",[s("li",[t._v("Metadata that describes the structure and contents of the package")]),t._v(" "),s("li",[t._v("Resources such as data files that form the contents of the package")])]),t._v(" "),s("h2",{attrs:{id:"packaging"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#packaging"}},[t._v("#")]),t._v(" Packaging")]),t._v(" "),s("p",[t._v("Let’s start by fetching and packaging the data:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// fetch the data")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("URL")]),t._v(" url "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("URL")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// package the data")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Package")]),t._v(" dp "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Package")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("url"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("That’s it, you’re all set to start playing with the packaged data. There are parameters you can set such as loading a schema or imposing strict validation so be sure to go through the project’s "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("README"),s("OutboundLink")],1),t._v(" for more detail.")]),t._v(" "),s("h2",{attrs:{id:"iterating"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#iterating"}},[t._v("#")]),t._v(" Iterating")]),t._v(" "),s("p",[t._v("Now that you have a Data Package instance, let’s see what the data looks like. A data package can contain more than one resource so you have to use the "),s("code",[t._v("Package.getResource()")]),t._v(" method to specify which resource you’d like to access.")]),t._v(" "),s("p",[t._v("Let’s iterate over the data:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get a resource named data from the data package")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Resource")]),t._v(" resource "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pkg"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getResource")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Iterator")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" iter "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resource"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("iter")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Iterate")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hasNext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" row "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("next")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" atomicNumber "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" symbol "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" name "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" atomicMass "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" metalOrNonMetal "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])]),s("p",[t._v("Notice how we’re fetching all values as "),s("code",[t._v("String")]),t._v(". This may not be what you want, particularly for the atomic number and mass. Alternatively, you can trigger data type inference and casting like this:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Third boolean is the cast flag.")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Iterator")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Object")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" iter "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resource"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("iter")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hasNext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" row "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("next")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("int")]),t._v(" atomicNumber "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" symbol "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" name "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("float")]),t._v(" atomicMass "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" metalOrNonMetal "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])]),s("p",[t._v("And that’s it, your data is now associated with the appropriate data types!")]),t._v(" "),s("h2",{attrs:{id:"inferring-the-schema"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#inferring-the-schema"}},[t._v("#")]),t._v(" Inferring the Schema")]),t._v(" "),s("p",[t._v("We wouldn’t have had to infer the data types if we had included a "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Table Schema"),s("OutboundLink")],1),t._v(" when creating an instance of our Data Package. If a Table Schema is not available, then it’s something that can also be inferred and created with "),s("code",[t._v("tableschema-java")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("URL")]),t._v(" url "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("URL")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/data.csv"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Table")]),t._v(" table "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Table")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("url"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Schema")]),t._v(" schema "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("inferSchema")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nschema"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("write")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"/path/to/write/schema.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("The type inference algorithm tries to cast to available types and each successful type casting increments a popularity score for the successful type cast in question. At the end, the best score so far is returned.")]),t._v(" "),s("p",[t._v("The inference algorithm traverses all of the table’s rows and attempts to cast every single value of the table. When dealing with large tables, you might want to limit the number of rows that the inference algorithm processes:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Only process the first 25 rows for type inference.")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Schema")]),t._v(" schema "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("inferSchema")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("Be sure to go through "),s("code",[t._v("tableschema-java")]),t._v("'s "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("README"),s("OutboundLink")],1),t._v(" as well to learn more about how to operate with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Table Schema"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"contributing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[t._v("#")]),t._v(" Contributing")]),t._v(" "),s("p",[t._v("In case you discovered an issue that you’d like to contribute a fix for, or if you would like to extend functionality:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# install jabba and maven2")]),t._v("\n$ "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("cd")]),t._v(" tableschema-java\n$ jabba "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.8")]),t._v("\n$ jabba use "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.8")]),t._v("\n$ mvn "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" -DskipTests"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("true -Dmaven.javadoc.skip"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("true -B -V\n$ mvn "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("test")]),t._v(" -B\n\n")])])]),s("p",[t._v("Make sure that all tests pass, and submit a PR with your contributions once you’re ready.")]),t._v(" "),s("p",[t._v("We also welcome your feedback and questions via our "),s("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Gitter chat"),s("OutboundLink")],1),t._v(" or via "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub issues"),s("OutboundLink")],1),t._v(" on the datapackage-java repository.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[79],{595:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Georges Labrèche was one of 2017’s "),s("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),s("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data libraries in Java programming language. You can read more about this in "),s("RouterLink",{attrs:{to:"/blog/2017/10/24/georges-labreche/"}},[t._v("his grantee profile")]),t._v(".")],1),t._v(" "),s("p",[t._v("In this post, Labrèche will show you how to install and use the "),s("a",{attrs:{href:"https://www.java.com/en/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Java"),s("OutboundLink")],1),t._v(" libraries for working with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Packages"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("Our goal in this tutorial is to load tabular data from a CSV file, infer data types and the table’s schema.")]),t._v(" "),s("h2",{attrs:{id:"setup"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),s("p",[t._v("First things first, you’ll want to grab "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-java"),s("OutboundLink")],1),t._v(" and the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("tableschema-java"),s("OutboundLink")],1),t._v(" libraries.")]),t._v(" "),s("h2",{attrs:{id:"the-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#the-data"}},[t._v("#")]),t._v(" The Data")]),t._v(" "),s("p",[t._v("For our example, we will use a "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Package"),s("OutboundLink")],1),t._v(" containing the periodic table. You can find the "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("data package descriptor"),s("OutboundLink")],1),t._v(" and the "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/data.csv",target:"_blank",rel:"noopener noreferrer"}},[t._v("data"),s("OutboundLink")],1),t._v(" on GitHub.")]),t._v(" "),s("p",[t._v("A "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package"),s("OutboundLink")],1),t._v(" is a simple container format used to describe and package a collection of data. It consists of two parts:")]),t._v(" "),s("ul",[s("li",[t._v("Metadata that describes the structure and contents of the package")]),t._v(" "),s("li",[t._v("Resources such as data files that form the contents of the package")])]),t._v(" "),s("h2",{attrs:{id:"packaging"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#packaging"}},[t._v("#")]),t._v(" Packaging")]),t._v(" "),s("p",[t._v("Let’s start by fetching and packaging the data:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// fetch the data")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("URL")]),t._v(" url "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("URL")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// package the data")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Package")]),t._v(" dp "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Package")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("url"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("That’s it, you’re all set to start playing with the packaged data. There are parameters you can set such as loading a schema or imposing strict validation so be sure to go through the project’s "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("README"),s("OutboundLink")],1),t._v(" for more detail.")]),t._v(" "),s("h2",{attrs:{id:"iterating"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#iterating"}},[t._v("#")]),t._v(" Iterating")]),t._v(" "),s("p",[t._v("Now that you have a Data Package instance, let’s see what the data looks like. A data package can contain more than one resource so you have to use the "),s("code",[t._v("Package.getResource()")]),t._v(" method to specify which resource you’d like to access.")]),t._v(" "),s("p",[t._v("Let’s iterate over the data:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get a resource named data from the data package")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Resource")]),t._v(" resource "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" pkg"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getResource")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get the Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Iterator")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" iter "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resource"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("iter")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Iterate")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hasNext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" row "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("next")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" atomicNumber "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" symbol "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" name "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" atomicMass "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" metalOrNonMetal "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])]),s("p",[t._v("Notice how we’re fetching all values as "),s("code",[t._v("String")]),t._v(". This may not be what you want, particularly for the atomic number and mass. Alternatively, you can trigger data type inference and casting like this:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Get Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Third boolean is the cast flag.")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Iterator")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Object")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" iter "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" resource"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("iter")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("true")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Iterator")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("while")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("hasNext")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" row "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" iter"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("next")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("int")]),t._v(" atomicNumber "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" symbol "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" name "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("float")]),t._v(" atomicMass "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \t"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("String")]),t._v(" metalOrNonMetal "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n")])])]),s("p",[t._v("And that’s it, your data is now associated with the appropriate data types!")]),t._v(" "),s("h2",{attrs:{id:"inferring-the-schema"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#inferring-the-schema"}},[t._v("#")]),t._v(" Inferring the Schema")]),t._v(" "),s("p",[t._v("We wouldn’t have had to infer the data types if we had included a "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Table Schema"),s("OutboundLink")],1),t._v(" when creating an instance of our Data Package. If a Table Schema is not available, then it’s something that can also be inferred and created with "),s("code",[t._v("tableschema-java")]),t._v(":")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("URL")]),t._v(" url "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("URL")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/data.csv"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Table")]),t._v(" table "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Table")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("url"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Schema")]),t._v(" schema "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("inferSchema")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nschema"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("write")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"/path/to/write/schema.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("The type inference algorithm tries to cast to available types and each successful type casting increments a popularity score for the successful type cast in question. At the end, the best score so far is returned.")]),t._v(" "),s("p",[t._v("The inference algorithm traverses all of the table’s rows and attempts to cast every single value of the table. When dealing with large tables, you might want to limit the number of rows that the inference algorithm processes:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Only process the first 25 rows for type inference.")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Schema")]),t._v(" schema "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("inferSchema")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("25")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])]),s("p",[t._v("Be sure to go through "),s("code",[t._v("tableschema-java")]),t._v("'s "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-java/blob/master/README.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("README"),s("OutboundLink")],1),t._v(" as well to learn more about how to operate with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Table Schema"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("h2",{attrs:{id:"contributing"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[t._v("#")]),t._v(" Contributing")]),t._v(" "),s("p",[t._v("In case you discovered an issue that you’d like to contribute a fix for, or if you would like to extend functionality:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("# install jabba and maven2")]),t._v("\n$ "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("cd")]),t._v(" tableschema-java\n$ jabba "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.8")]),t._v("\n$ jabba use "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.8")]),t._v("\n$ mvn "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("install")]),t._v(" -DskipTests"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("true -Dmaven.javadoc.skip"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v("true -B -V\n$ mvn "),s("span",{pre:!0,attrs:{class:"token builtin class-name"}},[t._v("test")]),t._v(" -B\n\n")])])]),s("p",[t._v("Make sure that all tests pass, and submit a PR with your contributions once you’re ready.")]),t._v(" "),s("p",[t._v("We also welcome your feedback and questions via our "),s("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Gitter chat"),s("OutboundLink")],1),t._v(" or via "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub issues"),s("OutboundLink")],1),t._v(" on the datapackage-java repository.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/80.b4a05a86.js b/assets/js/80.fe41b3f3.js similarity index 99% rename from assets/js/80.b4a05a86.js rename to assets/js/80.fe41b3f3.js index 5802a5995..d22212cbb 100644 --- a/assets/js/80.b4a05a86.js +++ b/assets/js/80.fe41b3f3.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{597:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Matt Thompson was one of 2017’s "),s("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),s("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("data package"),s("OutboundLink")],1),t._v(" and "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("table schema"),s("OutboundLink")],1),t._v(" libraries in Clojure programming language. You can read more about this in "),s("RouterLink",{attrs:{to:"/blog/2017/10/26/matt-thompson/"}},[t._v("his grantee profile")]),t._v(". In this post, Thompson will show you how to set up and use the "),s("a",{attrs:{href:"http://clojure.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Clojure"),s("OutboundLink")],1),t._v(" libraries for working with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Packages"),s("OutboundLink")],1),t._v(".")],1),t._v(" "),s("p",[t._v("This tutorial uses a worked example of downloading a data package from a remote location on the web, and using the Frictionless Data tools to read its contents and metadata into Clojure data structures.")]),t._v(" "),s("h2",{attrs:{id:"setup"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),s("p",[t._v("First, we need to set up the project structure using the "),s("a",{attrs:{href:"http://leiningen.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Leiningen"),s("OutboundLink")],1),t._v(" tool. If you don’t have Leiningen set up on your system, follow the link to download and install it. Once it is set up, run the following command from the command line to create the folders and files for a basic Clojure project:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("\nlein new periodic-table\n\n")])])]),s("p",[t._v("This will create the "),s("em",[t._v("periodic-table")]),t._v(" folder. Inside the "),s("em",[t._v("periodic-table/src/periodic-table")]),t._v(" folder should be a file named "),s("em",[t._v("core.clj")]),t._v(". This is the file you need to edit during this tutorial.")]),t._v(" "),s("h2",{attrs:{id:"the-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#the-data"}},[t._v("#")]),t._v(" The Data")]),t._v(" "),s("p",[t._v("For this tutorial, we will use a pre-created data package, the Periodic Table Data Package hosted by the Frictionless Data project. A "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package"),s("OutboundLink")],1),t._v(" is a simple container format used to describe and package a collection of data. It consists of two parts:")]),t._v(" "),s("ul",[s("li",[t._v("Metadata that describes the structure and contents of the package")]),t._v(" "),s("li",[t._v("Resources such as data files that form the contents of the package")])]),t._v(" "),s("p",[t._v("Our Clojure code will download the data package and process it using the metadata information contained in the"),s("br"),t._v("\npackage. The data package can be found "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("here on GitHub"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("The data package contains data about elements in the periodic table, including each element’s name, atomic number, symbol and atomic weight. The table below shows a sample taken from the first three rows of the CSV file:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("atomic number")]),t._v(" "),s("th",[t._v("symbol")]),t._v(" "),s("th",[t._v("name")]),t._v(" "),s("th",[t._v("atomic mass")]),t._v(" "),s("th",[t._v("metal or nonmetal?")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("1")]),t._v(" "),s("td",[t._v("H")]),t._v(" "),s("td",[t._v("Hydrogen")]),t._v(" "),s("td",[t._v("1.00794")]),t._v(" "),s("td",[t._v("nonmetal")])]),t._v(" "),s("tr",[s("td",[t._v("2")]),t._v(" "),s("td",[t._v("He")]),t._v(" "),s("td",[t._v("Helium")]),t._v(" "),s("td",[t._v("4.002602")]),t._v(" "),s("td",[t._v("noble gas")])]),t._v(" "),s("tr",[s("td",[t._v("3")]),t._v(" "),s("td",[t._v("Li")]),t._v(" "),s("td",[t._v("Lithium")]),t._v(" "),s("td",[t._v("6.941")]),t._v(" "),s("td",[t._v("alkali metal")])])])]),t._v(" "),s("h2",{attrs:{id:"loading-the-data-package"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#loading-the-data-package"}},[t._v("#")]),t._v(" Loading the Data Package")]),t._v(" "),s("p",[t._v("The first step is to load the data package into a Clojure data structure (a map). The initial step is to require the data package library in our code (which we will give the alias "),s("strong",[t._v("dp")]),t._v("). Then we can use the "),s("strong",[t._v("load")]),t._v(" function to load our data package into our project. Enter the following code into the core.clj file:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("ns")]),t._v(" periodic-table.core\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":require")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.datapackage "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" dp"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.tableschema "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" ts"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("clojure.spec.alpha "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" s"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" pkg\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/load")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("This pulls the data in from the remote GitHub location and converts the metadata into a Clojure map. We can access this metadata by using the "),s("code",[t._v("descriptor")]),t._v(" function along with keys such as "),s("code",[t._v(":name")]),t._v(" and "),s("code",[t._v(":title")]),t._v(" to get the relevant information:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("str")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Package name:"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/descriptor")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("str")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Package title:"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/descriptor")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":title")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The package descriptor contains metadata that describes the contents of the data package. What about accessing the data itself? We can get to it using the "),s("code",[t._v("get-resources")]),t._v(" function:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" table "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/get-resources")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":data")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("doseq")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("row table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The above code locates the data in the data package, then goes through it line by line and prints the contents.")]),t._v(" "),s("h2",{attrs:{id:"casting-types-with-core-spec"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#casting-types-with-core-spec"}},[t._v("#")]),t._v(" Casting Types with core.spec")]),t._v(" "),s("p",[t._v("We can use Clojure’s "),s("a",{attrs:{href:"https://clojure.org/guides/spec",target:"_blank",rel:"noopener noreferrer"}},[t._v("spec"),s("OutboundLink")],1),t._v(" library to define a schema for our data, which can then be used to cast the types of the data in the CSV file.")]),t._v(" "),s("p",[t._v("Below is a spec description of a periodic element type, consisting of an atomic number, atomic symbol, the element’s name, its mass, and whether or not the element is a metal or non-metal:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" int?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" float?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::element")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/keys")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":req")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The above spec can be used to cast values in our tabular data so that they match the specified schema. The example below shows our tabular data values being cast to fit the spec description. Then the "),s("code",[t._v("-main")]),t._v(" function loops through the elements, printing only those with an atomic mass of over 10.")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("ns")]),t._v(" periodic-table.core\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":require")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.datapackage "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" dp"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.tableschema "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" ts"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("clojure.spec.alpha "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" s"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" int?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" float?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::element")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/keys")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":req")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" pkg\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/load")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" resources "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/get-resources")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":data")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" elements "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/cast")]),t._v(" resources element"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("defn")]),t._v(" -main "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("doseq")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("e elements"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("<")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":mass")]),t._v(" e"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" e"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("When run, the program produces the following output:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("$ lein run\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"H"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Hydrogen"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.00794")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"nonmetal"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"He"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Helium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.002602")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"noble gas"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Li"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Lithium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("6.941")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"alkali gas"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Be"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Beryllium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9.012182")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"alkaline earth metal"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("This concludes our simple tutorial for using the Clojure libraries for Frictionless Data.")]),t._v(" "),s("p",[t._v("We welcome your feedback and questions via our "),s("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Gitter chat"),s("OutboundLink")],1),t._v(" or via "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub issues"),s("OutboundLink")],1),t._v(" on the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-clj"),s("OutboundLink")],1),t._v(" repository.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[80],{598:function(t,a,s){"use strict";s.r(a);var e=s(29),n=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("p",[t._v("Matt Thompson was one of 2017’s "),s("a",{attrs:{href:"https://toolfund.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Tool Fund"),s("OutboundLink")],1),t._v(" grantees tasked with extending implementation of core Frictionless Data "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("data package"),s("OutboundLink")],1),t._v(" and "),s("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("table schema"),s("OutboundLink")],1),t._v(" libraries in Clojure programming language. You can read more about this in "),s("RouterLink",{attrs:{to:"/blog/2017/10/26/matt-thompson/"}},[t._v("his grantee profile")]),t._v(". In this post, Thompson will show you how to set up and use the "),s("a",{attrs:{href:"http://clojure.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Clojure"),s("OutboundLink")],1),t._v(" libraries for working with "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/tabular-data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Tabular Data Packages"),s("OutboundLink")],1),t._v(".")],1),t._v(" "),s("p",[t._v("This tutorial uses a worked example of downloading a data package from a remote location on the web, and using the Frictionless Data tools to read its contents and metadata into Clojure data structures.")]),t._v(" "),s("h2",{attrs:{id:"setup"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#setup"}},[t._v("#")]),t._v(" Setup")]),t._v(" "),s("p",[t._v("First, we need to set up the project structure using the "),s("a",{attrs:{href:"http://leiningen.org",target:"_blank",rel:"noopener noreferrer"}},[t._v("Leiningen"),s("OutboundLink")],1),t._v(" tool. If you don’t have Leiningen set up on your system, follow the link to download and install it. Once it is set up, run the following command from the command line to create the folders and files for a basic Clojure project:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("\nlein new periodic-table\n\n")])])]),s("p",[t._v("This will create the "),s("em",[t._v("periodic-table")]),t._v(" folder. Inside the "),s("em",[t._v("periodic-table/src/periodic-table")]),t._v(" folder should be a file named "),s("em",[t._v("core.clj")]),t._v(". This is the file you need to edit during this tutorial.")]),t._v(" "),s("h2",{attrs:{id:"the-data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#the-data"}},[t._v("#")]),t._v(" The Data")]),t._v(" "),s("p",[t._v("For this tutorial, we will use a pre-created data package, the Periodic Table Data Package hosted by the Frictionless Data project. A "),s("a",{attrs:{href:"https://specs.frictionlessdata.io/data-package/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package"),s("OutboundLink")],1),t._v(" is a simple container format used to describe and package a collection of data. It consists of two parts:")]),t._v(" "),s("ul",[s("li",[t._v("Metadata that describes the structure and contents of the package")]),t._v(" "),s("li",[t._v("Resources such as data files that form the contents of the package")])]),t._v(" "),s("p",[t._v("Our Clojure code will download the data package and process it using the metadata information contained in the"),s("br"),t._v("\npackage. The data package can be found "),s("a",{attrs:{href:"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json",target:"_blank",rel:"noopener noreferrer"}},[t._v("here on GitHub"),s("OutboundLink")],1),t._v(".")]),t._v(" "),s("p",[t._v("The data package contains data about elements in the periodic table, including each element’s name, atomic number, symbol and atomic weight. The table below shows a sample taken from the first three rows of the CSV file:")]),t._v(" "),s("table",[s("thead",[s("tr",[s("th",[t._v("atomic number")]),t._v(" "),s("th",[t._v("symbol")]),t._v(" "),s("th",[t._v("name")]),t._v(" "),s("th",[t._v("atomic mass")]),t._v(" "),s("th",[t._v("metal or nonmetal?")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[t._v("1")]),t._v(" "),s("td",[t._v("H")]),t._v(" "),s("td",[t._v("Hydrogen")]),t._v(" "),s("td",[t._v("1.00794")]),t._v(" "),s("td",[t._v("nonmetal")])]),t._v(" "),s("tr",[s("td",[t._v("2")]),t._v(" "),s("td",[t._v("He")]),t._v(" "),s("td",[t._v("Helium")]),t._v(" "),s("td",[t._v("4.002602")]),t._v(" "),s("td",[t._v("noble gas")])]),t._v(" "),s("tr",[s("td",[t._v("3")]),t._v(" "),s("td",[t._v("Li")]),t._v(" "),s("td",[t._v("Lithium")]),t._v(" "),s("td",[t._v("6.941")]),t._v(" "),s("td",[t._v("alkali metal")])])])]),t._v(" "),s("h2",{attrs:{id:"loading-the-data-package"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#loading-the-data-package"}},[t._v("#")]),t._v(" Loading the Data Package")]),t._v(" "),s("p",[t._v("The first step is to load the data package into a Clojure data structure (a map). The initial step is to require the data package library in our code (which we will give the alias "),s("strong",[t._v("dp")]),t._v("). Then we can use the "),s("strong",[t._v("load")]),t._v(" function to load our data package into our project. Enter the following code into the core.clj file:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("ns")]),t._v(" periodic-table.core\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":require")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.datapackage "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" dp"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.tableschema "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" ts"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("clojure.spec.alpha "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" s"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" pkg\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/load")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("This pulls the data in from the remote GitHub location and converts the metadata into a Clojure map. We can access this metadata by using the "),s("code",[t._v("descriptor")]),t._v(" function along with keys such as "),s("code",[t._v(":name")]),t._v(" and "),s("code",[t._v(":title")]),t._v(" to get the relevant information:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("str")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Package name:"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/descriptor")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":name")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("str")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Package title:"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/descriptor")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":title")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The package descriptor contains metadata that describes the contents of the data package. What about accessing the data itself? We can get to it using the "),s("code",[t._v("get-resources")]),t._v(" function:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" table "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/get-resources")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":data")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("doseq")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("row table"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" row"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The above code locates the data in the data package, then goes through it line by line and prints the contents.")]),t._v(" "),s("h2",{attrs:{id:"casting-types-with-core-spec"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#casting-types-with-core-spec"}},[t._v("#")]),t._v(" Casting Types with core.spec")]),t._v(" "),s("p",[t._v("We can use Clojure’s "),s("a",{attrs:{href:"https://clojure.org/guides/spec",target:"_blank",rel:"noopener noreferrer"}},[t._v("spec"),s("OutboundLink")],1),t._v(" library to define a schema for our data, which can then be used to cast the types of the data in the CSV file.")]),t._v(" "),s("p",[t._v("Below is a spec description of a periodic element type, consisting of an atomic number, atomic symbol, the element’s name, its mass, and whether or not the element is a metal or non-metal:")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" int?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" float?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::element")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/keys")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":req")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("The above spec can be used to cast values in our tabular data so that they match the specified schema. The example below shows our tabular data values being cast to fit the spec description. Then the "),s("code",[t._v("-main")]),t._v(" function loops through the elements, printing only those with an atomic mass of over 10.")]),t._v(" "),s("div",{staticClass:"language-clojure extra-class"},[s("pre",{pre:!0,attrs:{class:"language-clojure"}},[s("code",[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("ns")]),t._v(" periodic-table.core\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":require")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.datapackage "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" dp"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("frictionlessdata.tableschema "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" ts"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("clojure.spec.alpha "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":as")]),t._v(" s"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" int?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" float?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),t._v(" string?"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/def")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::element")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("s/keys")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":req")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::number")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::symbol")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::name")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::mass")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v("::metal")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" pkg\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/load")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"https://raw.githubusercontent.com/frictionlessdata/example-data-packages/62d47b454d95a95b6029214b9533de79401e953a/periodic-table/datapackage.json"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" resources "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/get-resources")]),t._v(" pkg "),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":data")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("def")]),t._v(" elements "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("dp/cast")]),t._v(" resources element"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("defn")]),t._v(" -main "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("doseq")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("e elements"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("<")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token symbol"}},[t._v(":mass")]),t._v(" e"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("10")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("println")]),t._v(" e"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])]),s("p",[t._v("When run, the program produces the following output:")]),t._v(" "),s("div",{staticClass:"language-sh extra-class"},[s("pre",{pre:!0,attrs:{class:"language-sh"}},[s("code",[t._v("$ lein run\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"H"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Hydrogen"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1.00794")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"nonmetal"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"He"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Helium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4.002602")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"noble gas"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Li"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Lithium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("6.941")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"alkali gas"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("::number "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("4")]),t._v(" ::symbol "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Be"')]),t._v(" ::name "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Beryllium"')]),t._v(" ::mass "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("9.012182")]),t._v(" ::metal "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"alkaline earth metal"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("p",[t._v("This concludes our simple tutorial for using the Clojure libraries for Frictionless Data.")]),t._v(" "),s("p",[t._v("We welcome your feedback and questions via our "),s("a",{attrs:{href:"http://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data Gitter chat"),s("OutboundLink")],1),t._v(" or via "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj/issues",target:"_blank",rel:"noopener noreferrer"}},[t._v("GitHub issues"),s("OutboundLink")],1),t._v(" on the "),s("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("datapackage-clj"),s("OutboundLink")],1),t._v(" repository.")])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/81.119cea57.js b/assets/js/81.0a967664.js similarity index 99% rename from assets/js/81.119cea57.js rename to assets/js/81.0a967664.js index d2c85097b..ec4a37bbb 100644 --- a/assets/js/81.119cea57.js +++ b/assets/js/81.0a967664.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{598:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("This page provides an overview CSV (Comma Separated Values) format for data.")]),e._v(" "),r("p",[e._v("CSV is a very old, very simple and very common “standard” for (tabular) data."),r("br"),e._v("\nWe say “standard” in quotes because there was never a formal standard for CSV,"),r("br"),e._v("\nthough in 2005 someone did put together a "),r("a",{attrs:{href:"http://tools.ietf.org/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC"),r("OutboundLink")],1),e._v(" for it.")]),e._v(" "),r("p",[e._v("CSV is supported by a "),r("strong",[e._v("huge")]),e._v(" number of tools from spreadsheets like Excel,"),r("br"),e._v("\nOpenOffice and Google Docs to complex databases to almost all programming"),r("br"),e._v("\nlanguages. As such it is probably the most widely supported structured data"),r("br"),e._v("\nformat in the world.")]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"the-format"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#the-format"}},[e._v("#")]),e._v(" The Format")]),e._v(" "),r("p",[e._v("Key points are:")]),e._v(" "),r("ul",[r("li",[e._v("CSV is probably the simplest possible structured format for data")]),e._v(" "),r("li",[e._v("CSV strikes a delicate balance, remaining readable by both machines & humans")]),e._v(" "),r("li",[e._v("CSV is a two dimensional structure consisting of rows of data, each row"),r("br"),e._v("\ncontaining multiple cells. Rows are (usually) separated by line terminators"),r("br"),e._v("\nso each row corresponds to one line. Cells within a row are separated by"),r("br"),e._v("\ncommas (hence the C(ommmas) part)\n"),r("ul",[r("li",[e._v("Note that strictly we’re really talking about DSV files in that we can"),r("br"),e._v("\nallow ‘delimiters’ between cells other than a comma. However, many people"),r("br"),e._v("\nand many programs still call such data CSV (since comma is so common as the"),r("br"),e._v("\ndelimiter)")])])]),e._v(" "),r("li",[e._v("CSV is a “text-based” format, i.e. a CSV file "),r("em",[e._v("is")]),e._v(" a text file. This makes it"),r("br"),e._v("\namenable for processing with all kinds of text-oriented tools (from text"),r("br"),e._v("\neditors to "),r("a",{attrs:{href:"https://github.com/rgrp/command-line-data-wrangling",target:"_blank",rel:"noopener noreferrer"}},[e._v("unix tools like sed, grep etc"),r("OutboundLink")],1),e._v(")")])]),e._v(" "),r("h3",{attrs:{id:"what-a-csv-looks-like"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-a-csv-looks-like"}},[e._v("#")]),e._v(" What a CSV looks like")]),e._v(" "),r("p",[e._v("If you open up a CSV file in a text editor it would look something like:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v('A,B,C\n1,2,3\n4,"5,3",6\n')])])]),r("p",[e._v("Here there are 3 rows each of 3 columns. Notice how the second column in the last line is"),r("br"),e._v("\n“quoted” because the content of that value actually contains a “,” character. Without"),r("br"),e._v("\nthe quotes this character would be interpreted as a column separator. To avoid this"),r("br"),e._v("\nconfusion we put quotes around the whole value. The result is that we have 3 rows each"),r("br"),e._v("\nof 3 columns (Note a CSV file does not "),r("em",[e._v("have")]),e._v(" to have"),r("br"),e._v("\nthe same number of columns in each row).")]),e._v(" "),r("h3",{attrs:{id:"dialects-of-csvs"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#dialects-of-csvs"}},[e._v("#")]),e._v(" Dialects of CSVs")]),e._v(" "),r("p",[e._v("As mentioned above, CSV files can have quite a bit of variation in"),r("br"),e._v("\nstructure. Key options are:")]),e._v(" "),r("ul",[r("li",[e._v("Field delimiter: rather than comma "),r("code",[e._v(",")]),e._v(" people often use things like "),r("code",[e._v("\\t")]),r("br"),e._v("\n(tab), "),r("code",[e._v(";")]),e._v(" or "),r("code",[e._v("|")])]),e._v(" "),r("li",[e._v("Record terminator / line terminator: is "),r("code",[e._v("\\n")]),e._v(" (unix), "),r("code",[e._v("\\n\\r")]),e._v(" (dos) or something else …")]),e._v(" "),r("li",[e._v("How do you quote records that contain your delimiter")])]),e._v(" "),r("p",[e._v("You can read more in the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/csv-dialect/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV Dialect Description Format"),r("OutboundLink")],1),e._v(" which defines"),r("br"),e._v("\na small JSON-oriented structure for specifying what options a CSV uses.")]),e._v(" "),r("h3",{attrs:{id:"what-is-missing-in-csv"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-is-missing-in-csv"}},[e._v("#")]),e._v(" What is Missing in CSV?")]),e._v(" "),r("ul",[r("li",[e._v("CSV lacks any way to specify type information: that is, there is no way to"),r("br"),e._v("\ndistinguish “1” the string from 1 the number. This shortcoming can be"),r("br"),e._v("\naddressed by adding some form of simple schema. For example "),r("RouterLink",{attrs:{to:"/table-schema/"}},[e._v("Table"),r("br"),e._v("\nSchema")]),e._v(" provides a very simple way to describe your schema externally"),r("br"),e._v("\nwhilst "),r("a",{attrs:{href:"http://jenit.github.io/linked-csv/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Linked CSV"),r("OutboundLink")],1),e._v(" is an example of doing this “inline” (that"),r("br"),e._v("\nis, in the CSV).")],1),e._v(" "),r("li",[e._v("No support for relationships between different “tables”. This is similar to"),r("br"),e._v("\nthe previous point and again "),r("RouterLink",{attrs:{to:"/table-schema/"}},[e._v("Table Schema")]),e._v(" provides a way to address"),r("br"),e._v("\nthis by providing additional schema information externally.")],1),e._v(" "),r("li",[e._v("CSV is really only for tabular data – it is not so good for data with"),r("br"),e._v("\nnesting or where structure is not especially tabular (though remember most"),r("br"),e._v("\ndata can be put into tabular form if you try hard enough!)")])]),e._v(" "),r("h3",{attrs:{id:"links"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#links"}},[e._v("#")]),e._v(" Links")]),e._v(" "),r("p",[e._v("Specifications and overviews:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://tools.ietf.org/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC specification of CSV"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[CSV Dialect Description Format][csvddf]")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://en.wikipedia.org/wiki/Comma-separated_values",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV on Wikipedia"),r("OutboundLink")],1)])]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"tools"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tools"}},[e._v("#")]),e._v(" Tools")]),e._v(" "),r("p",[e._v("The great thing about CSV is the huge level of tool support. The following is"),r("br"),e._v("\nnot intended to be comprehensive but is more at the electic end of the spectrum.")]),e._v(" "),r("h3",{attrs:{id:"desktop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#desktop"}},[e._v("#")]),e._v(" Desktop")]),e._v(" "),r("p",[e._v("All spreadsheet programs including Excel, OpenOffice, Google Docs"),r("br"),e._v("\nSpreadsheets supporting opening, editing and saving CSVs.")]),e._v(" "),r("h3",{attrs:{id:"view-a-csv-file-in-your-browser"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#view-a-csv-file-in-your-browser"}},[e._v("#")]),e._v(" View a CSV file in your Browser")]),e._v(" "),r("p",[e._v("You can view a CSV file (saving you the hassle of downloading it and opening"),r("br"),e._v("\nit). Options include:")]),e._v(" "),r("ul",[r("li",[r("p",[e._v("You can use datapipes: "),r("a",{attrs:{href:"http://datapipes.okfnlabs.org/csv/html",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://datapipes.okfnlabs.org/csv/html"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Just paste your CSV file and away you go.")])]),e._v(" "),r("li",[r("p",[e._v("Install this "),r("a",{attrs:{href:"https://chrome.google.com/webstore/detail/recline-csv-viewer/ibfcfelnbfhlbpelldnngdcklnndhael",target:"_blank",rel:"noopener noreferrer"}},[e._v("Chrome Browser Extension"),r("OutboundLink")],1),e._v(". This can be used both"),r("br"),e._v("\nfor online files and for files on your local disk (if you open them with your"),r("br"),e._v("\nbrowser!)")])])]),e._v(" "),r("h3",{attrs:{id:"unix-command-line-manipulation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unix-command-line-manipulation"}},[e._v("#")]),e._v(" Unix Command Line Manipulation")]),e._v(" "),r("p",[e._v("See")]),e._v(" "),r("ul",[r("li",[e._v("Using "),r("a",{attrs:{href:"https://github.com/rgrp/command-line-data-wrangling",target:"_blank",rel:"noopener noreferrer"}},[e._v("unix command line tools on CSV"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("The wonderful "),r("a",{attrs:{href:"http://csvkit.readthedocs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csvkit"),r("OutboundLink")],1),e._v(" (python)")])]),e._v(" "),r("h3",{attrs:{id:"power-tools"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#power-tools"}},[e._v("#")]),e._v(" Power Tools")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://openrefine.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenRefine"),r("OutboundLink")],1),e._v(" is a powerful tool for editing and manipulating data and works"),r("br"),e._v("\nvery well with CSV")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://explorer.okfnlabs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Explorer"),r("OutboundLink")],1),e._v(" supports importing CSVs and manipulating and changing"),r("br"),e._v("\nthem using javascript in the browser")])]),e._v(" "),r("h3",{attrs:{id:"libraries"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#libraries"}},[e._v("#")]),e._v(" Libraries")]),e._v(" "),r("p",[e._v("This is heavily biased towards python!")]),e._v(" "),r("h4",{attrs:{id:"python"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[e._v("#")]),e._v(" Python")]),e._v(" "),r("ul",[r("li",[e._v("Built in csv library is good")]),e._v(" "),r("li",[e._v("The wonderful "),r("a",{attrs:{href:"http://csvkit.readthedocs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csvkit"),r("OutboundLink")],1),e._v(" (python)")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://messytables.readthedocs.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("messytables"),r("OutboundLink")],1),e._v(" (python) - convert lots of badly structured data into CSV (or"),r("br"),e._v("\nother formats)")])]),e._v(" "),r("h4",{attrs:{id:"node"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#node"}},[e._v("#")]),e._v(" Node")]),e._v(" "),r("p",[e._v("Nothing in standard lib yet and best option seems to be:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/wdavidw/node-csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/wdavidw/node-csv"),r("OutboundLink")],1)])]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"tips-and-tricks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tips-and-tricks"}},[e._v("#")]),e._v(" Tips and Tricks")]),e._v(" "),r("h3",{attrs:{id:"csvs-and-git"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#csvs-and-git"}},[e._v("#")]),e._v(" CSVs and Git")]),e._v(" "),r("p",[e._v("Get git to handle CSV diffs in a sensible way (very useful if you are "),r("a",{attrs:{href:"http://blog.okfn.org/2013/07/02/git-and-github-for-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("using"),r("br"),e._v("\ngit or another version control system to store data"),r("OutboundLink")],1),e._v(").")]),e._v(" "),r("p",[e._v("Make these changes to config files:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v('# ~/.config/git/attributes\n*.csv diff=csv\n\n# ~/.gitconfig\n[diff "csv"]\n wordRegex = [^,\\n]+[,\\n]|[,]\n')])])]),r("p",[e._v("Then do:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v("git diff --word-diff\n# make it even nicer\ngit diff --word-diff --color-words\n")])])]),r("p",[e._v("Credit for these fixups to "),r("a",{attrs:{href:"http://opendata.stackexchange.com/questions/748/is-there-a-git-for-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("contributors on this question on"),r("br"),e._v("\nStackExchange"),r("OutboundLink")],1),r("br"),e._v("\nand to "),r("a",{attrs:{href:"http://theodi.org/blog/adapting-git-simple-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("James Smith"),r("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[81],{600:function(e,t,r){"use strict";r.r(t);var a=r(29),o=Object(a.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("This page provides an overview CSV (Comma Separated Values) format for data.")]),e._v(" "),r("p",[e._v("CSV is a very old, very simple and very common “standard” for (tabular) data."),r("br"),e._v("\nWe say “standard” in quotes because there was never a formal standard for CSV,"),r("br"),e._v("\nthough in 2005 someone did put together a "),r("a",{attrs:{href:"http://tools.ietf.org/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC"),r("OutboundLink")],1),e._v(" for it.")]),e._v(" "),r("p",[e._v("CSV is supported by a "),r("strong",[e._v("huge")]),e._v(" number of tools from spreadsheets like Excel,"),r("br"),e._v("\nOpenOffice and Google Docs to complex databases to almost all programming"),r("br"),e._v("\nlanguages. As such it is probably the most widely supported structured data"),r("br"),e._v("\nformat in the world.")]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"the-format"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#the-format"}},[e._v("#")]),e._v(" The Format")]),e._v(" "),r("p",[e._v("Key points are:")]),e._v(" "),r("ul",[r("li",[e._v("CSV is probably the simplest possible structured format for data")]),e._v(" "),r("li",[e._v("CSV strikes a delicate balance, remaining readable by both machines & humans")]),e._v(" "),r("li",[e._v("CSV is a two dimensional structure consisting of rows of data, each row"),r("br"),e._v("\ncontaining multiple cells. Rows are (usually) separated by line terminators"),r("br"),e._v("\nso each row corresponds to one line. Cells within a row are separated by"),r("br"),e._v("\ncommas (hence the C(ommmas) part)\n"),r("ul",[r("li",[e._v("Note that strictly we’re really talking about DSV files in that we can"),r("br"),e._v("\nallow ‘delimiters’ between cells other than a comma. However, many people"),r("br"),e._v("\nand many programs still call such data CSV (since comma is so common as the"),r("br"),e._v("\ndelimiter)")])])]),e._v(" "),r("li",[e._v("CSV is a “text-based” format, i.e. a CSV file "),r("em",[e._v("is")]),e._v(" a text file. This makes it"),r("br"),e._v("\namenable for processing with all kinds of text-oriented tools (from text"),r("br"),e._v("\neditors to "),r("a",{attrs:{href:"https://github.com/rgrp/command-line-data-wrangling",target:"_blank",rel:"noopener noreferrer"}},[e._v("unix tools like sed, grep etc"),r("OutboundLink")],1),e._v(")")])]),e._v(" "),r("h3",{attrs:{id:"what-a-csv-looks-like"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-a-csv-looks-like"}},[e._v("#")]),e._v(" What a CSV looks like")]),e._v(" "),r("p",[e._v("If you open up a CSV file in a text editor it would look something like:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v('A,B,C\n1,2,3\n4,"5,3",6\n')])])]),r("p",[e._v("Here there are 3 rows each of 3 columns. Notice how the second column in the last line is"),r("br"),e._v("\n“quoted” because the content of that value actually contains a “,” character. Without"),r("br"),e._v("\nthe quotes this character would be interpreted as a column separator. To avoid this"),r("br"),e._v("\nconfusion we put quotes around the whole value. The result is that we have 3 rows each"),r("br"),e._v("\nof 3 columns (Note a CSV file does not "),r("em",[e._v("have")]),e._v(" to have"),r("br"),e._v("\nthe same number of columns in each row).")]),e._v(" "),r("h3",{attrs:{id:"dialects-of-csvs"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#dialects-of-csvs"}},[e._v("#")]),e._v(" Dialects of CSVs")]),e._v(" "),r("p",[e._v("As mentioned above, CSV files can have quite a bit of variation in"),r("br"),e._v("\nstructure. Key options are:")]),e._v(" "),r("ul",[r("li",[e._v("Field delimiter: rather than comma "),r("code",[e._v(",")]),e._v(" people often use things like "),r("code",[e._v("\\t")]),r("br"),e._v("\n(tab), "),r("code",[e._v(";")]),e._v(" or "),r("code",[e._v("|")])]),e._v(" "),r("li",[e._v("Record terminator / line terminator: is "),r("code",[e._v("\\n")]),e._v(" (unix), "),r("code",[e._v("\\n\\r")]),e._v(" (dos) or something else …")]),e._v(" "),r("li",[e._v("How do you quote records that contain your delimiter")])]),e._v(" "),r("p",[e._v("You can read more in the "),r("a",{attrs:{href:"https://specs.frictionlessdata.io/csv-dialect/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV Dialect Description Format"),r("OutboundLink")],1),e._v(" which defines"),r("br"),e._v("\na small JSON-oriented structure for specifying what options a CSV uses.")]),e._v(" "),r("h3",{attrs:{id:"what-is-missing-in-csv"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#what-is-missing-in-csv"}},[e._v("#")]),e._v(" What is Missing in CSV?")]),e._v(" "),r("ul",[r("li",[e._v("CSV lacks any way to specify type information: that is, there is no way to"),r("br"),e._v("\ndistinguish “1” the string from 1 the number. This shortcoming can be"),r("br"),e._v("\naddressed by adding some form of simple schema. For example "),r("RouterLink",{attrs:{to:"/table-schema/"}},[e._v("Table"),r("br"),e._v("\nSchema")]),e._v(" provides a very simple way to describe your schema externally"),r("br"),e._v("\nwhilst "),r("a",{attrs:{href:"http://jenit.github.io/linked-csv/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Linked CSV"),r("OutboundLink")],1),e._v(" is an example of doing this “inline” (that"),r("br"),e._v("\nis, in the CSV).")],1),e._v(" "),r("li",[e._v("No support for relationships between different “tables”. This is similar to"),r("br"),e._v("\nthe previous point and again "),r("RouterLink",{attrs:{to:"/table-schema/"}},[e._v("Table Schema")]),e._v(" provides a way to address"),r("br"),e._v("\nthis by providing additional schema information externally.")],1),e._v(" "),r("li",[e._v("CSV is really only for tabular data – it is not so good for data with"),r("br"),e._v("\nnesting or where structure is not especially tabular (though remember most"),r("br"),e._v("\ndata can be put into tabular form if you try hard enough!)")])]),e._v(" "),r("h3",{attrs:{id:"links"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#links"}},[e._v("#")]),e._v(" Links")]),e._v(" "),r("p",[e._v("Specifications and overviews:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://tools.ietf.org/html/rfc4180",target:"_blank",rel:"noopener noreferrer"}},[e._v("RFC specification of CSV"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("[CSV Dialect Description Format][csvddf]")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://en.wikipedia.org/wiki/Comma-separated_values",target:"_blank",rel:"noopener noreferrer"}},[e._v("CSV on Wikipedia"),r("OutboundLink")],1)])]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"tools"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tools"}},[e._v("#")]),e._v(" Tools")]),e._v(" "),r("p",[e._v("The great thing about CSV is the huge level of tool support. The following is"),r("br"),e._v("\nnot intended to be comprehensive but is more at the electic end of the spectrum.")]),e._v(" "),r("h3",{attrs:{id:"desktop"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#desktop"}},[e._v("#")]),e._v(" Desktop")]),e._v(" "),r("p",[e._v("All spreadsheet programs including Excel, OpenOffice, Google Docs"),r("br"),e._v("\nSpreadsheets supporting opening, editing and saving CSVs.")]),e._v(" "),r("h3",{attrs:{id:"view-a-csv-file-in-your-browser"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#view-a-csv-file-in-your-browser"}},[e._v("#")]),e._v(" View a CSV file in your Browser")]),e._v(" "),r("p",[e._v("You can view a CSV file (saving you the hassle of downloading it and opening"),r("br"),e._v("\nit). Options include:")]),e._v(" "),r("ul",[r("li",[r("p",[e._v("You can use datapipes: "),r("a",{attrs:{href:"http://datapipes.okfnlabs.org/csv/html",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://datapipes.okfnlabs.org/csv/html"),r("OutboundLink")],1)]),e._v(" "),r("p",[e._v("Just paste your CSV file and away you go.")])]),e._v(" "),r("li",[r("p",[e._v("Install this "),r("a",{attrs:{href:"https://chrome.google.com/webstore/detail/recline-csv-viewer/ibfcfelnbfhlbpelldnngdcklnndhael",target:"_blank",rel:"noopener noreferrer"}},[e._v("Chrome Browser Extension"),r("OutboundLink")],1),e._v(". This can be used both"),r("br"),e._v("\nfor online files and for files on your local disk (if you open them with your"),r("br"),e._v("\nbrowser!)")])])]),e._v(" "),r("h3",{attrs:{id:"unix-command-line-manipulation"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#unix-command-line-manipulation"}},[e._v("#")]),e._v(" Unix Command Line Manipulation")]),e._v(" "),r("p",[e._v("See")]),e._v(" "),r("ul",[r("li",[e._v("Using "),r("a",{attrs:{href:"https://github.com/rgrp/command-line-data-wrangling",target:"_blank",rel:"noopener noreferrer"}},[e._v("unix command line tools on CSV"),r("OutboundLink")],1)]),e._v(" "),r("li",[e._v("The wonderful "),r("a",{attrs:{href:"http://csvkit.readthedocs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csvkit"),r("OutboundLink")],1),e._v(" (python)")])]),e._v(" "),r("h3",{attrs:{id:"power-tools"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#power-tools"}},[e._v("#")]),e._v(" Power Tools")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://openrefine.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenRefine"),r("OutboundLink")],1),e._v(" is a powerful tool for editing and manipulating data and works"),r("br"),e._v("\nvery well with CSV")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://explorer.okfnlabs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data Explorer"),r("OutboundLink")],1),e._v(" supports importing CSVs and manipulating and changing"),r("br"),e._v("\nthem using javascript in the browser")])]),e._v(" "),r("h3",{attrs:{id:"libraries"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#libraries"}},[e._v("#")]),e._v(" Libraries")]),e._v(" "),r("p",[e._v("This is heavily biased towards python!")]),e._v(" "),r("h4",{attrs:{id:"python"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#python"}},[e._v("#")]),e._v(" Python")]),e._v(" "),r("ul",[r("li",[e._v("Built in csv library is good")]),e._v(" "),r("li",[e._v("The wonderful "),r("a",{attrs:{href:"http://csvkit.readthedocs.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("csvkit"),r("OutboundLink")],1),e._v(" (python)")]),e._v(" "),r("li",[r("a",{attrs:{href:"http://messytables.readthedocs.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("messytables"),r("OutboundLink")],1),e._v(" (python) - convert lots of badly structured data into CSV (or"),r("br"),e._v("\nother formats)")])]),e._v(" "),r("h4",{attrs:{id:"node"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#node"}},[e._v("#")]),e._v(" Node")]),e._v(" "),r("p",[e._v("Nothing in standard lib yet and best option seems to be:")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://github.com/wdavidw/node-csv",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/wdavidw/node-csv"),r("OutboundLink")],1)])]),e._v(" "),r("hr"),e._v(" "),r("h2",{attrs:{id:"tips-and-tricks"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#tips-and-tricks"}},[e._v("#")]),e._v(" Tips and Tricks")]),e._v(" "),r("h3",{attrs:{id:"csvs-and-git"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#csvs-and-git"}},[e._v("#")]),e._v(" CSVs and Git")]),e._v(" "),r("p",[e._v("Get git to handle CSV diffs in a sensible way (very useful if you are "),r("a",{attrs:{href:"http://blog.okfn.org/2013/07/02/git-and-github-for-data/",target:"_blank",rel:"noopener noreferrer"}},[e._v("using"),r("br"),e._v("\ngit or another version control system to store data"),r("OutboundLink")],1),e._v(").")]),e._v(" "),r("p",[e._v("Make these changes to config files:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v('# ~/.config/git/attributes\n*.csv diff=csv\n\n# ~/.gitconfig\n[diff "csv"]\n wordRegex = [^,\\n]+[,\\n]|[,]\n')])])]),r("p",[e._v("Then do:")]),e._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",[r("code",[e._v("git diff --word-diff\n# make it even nicer\ngit diff --word-diff --color-words\n")])])]),r("p",[e._v("Credit for these fixups to "),r("a",{attrs:{href:"http://opendata.stackexchange.com/questions/748/is-there-a-git-for-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("contributors on this question on"),r("br"),e._v("\nStackExchange"),r("OutboundLink")],1),r("br"),e._v("\nand to "),r("a",{attrs:{href:"http://theodi.org/blog/adapting-git-simple-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("James Smith"),r("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/83.a8768035.js b/assets/js/83.74731cae.js similarity index 99% rename from assets/js/83.a8768035.js rename to assets/js/83.74731cae.js index d0012ca39..c85abd79b 100644 --- a/assets/js/83.a8768035.js +++ b/assets/js/83.74731cae.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{602:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("This grantee profile features Ori Hoch for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")])]),e._v(" "),o("p",[e._v("My name is Ori Hoch, I am 35 years old, living in Israel and married with 2 children. I recently took my family to Midburn - the Israeli regional Burning Man event where I juggled some fire clubs in the main burn ceremony. Through the Tool Fund, I am working on implementing the PHP libraries for Frictionless Data. I am also working on several other open source data projects: "),o("a",{attrs:{href:"https://github.com/hasadna/Open-Knesset",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knesset"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://github.com/OpenBudget/budgetkey-data-pipelines",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Budget"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://github.com/beit-hatfutsot",target:"_blank",rel:"noopener noreferrer"}},[e._v("Beit Hatfutsot"),o("OutboundLink")],1),e._v(" - all projects are open source and fully transparent - both the code and the development process - which I think is a great way to work. I’m also very interested in community and teamwork - how to get a group of people working together on a common goal, a hard task in normal scenarios which grows even more complex when dealing with volunteers / open source contributors. Of course, besides all the philosophical ideals I’m also a hard-core technologist who loves diving into complex problems, finding and implementing the right solution.")]),e._v(" "),o("p",[e._v("I first heard about the Frictionless Data ecosystem from my activity in "),o("a",{attrs:{href:"http://www.hasadna.org.il/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Public Knowledge Workshop"),o("OutboundLink")],1),e._v(" where I worked with Adam Kariv and Paul Walsh. I have a lot of experience working with data, and know many of the common problems and pitfalls. One of the major obstacles is interoperability between different data sources. Having the core Frictionless Data libraries available in different languages will allow for easier interoperability and integrations between sources.")]),e._v(" "),o("p",[e._v("At "),o("a",{attrs:{href:"http://www.bh.org.il/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Beit Hatfutsot"),o("OutboundLink")],1),e._v(" (The Museum of The Jewish People), we aggregate data from many sources, including some data from PHP frameworks such as MediaWiki / Wordpress. At the moment we ask developers of the external data sources to create a datapackage for us, based on a given schema. Frictionless Data libraries for PHP will make this much easier for people to do, and will have a huge effect in reducing errors.")]),e._v(" "),o("p",[e._v("In addition to interoperability, the Frictionless Data specifications and software are based on the combined experience of many individuals working on a variety of data projects. Anyone using the libraries and tools will benefit from these experiences and will avoid problems and pitfalls which other people encountered in the past.")]),e._v(" "),o("p",[e._v("I welcome PHP enthusiasts to join in the development effort of the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage"),o("OutboundLink")],1),e._v(" libraries which I am currently working on. Both repositories follow standard GitHub development flow using Issues, Pull Requests, Releases et al. Check the README and CONTRIBUTING files in the repositories above for more details and reach out to me or the rest of the Frictionless Data developer community on "),o("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("the active Gitter channel"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("I would also love to have PHP developers use the core libraries to write some more high-level tools. For example - consider an organization which has some data in their Wordpress / Drupal installation which they would like to publish or use with Frictionless Data compatible tools. Without a compatible plugin for their framework it would require them to either write some custom code or create the datapackage manually - both options are time consuming and error prone. If they had a ready to use plugin for their framework which publishes a compliant datapackage - it will greatly simplify the process and ensure interoperability.")]),e._v(" "),o("p",[e._v("With the availability of the PHP libraries for Frictionless Data the task of developing such plugins will be greatly simplified. The libraries handle all the work of creating / loading datapackages and ensuring they conforms to the specs. Allowing the developer to focus on the plugin logic.")]),e._v(" "),o("p",[e._v("Additional possibilities for leveraging the PHP libraries:")]),e._v(" "),o("ul",[o("li",[e._v("Import plugins - for loading datapackages into a data store")]),e._v(" "),o("li",[e._v("visualization tools to allow people to view and analyze data packages from PHP based code")]),e._v(" "),o("li",[e._v("Integration of existing Frictionless Data to be available for use from PHP, for example the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage-pipelines"),o("OutboundLink")],1),e._v(" framework")])]),e._v(" "),o("p",[e._v("Finally, I would like to thank Open Knowledge International and The Sloan foundation for the opportunity to work on the forefront of the open data eco-system. I think that the tools we are developing now will have tremendous effects on how we manage and use data in the future and we have not yet seen all the possible benefits and outcomes from this work.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[83],{603:function(e,t,o){"use strict";o.r(t);var a=o(29),r=Object(a.a)({},(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[o("p",[o("em",[e._v("This grantee profile features Ori Hoch for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")])]),e._v(" "),o("p",[e._v("My name is Ori Hoch, I am 35 years old, living in Israel and married with 2 children. I recently took my family to Midburn - the Israeli regional Burning Man event where I juggled some fire clubs in the main burn ceremony. Through the Tool Fund, I am working on implementing the PHP libraries for Frictionless Data. I am also working on several other open source data projects: "),o("a",{attrs:{href:"https://github.com/hasadna/Open-Knesset",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Knesset"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://github.com/OpenBudget/budgetkey-data-pipelines",target:"_blank",rel:"noopener noreferrer"}},[e._v("Open Budget"),o("OutboundLink")],1),e._v(", "),o("a",{attrs:{href:"https://github.com/beit-hatfutsot",target:"_blank",rel:"noopener noreferrer"}},[e._v("Beit Hatfutsot"),o("OutboundLink")],1),e._v(" - all projects are open source and fully transparent - both the code and the development process - which I think is a great way to work. I’m also very interested in community and teamwork - how to get a group of people working together on a common goal, a hard task in normal scenarios which grows even more complex when dealing with volunteers / open source contributors. Of course, besides all the philosophical ideals I’m also a hard-core technologist who loves diving into complex problems, finding and implementing the right solution.")]),e._v(" "),o("p",[e._v("I first heard about the Frictionless Data ecosystem from my activity in "),o("a",{attrs:{href:"http://www.hasadna.org.il/en/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Public Knowledge Workshop"),o("OutboundLink")],1),e._v(" where I worked with Adam Kariv and Paul Walsh. I have a lot of experience working with data, and know many of the common problems and pitfalls. One of the major obstacles is interoperability between different data sources. Having the core Frictionless Data libraries available in different languages will allow for easier interoperability and integrations between sources.")]),e._v(" "),o("p",[e._v("At "),o("a",{attrs:{href:"http://www.bh.org.il/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Beit Hatfutsot"),o("OutboundLink")],1),e._v(" (The Museum of The Jewish People), we aggregate data from many sources, including some data from PHP frameworks such as MediaWiki / Wordpress. At the moment we ask developers of the external data sources to create a datapackage for us, based on a given schema. Frictionless Data libraries for PHP will make this much easier for people to do, and will have a huge effect in reducing errors.")]),e._v(" "),o("p",[e._v("In addition to interoperability, the Frictionless Data specifications and software are based on the combined experience of many individuals working on a variety of data projects. Anyone using the libraries and tools will benefit from these experiences and will avoid problems and pitfalls which other people encountered in the past.")]),e._v(" "),o("p",[e._v("I welcome PHP enthusiasts to join in the development effort of the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/tableschema-php",target:"_blank",rel:"noopener noreferrer"}},[e._v("tableschema"),o("OutboundLink")],1),e._v(" and "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage"),o("OutboundLink")],1),e._v(" libraries which I am currently working on. Both repositories follow standard GitHub development flow using Issues, Pull Requests, Releases et al. Check the README and CONTRIBUTING files in the repositories above for more details and reach out to me or the rest of the Frictionless Data developer community on "),o("a",{attrs:{href:"https://gitter.im/frictionlessdata/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("the active Gitter channel"),o("OutboundLink")],1),e._v(".")]),e._v(" "),o("p",[e._v("I would also love to have PHP developers use the core libraries to write some more high-level tools. For example - consider an organization which has some data in their Wordpress / Drupal installation which they would like to publish or use with Frictionless Data compatible tools. Without a compatible plugin for their framework it would require them to either write some custom code or create the datapackage manually - both options are time consuming and error prone. If they had a ready to use plugin for their framework which publishes a compliant datapackage - it will greatly simplify the process and ensure interoperability.")]),e._v(" "),o("p",[e._v("With the availability of the PHP libraries for Frictionless Data the task of developing such plugins will be greatly simplified. The libraries handle all the work of creating / loading datapackages and ensuring they conforms to the specs. Allowing the developer to focus on the plugin logic.")]),e._v(" "),o("p",[e._v("Additional possibilities for leveraging the PHP libraries:")]),e._v(" "),o("ul",[o("li",[e._v("Import plugins - for loading datapackages into a data store")]),e._v(" "),o("li",[e._v("visualization tools to allow people to view and analyze data packages from PHP based code")]),e._v(" "),o("li",[e._v("Integration of existing Frictionless Data to be available for use from PHP, for example the "),o("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-pipelines",target:"_blank",rel:"noopener noreferrer"}},[e._v("datapackage-pipelines"),o("OutboundLink")],1),e._v(" framework")])]),e._v(" "),o("p",[e._v("Finally, I would like to thank Open Knowledge International and The Sloan foundation for the opportunity to work on the forefront of the open data eco-system. I think that the tools we are developing now will have tremendous effects on how we manage and use data in the future and we have not yet seen all the possible benefits and outcomes from this work.")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/84.298b8538.js b/assets/js/84.a5692dcf.js similarity index 99% rename from assets/js/84.298b8538.js rename to assets/js/84.a5692dcf.js index 0c224e30a..d4695d056 100644 --- a/assets/js/84.298b8538.js +++ b/assets/js/84.a5692dcf.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{603:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This guide explores the options available to represent point location data in a CSV file within a Data Package.")]),e._v(" "),a("p",[e._v("First, some key concepts:")]),e._v(" "),a("ul",[a("li",[e._v("A "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1),e._v(" describes tabular data.")]),e._v(" "),a("li",[e._v("Tabular data is often provided in a "),a("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[e._v("CSV - Comma Separated Values")]),e._v(" file.")],1),e._v(" "),a("li",[e._v("Tabular data may include data about locations.")]),e._v(" "),a("li",[e._v("Locations can be represented by points, lines, polygons and more complex geometry.")]),e._v(" "),a("li",[e._v("Points are often represented by a longitude, latitude coordinate pair. There is much debate on "),a("a",{attrs:{href:"https://macwright.org/2015/03/23/geojson-second-bite.html#position",target:"_blank",rel:"noopener noreferrer"}},[e._v("which value should go first"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://macwright.org/lonlat/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tools have their own preferences"),a("OutboundLink")],1),e._v(". Explicitly stating the "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("axis-order"),a("OutboundLink")],1),e._v(" of coordinates is important so when the data is used, it represents the correct location.")]),e._v(" "),a("li",[e._v("To keep things simple, you should use "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Decimal_degrees",target:"_blank",rel:"noopener noreferrer"}},[e._v("digital degrees"),a("OutboundLink")],1),e._v(" "),a("code",[e._v("-27.1944, 151.32660")]),e._v(", not "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Latitude#Preliminaries",target:"_blank",rel:"noopener noreferrer"}},[e._v("degrees, minutes, seconds"),a("OutboundLink")],1),e._v(" or Northing and Eastings "),a("code",[e._v("27.1944° S, 151.2660° E")]),e._v(".")]),e._v(" "),a("li",[e._v("Representing locations other than points in a CSV can be complicated as the shape is represented by many coordinate pairs that combine to make the shape (think joining the dots).")]),e._v(" "),a("li",[e._v("A coordinate pair is inadequate to accurately show a location on a map. You also need a "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Spatial_reference_system",target:"_blank",rel:"noopener noreferrer"}},[e._v("coordinate reference system"),a("OutboundLink")],1),e._v(" and sometimes a date.")]),e._v(" "),a("li",[e._v("A coordinate reference system describes the "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Datum_(geodesy)"}},[e._v("datum")]),e._v(", "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Geoid",target:"_blank",rel:"noopener noreferrer"}},[e._v("geoid"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Coordinate_system",target:"_blank",rel:"noopener noreferrer"}},[e._v("coordinate system"),a("OutboundLink")],1),e._v(", and "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Map_projection",target:"_blank",rel:"noopener noreferrer"}},[e._v("map projection"),a("OutboundLink")],1),e._v(" of the location data.")]),e._v(" "),a("li",[e._v("Dates detailing when the location was recorded are also important because things change over time, e.g. the shape of an "),a("a",{attrs:{href:"https://web.archive.org/web/20171029095929/http://ecq.qld.gov.au/__data/assets/pdf_file/0009/70956/26.5.17_Extraordinary-Gazette_QRC-Final-Determination.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("electoral boundary"),a("OutboundLink")],1),e._v(", or the "),a("a",{attrs:{href:"http://www.icsm.gov.au/datum/what-gda2020",target:"_blank",rel:"noopener noreferrer"}},[e._v("location of a continent"),a("OutboundLink")],1),e._v(".")])]),e._v(" "),a("p",[e._v("The key information to describe a point location is a:")]),e._v(" "),a("ul",[a("li",[e._v("coordinate pair and their axis order")]),e._v(" "),a("li",[e._v("coordinate reference system")]),e._v(" "),a("li",[e._v("date")])]),e._v(" "),a("p",[e._v("Assumptions are often made about coordinate reference systems and dates, e.g.")]),e._v(" "),a("ul",[a("li",[e._v("The coordinate reference system may be assumed to be the World Geodetic System 1984 ("),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/World_Geodetic_System",target:"_blank",rel:"noopener noreferrer"}},[e._v("WGS84"),a("OutboundLink")],1),e._v("), which is currently used for the Global Positioning System (GPS) satellite navigation system. This coordinate reference system used by the majority of interactive maps on the web.")]),e._v(" "),a("li",[e._v("The date is often assumed to be today.")])]),e._v(" "),a("h2",{attrs:{id:"point-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-data"}},[e._v("#")]),e._v(" Point data")]),e._v(" "),a("p",[e._v("How can point location data be:")]),e._v(" "),a("ol",[a("li",[e._v("represented in a CSV file?")]),e._v(" "),a("li",[e._v("described as part of a Data Package?")])]),e._v(" "),a("p",[e._v("The options for representing point locations in a CSV file are to define a field(s) of type:")]),e._v(" "),a("ol",[a("li",[a("a",{attrs:{href:"#1-geopoint-default"}},[e._v("geopoint, format: default")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#2-geopoint-array"}},[e._v("geopoint, format: array")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#3-geopoint-object"}},[e._v("geopoint, format: object")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#4-numbers-with-constraints"}},[e._v("number with constraints")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#5-string-and-foreign-key-reference-to-well-known-place-name"}},[e._v("string, format: default")]),e._v(" and a foreign key reference")]),e._v(" "),a("li",[a("a",{attrs:{href:"#6-use-a-uniform-resource-identifier-to-reference-a-location"}},[e._v("string, format: uri")]),e._v(" reference to an external resource with the geometry")]),e._v(" "),a("li",[a("a",{attrs:{href:"#7-geojson"}},[e._v("geojson, format: default")])])]),e._v(" "),a("p",[e._v("Each option is described below with a sample CSV file, Data Package fragment and some thoughts on pros and cons.")]),e._v(" "),a("p",[e._v("Each option should, in a human and machine-readable way, specify:")]),e._v(" "),a("ul",[a("li",[e._v("the coordinate reference system")]),e._v(" "),a("li",[e._v("the axis order of the coordinates (if not specified by the coordinate reference system)")]),e._v(" "),a("li",[e._v("the date associated with the location data")])]),e._v(" "),a("p",[e._v("(Out of scope for the moment - geocoding using address but similar techniques will apply.)")]),e._v(" "),a("h3",{attrs:{id:"_1-geopoint-default"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-geopoint-default"}},[e._v("#")]),e._v(" 1. Geopoint, default")]),e._v(" "),a("p",[e._v("The type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#geopoint",target:"_blank",rel:"noopener noreferrer"}},[e._v("Geopoint"),a("OutboundLink")],1),e._v(", format: default is a string of the pattern "),a("code",[e._v('"lon, lat"')]),e._v(", where lon is the longitude and lat is the latitude (note the space is optional after the ,). E.g. "),a("code",[e._v('"90, 45"')]),e._v(".")]),e._v(" "),a("h4",{attrs:{id:"csv"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("“151.2660, -27.1944”")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint"\n }\n ]\n}\n')])])]),a("p",[a("strong",[e._v("Thoughts")])]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The order of Lon, Lat is defined in the standard but:\n"),a("ul",[a("li",[e._v("may not be obvious to the person looking at the file")]),e._v(" "),a("li",[e._v("may not be machine-readable without referring to resources outside the Data Package")])])])]),e._v(" "),a("h3",{attrs:{id:"_2-geopoint-array"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-geopoint-array"}},[e._v("#")]),e._v(" 2. Geopoint, array")]),e._v(" "),a("p",[e._v("An array of exactly two items, where each item is a number, and the first item is longitude and the second item is latitude e.g. "),a("code",[e._v("[90, 45]")])]),e._v(" "),a("h4",{attrs:{id:"csv-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-2"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("[151.2660, -27.1944]")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-2"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office)",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint",\n "format": "array"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The order of Lon, Lat is defined in the standard but:\n"),a("ul",[a("li",[e._v("may not be obvious to the person looking at the file")]),e._v(" "),a("li",[e._v("may not be machine-readable without referring to resources outside the Data Package")])])])]),e._v(" "),a("h3",{attrs:{id:"_3-geopoint-object"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-geopoint-object"}},[e._v("#")]),e._v(" 3. Geopoint, object")]),e._v(" "),a("p",[e._v("A JSON object with exactly two keys, lat and lon and each value is a number e.g. "),a("code",[e._v('{"lon": 90, "lat": 45}')])]),e._v(" "),a("h4",{attrs:{id:"csv-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-3"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“lon”:151.2660, “lat”: -27.1944}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-3"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office)",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint",\n "format": "object"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The axis order is explicit. "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("Stating how coordinate values are encoded"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice.")])]),e._v(" "),a("h3",{attrs:{id:"_4-numbers-with-constraints"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_4-numbers-with-constraints"}},[e._v("#")]),e._v(" 4. Numbers with constraints")]),e._v(" "),a("p",[e._v("Two columns of type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#number",target:"_blank",rel:"noopener noreferrer"}},[e._v("number"),a("OutboundLink")],1),e._v(" with "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("constraints"),a("OutboundLink")],1),e._v(" to limit latitude and longitude values")]),e._v(" "),a("h4",{attrs:{id:"csv-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-4"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Lat")]),e._v(" "),a("th",[e._v("Lon")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("-27.1944")]),e._v(" "),a("td",[e._v("151.2660")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-4"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Lat",\n "type": "number",\n "contraints": {\n "minimum": -90,\n "maximum": 90\n }\n },\n {\n "name": "Lon",\n "type": "number",\n "contraints": {\n "minimum": -180,\n "maximum": 180\n }\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("You can constrain latitude and longitude values to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("Constraints not required so invalid values possible")]),e._v(" "),a("li",[e._v("Not obvious to software that the columns are location data unless specific names are used X,Y; Lat,Lon; Latitude,Longitude; and "),a("a",{attrs:{href:"http://doc.arcgis.com/en/arcgis-online/reference/csv-gpx.htm",target:"_blank",rel:"noopener noreferrer"}},[e._v("many other combinations"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("Lat, Lon or Lon, Lat - you choose the order")]),e._v(" "),a("li",[e._v("No way to force a pair of coordinates and support missing values.\n"),a("ul",[a("li",[e._v("If you add a required constraint to both, you can’t have a missing location.")]),e._v(" "),a("li",[e._v("If you don’t add required constraint, you could have lat without lon or vice versa.")])])])]),e._v(" "),a("h3",{attrs:{id:"_5-string-and-foreign-key-reference-to-well-known-place-name"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_5-string-and-foreign-key-reference-to-well-known-place-name"}},[e._v("#")]),e._v(" 5. String and Foreign key reference to well-known place-name")]),e._v(" "),a("p",[e._v("All the previous examples assume you know the coordinates of the location. What if you only know the name? You can use a name, of type: "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#string",target:"_blank",rel:"noopener noreferrer"}},[e._v("string"),a("OutboundLink")],1),e._v(", to refer to an another data resource and use the name to determine the coordinates. This data resource is often called a "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Gazetteer",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gazetteer"),a("OutboundLink")],1),e._v(". "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Gazetteer#List_of_gazetteers",target:"_blank",rel:"noopener noreferrer"}},[e._v("Often"),a("OutboundLink")],1),e._v(" a website or API is placed in front of the data so you can provide a name and the location data is returned")]),e._v(" "),a("p",[e._v("A date may be an additional field included in the foreign key relationship.")]),e._v(" "),a("h4",{attrs:{id:"csv-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-5"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("p",[e._v("Offices.csv")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("office-name")]),e._v(" "),a("th",[e._v("town")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby Drop In Centre")]),e._v(" "),a("td",[e._v("Dalby")])])])]),e._v(" "),a("p",[e._v("Gazetteer.csv")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("city-or-town")]),e._v(" "),a("th",[e._v("location")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“lon”:151.2660, “lat”: -27.1944}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-5"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "resources": [\n {\n "name": "office-locations",\n "path": "offices.csv",\n "schema": {\n "fields": [\n {\n "name": "office-name",\n "title": "Office Name",\n "type": "string"\n },\n {\n "name": "town",\n "title": "Town",\n "description": "Town name in gazetteer",\n "type": "string"\n }\n ]\n },\n "foreignKeys": [\n {\n "fields": "town",\n "reference": {\n "resource": "gazetteer",\n "fields": "city-or-town"\n }\n }\n ]\n },\n {\n "name": "gazetteer",\n "description": "External Gazetteer",\n "url": "https://example.com/gazetteer.csv",\n "schema": {\n "fields": [\n {\n "name": "city-or-town",\n "type": "string",\n "constraints": {\n "unique": true,\n "required": true\n }\n },\n {\n "name": "location",\n "type": "geopoint",\n "format": "object"\n }\n ]\n },\n "primaryKey": [\n "city-or-town"\n ]\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("Haven’t come across many Gazetteers in CSV format")])]),e._v(" "),a("h3",{attrs:{id:"_6-use-a-uniform-resource-identifier-to-reference-a-location"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6-use-a-uniform-resource-identifier-to-reference-a-location"}},[e._v("#")]),e._v(" 6. Use a Uniform Resource Identifier to reference a location")]),e._v(" "),a("p",[e._v("Use a type: "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#string",target:"_blank",rel:"noopener noreferrer"}},[e._v("string"),a("OutboundLink")],1),e._v(", format: uri, to provide a link to a resource that includes the geometry.")]),e._v(" "),a("h4",{attrs:{id:"csv-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-6"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("office-name")]),e._v(" "),a("th",[e._v("Location uri")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[a("a",{attrs:{href:"http://nominatim.openstreetmap.org/details.php?place_id=114278",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://nominatim.openstreetmap.org/details.php?place_id=114278"),a("OutboundLink")],1)])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-6"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('"schema": {\n\t"fields": [\n {\n "name": "office-name",\n "type": "string"\n },\n {\n "name": "Location uri",\n "type": "string",\n "format": "uri"\n }\n ]\n }\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-linking-2",target:"_blank",rel:"noopener noreferrer"}},[e._v("Link to Spatial Things from popular repositories"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice.")]),e._v(" "),a("li",[e._v("Things can move over time, consider "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-dataversioning",target:"_blank",rel:"noopener noreferrer"}},[e._v("data versioning"),a("OutboundLink")],1),e._v(", another W3C spatial data on the web best practice.")]),e._v(" "),a("li",[e._v("Is there a way to define the bulk of the uri outside of the column and reduce the column entry to the id? Is this wise or desirable?")])]),e._v(" "),a("h3",{attrs:{id:"_7-geojson"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_7-geojson"}},[e._v("#")]),e._v(" 7. GeoJSON")]),e._v(" "),a("p",[e._v("Use a field of type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#geojson",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" to represent location")]),e._v(" "),a("h4",{attrs:{id:"csv-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-7"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“type”:“Point”,“coordinates”:[151.2660,-27.1994]}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-7"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Location",\n "type": "geojson",\n "format": "default"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("Geometry isn’t constrained to a point; it could be a line or polygon.")]),e._v(" "),a("li",[a("a",{attrs:{href:"https://tools.ietf.org/html/rfc7946#page-12",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" only supports the WGS84 coordinate reference system.")]),e._v(" "),a("li",[e._v("The axis order is explicit. "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("Stating how coordinate values are encoded"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice. GeoJSON only supports lon, lat axis order.")])]),e._v(" "),a("h2",{attrs:{id:"related-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#related-work"}},[e._v("#")]),e._v(" Related Work")]),e._v(" "),a("h3",{attrs:{id:"frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data"}},[e._v("#")]),e._v(" Frictionless data")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/blog/2016/04/30/publish-geo/"}},[e._v("Publishing Geospatial Data as a Data Package")])],1),e._v(" "),a("li",[a("a",{attrs:{href:"https://research.okfn.org/spatial-data-package-investigation/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spatial Data Package investigation - research and report by Steve Bennett"),a("OutboundLink")],1)])]),e._v(" "),a("h3",{attrs:{id:"world-wide-web-consortium-w3c"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#world-wide-web-consortium-w3c"}},[e._v("#")]),e._v(" World Wide Web Consortium (W3C)")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://www.w3.org/TR/dwbp/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data on the Web Best Practices"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("a",{attrs:{href:"http://www.w3.org/TR/sdw-bp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spatial Data on the Web Best Practices"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("These documents advise on best practices related to the publication of data and spatial data on the web.")]),e._v(" "),a("h3",{attrs:{id:"australian-government-csv-geo-au"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#australian-government-csv-geo-au"}},[e._v("#")]),e._v(" Australian Government - CSV GEO AU")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/TerriaJS/nationalmap/wiki/csv-geo-au",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv-geo-au"),a("OutboundLink")],1),e._v(" is a specification for publishing point or region-mapped Australian geospatial data in CSV format to "),a("a",{attrs:{href:"http://data.gov.au",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gov.au"),a("OutboundLink")],1),e._v(" and other open data portals.")]),e._v(" "),a("h3",{attrs:{id:"ietf-geojson"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ietf-geojson"}},[e._v("#")]),e._v(" IETF - GeoJSON")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://tools.ietf.org/html/rfc7946",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" is a geospatial data interchange format based on JavaScript Object Notation (JSON).")]),e._v(" "),a("h3",{attrs:{id:"ogc-simple-feature-access"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ogc-simple-feature-access"}},[e._v("#")]),e._v(" OGC - Simple Feature Access")]),e._v(" "),a("p",[e._v("The Open Geospatial Consortium - "),a("a",{attrs:{href:"http://www.opengeospatial.org/standards/sfa",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenGIS Simple Feature Access"),a("OutboundLink")],1),e._v(" is also called ISO 19125. It provides a model for geometric objects associated with a Spatial Reference System.")]),e._v(" "),a("p",[e._v("Recommended reading: We recently commissioned research work to determine how necessary and useful it would be to create a Geo Data Package as a core Frictionless Data offering. Follow the discussions "),a("a",{attrs:{href:"https://discuss.okfn.org/t/geo-data-package/6143",target:"_blank",rel:"noopener noreferrer"}},[e._v("here on Discuss"),a("OutboundLink")],1),e._v(" and read "),a("a",{attrs:{href:"https://research.okfn.org/spatial-data-package-investigation/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the final report into the spatial data package investigation by Steve Bennett"),a("OutboundLink")],1),e._v(". Examples following the recommendations in this research will be added in due course.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[84],{602:function(e,t,a){"use strict";a.r(t);var r=a(29),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This guide explores the options available to represent point location data in a CSV file within a Data Package.")]),e._v(" "),a("p",[e._v("First, some key concepts:")]),e._v(" "),a("ul",[a("li",[e._v("A "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1),e._v(" describes tabular data.")]),e._v(" "),a("li",[e._v("Tabular data is often provided in a "),a("RouterLink",{attrs:{to:"/blog/2018/07/09/csv/"}},[e._v("CSV - Comma Separated Values")]),e._v(" file.")],1),e._v(" "),a("li",[e._v("Tabular data may include data about locations.")]),e._v(" "),a("li",[e._v("Locations can be represented by points, lines, polygons and more complex geometry.")]),e._v(" "),a("li",[e._v("Points are often represented by a longitude, latitude coordinate pair. There is much debate on "),a("a",{attrs:{href:"https://macwright.org/2015/03/23/geojson-second-bite.html#position",target:"_blank",rel:"noopener noreferrer"}},[e._v("which value should go first"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"https://macwright.org/lonlat/",target:"_blank",rel:"noopener noreferrer"}},[e._v("tools have their own preferences"),a("OutboundLink")],1),e._v(". Explicitly stating the "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("axis-order"),a("OutboundLink")],1),e._v(" of coordinates is important so when the data is used, it represents the correct location.")]),e._v(" "),a("li",[e._v("To keep things simple, you should use "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Decimal_degrees",target:"_blank",rel:"noopener noreferrer"}},[e._v("digital degrees"),a("OutboundLink")],1),e._v(" "),a("code",[e._v("-27.1944, 151.32660")]),e._v(", not "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Latitude#Preliminaries",target:"_blank",rel:"noopener noreferrer"}},[e._v("degrees, minutes, seconds"),a("OutboundLink")],1),e._v(" or Northing and Eastings "),a("code",[e._v("27.1944° S, 151.2660° E")]),e._v(".")]),e._v(" "),a("li",[e._v("Representing locations other than points in a CSV can be complicated as the shape is represented by many coordinate pairs that combine to make the shape (think joining the dots).")]),e._v(" "),a("li",[e._v("A coordinate pair is inadequate to accurately show a location on a map. You also need a "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Spatial_reference_system",target:"_blank",rel:"noopener noreferrer"}},[e._v("coordinate reference system"),a("OutboundLink")],1),e._v(" and sometimes a date.")]),e._v(" "),a("li",[e._v("A coordinate reference system describes the "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Datum_(geodesy)"}},[e._v("datum")]),e._v(", "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Geoid",target:"_blank",rel:"noopener noreferrer"}},[e._v("geoid"),a("OutboundLink")],1),e._v(", "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Coordinate_system",target:"_blank",rel:"noopener noreferrer"}},[e._v("coordinate system"),a("OutboundLink")],1),e._v(", and "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Map_projection",target:"_blank",rel:"noopener noreferrer"}},[e._v("map projection"),a("OutboundLink")],1),e._v(" of the location data.")]),e._v(" "),a("li",[e._v("Dates detailing when the location was recorded are also important because things change over time, e.g. the shape of an "),a("a",{attrs:{href:"https://web.archive.org/web/20171029095929/http://ecq.qld.gov.au/__data/assets/pdf_file/0009/70956/26.5.17_Extraordinary-Gazette_QRC-Final-Determination.pdf",target:"_blank",rel:"noopener noreferrer"}},[e._v("electoral boundary"),a("OutboundLink")],1),e._v(", or the "),a("a",{attrs:{href:"http://www.icsm.gov.au/datum/what-gda2020",target:"_blank",rel:"noopener noreferrer"}},[e._v("location of a continent"),a("OutboundLink")],1),e._v(".")])]),e._v(" "),a("p",[e._v("The key information to describe a point location is a:")]),e._v(" "),a("ul",[a("li",[e._v("coordinate pair and their axis order")]),e._v(" "),a("li",[e._v("coordinate reference system")]),e._v(" "),a("li",[e._v("date")])]),e._v(" "),a("p",[e._v("Assumptions are often made about coordinate reference systems and dates, e.g.")]),e._v(" "),a("ul",[a("li",[e._v("The coordinate reference system may be assumed to be the World Geodetic System 1984 ("),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/World_Geodetic_System",target:"_blank",rel:"noopener noreferrer"}},[e._v("WGS84"),a("OutboundLink")],1),e._v("), which is currently used for the Global Positioning System (GPS) satellite navigation system. This coordinate reference system used by the majority of interactive maps on the web.")]),e._v(" "),a("li",[e._v("The date is often assumed to be today.")])]),e._v(" "),a("h2",{attrs:{id:"point-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#point-data"}},[e._v("#")]),e._v(" Point data")]),e._v(" "),a("p",[e._v("How can point location data be:")]),e._v(" "),a("ol",[a("li",[e._v("represented in a CSV file?")]),e._v(" "),a("li",[e._v("described as part of a Data Package?")])]),e._v(" "),a("p",[e._v("The options for representing point locations in a CSV file are to define a field(s) of type:")]),e._v(" "),a("ol",[a("li",[a("a",{attrs:{href:"#1-geopoint-default"}},[e._v("geopoint, format: default")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#2-geopoint-array"}},[e._v("geopoint, format: array")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#3-geopoint-object"}},[e._v("geopoint, format: object")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#4-numbers-with-constraints"}},[e._v("number with constraints")])]),e._v(" "),a("li",[a("a",{attrs:{href:"#5-string-and-foreign-key-reference-to-well-known-place-name"}},[e._v("string, format: default")]),e._v(" and a foreign key reference")]),e._v(" "),a("li",[a("a",{attrs:{href:"#6-use-a-uniform-resource-identifier-to-reference-a-location"}},[e._v("string, format: uri")]),e._v(" reference to an external resource with the geometry")]),e._v(" "),a("li",[a("a",{attrs:{href:"#7-geojson"}},[e._v("geojson, format: default")])])]),e._v(" "),a("p",[e._v("Each option is described below with a sample CSV file, Data Package fragment and some thoughts on pros and cons.")]),e._v(" "),a("p",[e._v("Each option should, in a human and machine-readable way, specify:")]),e._v(" "),a("ul",[a("li",[e._v("the coordinate reference system")]),e._v(" "),a("li",[e._v("the axis order of the coordinates (if not specified by the coordinate reference system)")]),e._v(" "),a("li",[e._v("the date associated with the location data")])]),e._v(" "),a("p",[e._v("(Out of scope for the moment - geocoding using address but similar techniques will apply.)")]),e._v(" "),a("h3",{attrs:{id:"_1-geopoint-default"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-geopoint-default"}},[e._v("#")]),e._v(" 1. Geopoint, default")]),e._v(" "),a("p",[e._v("The type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#geopoint",target:"_blank",rel:"noopener noreferrer"}},[e._v("Geopoint"),a("OutboundLink")],1),e._v(", format: default is a string of the pattern "),a("code",[e._v('"lon, lat"')]),e._v(", where lon is the longitude and lat is the latitude (note the space is optional after the ,). E.g. "),a("code",[e._v('"90, 45"')]),e._v(".")]),e._v(" "),a("h4",{attrs:{id:"csv"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("“151.2660, -27.1944”")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint"\n }\n ]\n}\n')])])]),a("p",[a("strong",[e._v("Thoughts")])]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The order of Lon, Lat is defined in the standard but:\n"),a("ul",[a("li",[e._v("may not be obvious to the person looking at the file")]),e._v(" "),a("li",[e._v("may not be machine-readable without referring to resources outside the Data Package")])])])]),e._v(" "),a("h3",{attrs:{id:"_2-geopoint-array"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-geopoint-array"}},[e._v("#")]),e._v(" 2. Geopoint, array")]),e._v(" "),a("p",[e._v("An array of exactly two items, where each item is a number, and the first item is longitude and the second item is latitude e.g. "),a("code",[e._v("[90, 45]")])]),e._v(" "),a("h4",{attrs:{id:"csv-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-2"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("[151.2660, -27.1944]")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-2"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office)",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint",\n "format": "array"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The order of Lon, Lat is defined in the standard but:\n"),a("ul",[a("li",[e._v("may not be obvious to the person looking at the file")]),e._v(" "),a("li",[e._v("may not be machine-readable without referring to resources outside the Data Package")])])])]),e._v(" "),a("h3",{attrs:{id:"_3-geopoint-object"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-geopoint-object"}},[e._v("#")]),e._v(" 3. Geopoint, object")]),e._v(" "),a("p",[e._v("A JSON object with exactly two keys, lat and lon and each value is a number e.g. "),a("code",[e._v('{"lon": 90, "lat": 45}')])]),e._v(" "),a("h4",{attrs:{id:"csv-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-3"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location (Lon, Lat)")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“lon”:151.2660, “lat”: -27.1944}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-3"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office)",\n "type": "string"\n },\n {\n "name": "Location (Lon, Lat)",\n "type": "geopoint",\n "format": "object"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/frictionlessdata/specs/issues/345",target:"_blank",rel:"noopener noreferrer"}},[e._v("Currently"),a("OutboundLink")],1),e._v(" you cannot use the "),a("code",[e._v("minimum")]),e._v(" or "),a("code",[e._v("maximum")]),e._v(" constraint to limit longitude or latitude values to a to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("The axis order is explicit. "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("Stating how coordinate values are encoded"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice.")])]),e._v(" "),a("h3",{attrs:{id:"_4-numbers-with-constraints"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_4-numbers-with-constraints"}},[e._v("#")]),e._v(" 4. Numbers with constraints")]),e._v(" "),a("p",[e._v("Two columns of type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#number",target:"_blank",rel:"noopener noreferrer"}},[e._v("number"),a("OutboundLink")],1),e._v(" with "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#constraints",target:"_blank",rel:"noopener noreferrer"}},[e._v("constraints"),a("OutboundLink")],1),e._v(" to limit latitude and longitude values")]),e._v(" "),a("h4",{attrs:{id:"csv-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-4"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Lat")]),e._v(" "),a("th",[e._v("Lon")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("-27.1944")]),e._v(" "),a("td",[e._v("151.2660")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-4"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Lat",\n "type": "number",\n "contraints": {\n "minimum": -90,\n "maximum": 90\n }\n },\n {\n "name": "Lon",\n "type": "number",\n "contraints": {\n "minimum": -180,\n "maximum": 180\n }\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("You can constrain latitude and longitude values to a minimum bounding rectangle")]),e._v(" "),a("li",[e._v("Constraints not required so invalid values possible")]),e._v(" "),a("li",[e._v("Not obvious to software that the columns are location data unless specific names are used X,Y; Lat,Lon; Latitude,Longitude; and "),a("a",{attrs:{href:"http://doc.arcgis.com/en/arcgis-online/reference/csv-gpx.htm",target:"_blank",rel:"noopener noreferrer"}},[e._v("many other combinations"),a("OutboundLink")],1)]),e._v(" "),a("li",[e._v("Lat, Lon or Lon, Lat - you choose the order")]),e._v(" "),a("li",[e._v("No way to force a pair of coordinates and support missing values.\n"),a("ul",[a("li",[e._v("If you add a required constraint to both, you can’t have a missing location.")]),e._v(" "),a("li",[e._v("If you don’t add required constraint, you could have lat without lon or vice versa.")])])])]),e._v(" "),a("h3",{attrs:{id:"_5-string-and-foreign-key-reference-to-well-known-place-name"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_5-string-and-foreign-key-reference-to-well-known-place-name"}},[e._v("#")]),e._v(" 5. String and Foreign key reference to well-known place-name")]),e._v(" "),a("p",[e._v("All the previous examples assume you know the coordinates of the location. What if you only know the name? You can use a name, of type: "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#string",target:"_blank",rel:"noopener noreferrer"}},[e._v("string"),a("OutboundLink")],1),e._v(", to refer to an another data resource and use the name to determine the coordinates. This data resource is often called a "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Gazetteer",target:"_blank",rel:"noopener noreferrer"}},[e._v("Gazetteer"),a("OutboundLink")],1),e._v(". "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Gazetteer#List_of_gazetteers",target:"_blank",rel:"noopener noreferrer"}},[e._v("Often"),a("OutboundLink")],1),e._v(" a website or API is placed in front of the data so you can provide a name and the location data is returned")]),e._v(" "),a("p",[e._v("A date may be an additional field included in the foreign key relationship.")]),e._v(" "),a("h4",{attrs:{id:"csv-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-5"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("p",[e._v("Offices.csv")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("office-name")]),e._v(" "),a("th",[e._v("town")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby Drop In Centre")]),e._v(" "),a("td",[e._v("Dalby")])])])]),e._v(" "),a("p",[e._v("Gazetteer.csv")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("city-or-town")]),e._v(" "),a("th",[e._v("location")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“lon”:151.2660, “lat”: -27.1944}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-5"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "resources": [\n {\n "name": "office-locations",\n "path": "offices.csv",\n "schema": {\n "fields": [\n {\n "name": "office-name",\n "title": "Office Name",\n "type": "string"\n },\n {\n "name": "town",\n "title": "Town",\n "description": "Town name in gazetteer",\n "type": "string"\n }\n ]\n },\n "foreignKeys": [\n {\n "fields": "town",\n "reference": {\n "resource": "gazetteer",\n "fields": "city-or-town"\n }\n }\n ]\n },\n {\n "name": "gazetteer",\n "description": "External Gazetteer",\n "url": "https://example.com/gazetteer.csv",\n "schema": {\n "fields": [\n {\n "name": "city-or-town",\n "type": "string",\n "constraints": {\n "unique": true,\n "required": true\n }\n },\n {\n "name": "location",\n "type": "geopoint",\n "format": "object"\n }\n ]\n },\n "primaryKey": [\n "city-or-town"\n ]\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("Haven’t come across many Gazetteers in CSV format")])]),e._v(" "),a("h3",{attrs:{id:"_6-use-a-uniform-resource-identifier-to-reference-a-location"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6-use-a-uniform-resource-identifier-to-reference-a-location"}},[e._v("#")]),e._v(" 6. Use a Uniform Resource Identifier to reference a location")]),e._v(" "),a("p",[e._v("Use a type: "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#string",target:"_blank",rel:"noopener noreferrer"}},[e._v("string"),a("OutboundLink")],1),e._v(", format: uri, to provide a link to a resource that includes the geometry.")]),e._v(" "),a("h4",{attrs:{id:"csv-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-6"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("office-name")]),e._v(" "),a("th",[e._v("Location uri")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[a("a",{attrs:{href:"http://nominatim.openstreetmap.org/details.php?place_id=114278",target:"_blank",rel:"noopener noreferrer"}},[e._v("http://nominatim.openstreetmap.org/details.php?place_id=114278"),a("OutboundLink")],1)])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-6"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('"schema": {\n\t"fields": [\n {\n "name": "office-name",\n "type": "string"\n },\n {\n "name": "Location uri",\n "type": "string",\n "format": "uri"\n }\n ]\n }\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-linking-2",target:"_blank",rel:"noopener noreferrer"}},[e._v("Link to Spatial Things from popular repositories"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice.")]),e._v(" "),a("li",[e._v("Things can move over time, consider "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-dataversioning",target:"_blank",rel:"noopener noreferrer"}},[e._v("data versioning"),a("OutboundLink")],1),e._v(", another W3C spatial data on the web best practice.")]),e._v(" "),a("li",[e._v("Is there a way to define the bulk of the uri outside of the column and reduce the column entry to the id? Is this wise or desirable?")])]),e._v(" "),a("h3",{attrs:{id:"_7-geojson"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_7-geojson"}},[e._v("#")]),e._v(" 7. GeoJSON")]),e._v(" "),a("p",[e._v("Use a field of type "),a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/#geojson",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" to represent location")]),e._v(" "),a("h4",{attrs:{id:"csv-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#csv-7"}},[e._v("#")]),e._v(" CSV")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Office")]),e._v(" "),a("th",[e._v("Location")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("Dalby")]),e._v(" "),a("td",[e._v("{“type”:“Point”,“coordinates”:[151.2660,-27.1994]}")])])])]),e._v(" "),a("h4",{attrs:{id:"data-package-fragment-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#data-package-fragment-7"}},[e._v("#")]),e._v(" Data Package fragment")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v('{\n "fields": [\n {\n "name": "Office",\n "type": "string"\n },\n {\n "name": "Location",\n "type": "geojson",\n "format": "default"\n }\n ]\n}\n')])])]),a("p",[e._v("** Thoughts **")]),e._v(" "),a("ul",[a("li",[e._v("Geometry isn’t constrained to a point; it could be a line or polygon.")]),e._v(" "),a("li",[a("a",{attrs:{href:"https://tools.ietf.org/html/rfc7946#page-12",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" only supports the WGS84 coordinate reference system.")]),e._v(" "),a("li",[e._v("The axis order is explicit. "),a("a",{attrs:{href:"https://www.w3.org/TR/sdw-bp/#bp-crs",target:"_blank",rel:"noopener noreferrer"}},[e._v("Stating how coordinate values are encoded"),a("OutboundLink")],1),e._v(" is a W3C spatial data on the web best practice. GeoJSON only supports lon, lat axis order.")])]),e._v(" "),a("h2",{attrs:{id:"related-work"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#related-work"}},[e._v("#")]),e._v(" Related Work")]),e._v(" "),a("h3",{attrs:{id:"frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#frictionless-data"}},[e._v("#")]),e._v(" Frictionless data")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://specs.frictionlessdata.io/table-schema/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Table Schema"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/blog/2016/04/30/publish-geo/"}},[e._v("Publishing Geospatial Data as a Data Package")])],1),e._v(" "),a("li",[a("a",{attrs:{href:"https://research.okfn.org/spatial-data-package-investigation/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spatial Data Package investigation - research and report by Steve Bennett"),a("OutboundLink")],1)])]),e._v(" "),a("h3",{attrs:{id:"world-wide-web-consortium-w3c"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#world-wide-web-consortium-w3c"}},[e._v("#")]),e._v(" World Wide Web Consortium (W3C)")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://www.w3.org/TR/dwbp/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Data on the Web Best Practices"),a("OutboundLink")],1)]),e._v(" "),a("li",[a("a",{attrs:{href:"http://www.w3.org/TR/sdw-bp",target:"_blank",rel:"noopener noreferrer"}},[e._v("Spatial Data on the Web Best Practices"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("These documents advise on best practices related to the publication of data and spatial data on the web.")]),e._v(" "),a("h3",{attrs:{id:"australian-government-csv-geo-au"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#australian-government-csv-geo-au"}},[e._v("#")]),e._v(" Australian Government - CSV GEO AU")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://github.com/TerriaJS/nationalmap/wiki/csv-geo-au",target:"_blank",rel:"noopener noreferrer"}},[e._v("csv-geo-au"),a("OutboundLink")],1),e._v(" is a specification for publishing point or region-mapped Australian geospatial data in CSV format to "),a("a",{attrs:{href:"http://data.gov.au",target:"_blank",rel:"noopener noreferrer"}},[e._v("data.gov.au"),a("OutboundLink")],1),e._v(" and other open data portals.")]),e._v(" "),a("h3",{attrs:{id:"ietf-geojson"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ietf-geojson"}},[e._v("#")]),e._v(" IETF - GeoJSON")]),e._v(" "),a("p",[a("a",{attrs:{href:"https://tools.ietf.org/html/rfc7946",target:"_blank",rel:"noopener noreferrer"}},[e._v("GeoJSON"),a("OutboundLink")],1),e._v(" is a geospatial data interchange format based on JavaScript Object Notation (JSON).")]),e._v(" "),a("h3",{attrs:{id:"ogc-simple-feature-access"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ogc-simple-feature-access"}},[e._v("#")]),e._v(" OGC - Simple Feature Access")]),e._v(" "),a("p",[e._v("The Open Geospatial Consortium - "),a("a",{attrs:{href:"http://www.opengeospatial.org/standards/sfa",target:"_blank",rel:"noopener noreferrer"}},[e._v("OpenGIS Simple Feature Access"),a("OutboundLink")],1),e._v(" is also called ISO 19125. It provides a model for geometric objects associated with a Spatial Reference System.")]),e._v(" "),a("p",[e._v("Recommended reading: We recently commissioned research work to determine how necessary and useful it would be to create a Geo Data Package as a core Frictionless Data offering. Follow the discussions "),a("a",{attrs:{href:"https://discuss.okfn.org/t/geo-data-package/6143",target:"_blank",rel:"noopener noreferrer"}},[e._v("here on Discuss"),a("OutboundLink")],1),e._v(" and read "),a("a",{attrs:{href:"https://research.okfn.org/spatial-data-package-investigation/",target:"_blank",rel:"noopener noreferrer"}},[e._v("the final report into the spatial data package investigation by Steve Bennett"),a("OutboundLink")],1),e._v(". Examples following the recommendations in this research will be added in due course.")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/85.b4892b6b.js b/assets/js/85.0abba798.js similarity index 98% rename from assets/js/85.b4892b6b.js rename to assets/js/85.0abba798.js index 750dcb119..d3182ccce 100644 --- a/assets/js/85.b4892b6b.js +++ b/assets/js/85.0abba798.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{604:function(t,a,e){"use strict";e.r(a);var r=e(29),o=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("You can package any kind of data as a Data Package."),e("br")]),t._v(" "),e("ol",[e("li",[t._v("Get your data together\n"),e("ol",[e("li",[t._v("Get your data together in one folder (you can have data in subfolders of that folder too if you wish).")])])]),t._v(" "),e("li",[t._v("Add a "),e("code",[t._v("datapackage.json")]),t._v(" file to package those data files into a useful whole (with key information like the license, title and format)\n"),e("ol",[e("li",[t._v("The datapackage.json is a small file in JSON format that gives a bit of information about your dataset. You’ll need to create this file and then place it in the directory you created.")]),t._v(" "),e("li",[t._v("Don’t worry if you don’t know what JSON is - we provide some tools that can automatically create your this file for you.")]),t._v(" "),e("li",[t._v("There are 2 options for creating the datapackage.json:\n"),e("ol",[e("li",[t._v("Use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),e("OutboundLink")],1),t._v(") tool\n"),e("ol",[e("li",[t._v("Just answer a few questions and give it your data files and it will spit out a datapackage.json for you to include in your project")])])]),t._v(" "),e("li",[t._v("Use the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("Python"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("JavaScript"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("PHP"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("Julia"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("R"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("Clojure"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("Java"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("Ruby"),e("OutboundLink")],1),t._v(" or "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("Go"),e("OutboundLink")],1),t._v(" libraries for working with data packages.")])])])])])]),t._v(" "),e("p",[t._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our new and comprehensive "),e("a",{attrs:{href:"/tag/field-guide"}},[t._v("Frictionless Data Field Guide")]),t._v(".")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[85],{605:function(t,a,e){"use strict";e.r(a);var r=e(29),o=Object(r.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("p",[t._v("You can package any kind of data as a Data Package."),e("br")]),t._v(" "),e("ol",[e("li",[t._v("Get your data together\n"),e("ol",[e("li",[t._v("Get your data together in one folder (you can have data in subfolders of that folder too if you wish).")])])]),t._v(" "),e("li",[t._v("Add a "),e("code",[t._v("datapackage.json")]),t._v(" file to package those data files into a useful whole (with key information like the license, title and format)\n"),e("ol",[e("li",[t._v("The datapackage.json is a small file in JSON format that gives a bit of information about your dataset. You’ll need to create this file and then place it in the directory you created.")]),t._v(" "),e("li",[t._v("Don’t worry if you don’t know what JSON is - we provide some tools that can automatically create your this file for you.")]),t._v(" "),e("li",[t._v("There are 2 options for creating the datapackage.json:\n"),e("ol",[e("li",[t._v("Use the "),e("a",{attrs:{href:"http://create.frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Data Package Creator"),e("OutboundLink")],1),t._v(") tool\n"),e("ol",[e("li",[t._v("Just answer a few questions and give it your data files and it will spit out a datapackage.json for you to include in your project")])])]),t._v(" "),e("li",[t._v("Use the "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-py",target:"_blank",rel:"noopener noreferrer"}},[t._v("Python"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-js",target:"_blank",rel:"noopener noreferrer"}},[t._v("JavaScript"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-php",target:"_blank",rel:"noopener noreferrer"}},[t._v("PHP"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-jl",target:"_blank",rel:"noopener noreferrer"}},[t._v("Julia"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-r",target:"_blank",rel:"noopener noreferrer"}},[t._v("R"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-clj",target:"_blank",rel:"noopener noreferrer"}},[t._v("Clojure"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-java",target:"_blank",rel:"noopener noreferrer"}},[t._v("Java"),e("OutboundLink")],1),t._v(", "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-rb",target:"_blank",rel:"noopener noreferrer"}},[t._v("Ruby"),e("OutboundLink")],1),t._v(" or "),e("a",{attrs:{href:"https://github.com/frictionlessdata/datapackage-go",target:"_blank",rel:"noopener noreferrer"}},[t._v("Go"),e("OutboundLink")],1),t._v(" libraries for working with data packages.")])])])])])]),t._v(" "),e("p",[t._v("Recommended reading: Find out how to use Frictionless Data software to improve your data publishing workflow in our new and comprehensive "),e("a",{attrs:{href:"/tag/field-guide"}},[t._v("Frictionless Data Field Guide")]),t._v(".")])])}),[],!1,null,null,null);a.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/86.8b13068a.js b/assets/js/86.7226985d.js similarity index 99% rename from assets/js/86.8b13068a.js rename to assets/js/86.7226985d.js index 99a5d8dab..44adc3074 100644 --- a/assets/js/86.8b13068a.js +++ b/assets/js/86.7226985d.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{606:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This section requires knowledge on how to "),a("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/#write-a-table-schema"}},[e._v("write a Table Schema")]),e._v(" and "),a("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/#add-your-dataset-s-metadata"}},[e._v("attach descriptive metadata")]),e._v(" to your data collection.")],1),e._v(" "),a("p",[e._v("Creating and Sharing Data Packages is important for both data publishers and data users because it provides a common and open specification to describe your dataset’s metadata. This facilitates data reuse, as users don’t need to understand each data publisher’s specific metadata format, and as the specification is machine-readable, it also allows tools to parse the metadata. This enables software to:")]),e._v(" "),a("ul",[a("li",[e._v("Import the data packages into different tools and languages, like Python and R")]),e._v(" "),a("li",[e._v("Validate the data contents according to the schema described in the data package")]),e._v(" "),a("li",[e._v("Convert the data package into other formats, for example loading it into a SQL database for further analysis")])]),e._v(" "),a("p",[e._v("Although these reasons are not unique to publishing data as data packages, here’s why we think data publishers should consider publishing in this format:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Archiving data collections using data packages ensure data publishers can update data more efficiently at any time. The associated schema is a guide on existing data fields and acceptable data types for individual tabular data resources and can be easily built upon.")])]),e._v(" "),a("li",[a("p",[e._v("Sharing data with descriptive metadata and its associated schema provides context for your data no matter where it is used, and significantly cuts down on time spent researching data provenance before using acquired data.")])]),e._v(" "),a("li",[a("p",[e._v("Data Packages allow for accountability and enrich the feedback process as data publishers can add metadata with contact information for users to reach out to them and licensing to spell out accepted use of published data.")])])]),e._v(" "),a("p",[e._v("If don’t need your own data portal, there are many platforms where you can publish your data (if you need your own, check "),a("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),a("OutboundLink")],1),e._v("). In the section below, we dive into a few options. Read along and decide what option is most suitable:")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-in-our-community-ckan-instance"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-in-our-community-ckan-instance"}},[e._v("#")]),e._v(" Publish Packaged Data in our community CKAN instance")]),e._v(" "),a("p",[e._v("CKAN is an open source platform for publishing data that makes it easy to discover, use and share data. "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is a public instance of CKAN that allows anyone to publish their data.")]),e._v(" "),a("p",[e._v("Here’s why you should consider creating an organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" and publishing datasets therein:")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://datahub.ckan.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is free for all to use! The file upload size limit on the platform is currently 100mb.")]),e._v(" "),a("li",[e._v("The decision on whether to publicly or privately publish datasets rests with data publishers.")]),e._v(" "),a("li",[a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" organizations allow for multiple users to collaborate with varied privileges:")]),e._v(" "),a("li",[a("strong",[e._v("Admin")]),e._v(": Can add/edit and delete datasets, as well as manage organization members.")]),e._v(" "),a("li",[a("strong",[e._v("Editor")]),e._v(": Can add and edit datasets, but not manage organization members.")]),e._v(" "),a("li",[a("strong",[e._v("Member")]),e._v(": Can view the organization’s private datasets, but not add new datasets.")])]),e._v(" "),a("p",[e._v("To publish data on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(":")]),e._v(" "),a("ol",[a("li",[a("p",[e._v("Request for a new Organization to be created on the platform for you via "),a("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[e._v("our community page"),a("OutboundLink")],1),e._v("."),a("br"),e._v("\nThis is required only to ensure spammers don’t take up space and hog resources on the platform.")]),e._v(" "),a("p",[e._v("The request format is simple and requires:")]),e._v(" "),a("ul",[a("li",[a("p",[a("strong",[e._v("Title")]),e._v(": This will be the name of your Organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" i.e."),a("br"),a("br"),e._v(" "),a("em",[e._v("My New Organization")])])]),e._v(" "),a("li",[a("p",[a("strong",[e._v("Slug")]),e._v(": This is an acronym, word or hyphenated phrase that will be added to the end of the "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" url to uniquely identify your Organization and associate your data collections with it i.e."),a("br"),a("br"),e._v(" "),a("em",[e._v("my-new-organization")])])]),e._v(" "),a("li",[a("p",[a("strong",[e._v("Username")]),e._v(": The username you provide is associated with an email address on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" and allows us to give you admin access to your Organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(".")])])])]),e._v(" "),a("li",[a("p",[e._v("Log In and add new datasets")])])]),e._v(" "),a("p",[e._v("Adding datasets on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is no different from using any other CKAN platform, but "),a("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s a good guide by Dan Fowler"),a("OutboundLink")],1),e._v(" for first timers.")]),e._v(" "),a("p",[e._v("3.Publish and share public datasets widely.")]),e._v(" "),a("p",[e._v("On "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(", you can either publish datasets privately, meaning only members of your organization have access to them, or publicly, as open data. "),a("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Find out more"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-on-datahub-io"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-datahub-io"}},[e._v("#")]),e._v(" Publish Packaged Data on "),a("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)]),e._v(" "),a("p",[a("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(" is a platform for finding, sharing and publishing high quality data online.")]),e._v(" "),a("p",[a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" share the same name for historical reasons. "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datahub.ckan.io"),a("OutboundLink")],1),e._v(" used to be the DataHub, but was moved to its current address, and the current DataHub uses new software developed from scratch.")]),e._v(" "),a("ol",[a("li",[e._v("Set up a data publisher / user account on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("Join the "),a("a",{attrs:{href:"https://gitter.im/datahubio/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.io community group"),a("OutboundLink")],1),e._v(", introduce yourself and request for an account.")]),e._v(" "),a("ol",{attrs:{start:"2"}},[a("li",[e._v("Publish Datasets on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)])]),e._v(" "),a("p",[a("a",{attrs:{href:"http://datahub.io/docs/getting-started/publishing-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("This post"),a("OutboundLink")],1),e._v(" provides helpful information on publishing datasets on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-on-github"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-github"}},[e._v("#")]),e._v(" Publish Packaged Data on GitHub")]),e._v(" "),a("p",[e._v("GitHub is the largest repository of source code, with "),a("a",{attrs:{href:"https://github.com/blog/2345-celebrating-nine-years-of-github-with-an-anniversary-sale",target:"_blank",rel:"noopener noreferrer"}},[e._v("more than 20 million"),a("br"),e._v("\nusers"),a("OutboundLink")],1),e._v(". Although the focus is on hosting source code, any type of file can be hosted. Documents, thesis, images, shapefiles, you can even host an entire static website with "),a("a",{attrs:{href:"https://pages.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Pages"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("By using GitHub, you get all the advantages of using a version control system as Git, where every modification to your files is tracked. You also get an issue ticketing system, wiki pages, milestones tracking, and other useful"),a("br"),e._v("\ncollaboration tools.")]),e._v(" "),a("p",[e._v("** What types of datasets can be hosted on GitHub?**")]),e._v(" "),a("p",[e._v("Although GitHub offers many useful functionalities, not all datasets are a good fit for it. The main limitations are:")]),e._v(" "),a("ul",[a("li",[e._v("Individual files have less than 100 MB")]),e._v(" "),a("li",[e._v("Entire repository have less than 1 GB\n"),a("ul",[a("li",[e._v("The repository size includes not only the current files, but all of their previous versions.")])])])]),e._v(" "),a("p",[e._v("You can store larger files using "),a("a",{attrs:{href:"https://git-lfs.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git-lfs"),a("OutboundLink")],1),e._v(", but we won’t go in details about it on this post.")]),e._v(" "),a("p",[e._v("It’s also useful if your data files use text-based file formats like CSV or GeoJSON, as then git is able to show you exactly what changed between two versions of the files. However, even if you use binary file formats like XLS, GitHub is still useful.")]),e._v(" "),a("p",[e._v("** Step 1. Organise your dataset folder structure **")]),e._v(" "),a("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),a("ul",[a("li",[a("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),a("li",[a("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),a("li",[a("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),a("li",[a("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),a("p",[e._v("Even though we’ll see an example that has all of these different types of files, this isn’t always the case. For example, datasets that were manually collected might not have any scripts.")]),e._v(" "),a("p",[e._v("This is the final structure:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("data/\n schools.csv\n cities.csv\ndocs/\n screenshot.png\nscripts/\n clean_data.py\nMakefile\ndatapackage.json\nREADME.md\n")])])]),a("ul",[a("li",[a("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there are two: "),a("code",[e._v("data/schools.csv")]),e._v(" and "),a("code",[e._v("data/cities.csv")]),e._v(".")]),e._v(" "),a("li",[a("strong",[e._v("docs/")]),e._v(": Images, sample analysis, and other documentation files regarding the dataset. The main documentation is in "),a("code",[e._v("README.md")]),e._v(", but in this folder you can add any images used in the README, and other writings about the dataset.")]),e._v(" "),a("li",[a("strong",[e._v("scripts/")]),e._v(": All scripts are contained in this folder. There could be scripts to scrape the data, join different files, clean them, etc. Depending on the programming language you use, you might also add requirements files like "),a("code",[e._v("requirements.txt")]),e._v(" for Python, or "),a("code",[e._v("package.json")]),e._v(" for NodeJS.")]),e._v(" "),a("li",[a("strong",[e._v("Makefile")]),e._v(": The scripts are only part of the puzzle, we also need to know how to run them. In which order they should be executed, which one should I run to update the data, and so on. You could document this information textually in the "),a("code",[e._v("README.md")]),e._v(" file, but the "),a("code",[e._v("Makefile")]),e._v(" allows you to have executable documentation. You can think of it as a script to run the scripts. If you have never written a Makefile, read "),a("a",{attrs:{href:"https://bost.ocks.org/mike/make/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Why Use Make"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("li",[a("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files. See HOW TO CREATE A DATA PACKAGE on instructions on writing this file.")]),e._v(" "),a("li",[a("strong",[a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1)]),e._v(": This is where the dataset is described for humans. We recommend the following sections:\n"),a("ul",[a("li",[a("strong",[e._v("Introduction")]),e._v(": A short description of the dataset, what it contains, the time or geographical area it covers")]),e._v(" "),a("li",[a("strong",[e._v("Data")]),e._v(": What the data structure? Does it use any codes? How do you define missing values (e.g. ‘N/A’ or ‘-1’)")]),e._v(" "),a("li",[a("strong",[e._v("Preparation")]),e._v(": How was the data collected? How do I update the data? Was it modified in any way? If you have a "),a("code",[e._v("Makefile")]),e._v(", this section will mostly document how to run it. Otherwise you can describe how to run the scripts, or how to collect the data manually.")]),e._v(" "),a("li",[a("strong",[e._v("License")]),e._v(": There are two issues here: the license of the data itself, and the license of the package you are creating (including any scripts). Our recommendation is to license the package you created as "),a("a",{attrs:{href:"https://creativecommons.org/publicdomain/zero/1.0/",title:"Creative Commons Public Domain Dedication",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC0"),a("OutboundLink")],1),e._v(", and add any relevant information or disclaimers regarding the source data’s license.")])])])]),e._v(" "),a("p",[e._v("To summarize, these are the folders, files, and their respective contents in this structure:")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Path")]),e._v(" "),a("th",[e._v("Type")]),e._v(" "),a("th",[e._v("Contents")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("data/")]),e._v(" "),a("td",[e._v("Data")]),e._v(" "),a("td",[e._v("Dataset’s data files.")])]),e._v(" "),a("tr",[a("td",[e._v("docs/")]),e._v(" "),a("td",[e._v("Documentation")]),e._v(" "),a("td",[e._v("Images, analysis, and other documentation files.")])]),e._v(" "),a("tr",[a("td",[e._v("scripts/")]),e._v(" "),a("td",[e._v("Scripts")]),e._v(" "),a("td",[e._v("Scripts used for creating, modifying, or analysing the dataset.")])]),e._v(" "),a("tr",[a("td",[e._v("Makefile")]),e._v(" "),a("td",[e._v("Scripts")]),e._v(" "),a("td",[e._v("Executable documentation on how to run the scripts.")])]),e._v(" "),a("tr",[a("td",[e._v("datapackage.json")]),e._v(" "),a("td",[e._v("Metadata")]),e._v(" "),a("td",[e._v("Data Package descriptor file.")])]),e._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1)]),e._v(" "),a("td",[e._v("Documentation")]),e._v(" "),a("td",[e._v("Textual description of the dataset with description, preparation steps, license, etc.")])])])]),e._v(" "),a("p",[e._v("** Step 2. Upload the dataset to GitHub **")]),e._v(" "),a("ol",[a("li",[e._v("Login (or create) a new account on GitHub")]),e._v(" "),a("li",[e._v("Create "),a("a",{attrs:{href:"https://github.com/new",title:"GitHub New Repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("a new repository"),a("OutboundLink")],1),e._v(" "),a("ul",[a("li",[e._v("Write a short description about the dataset")])])]),e._v(" "),a("li",[e._v("On your repository page, click on the “Upload files” link")]),e._v(" "),a("li",[e._v("Upload the files you created in the previous step\n"),a("ul",[a("li",[e._v("If your have files larger than 25 MB, you’ll need to either "),a("a",{attrs:{href:"https://help.github.com/articles/adding-a-file-to-a-repository-using-the-command-line/",title:"Adding a file to a repository using the command line",target:"_blank",rel:"noopener noreferrer"}},[e._v("upload using the command line"),a("OutboundLink")],1),e._v(", or the "),a("a",{attrs:{href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Desktop client"),a("OutboundLink")],1),e._v(".")])])])]),e._v(" "),a("p",[e._v("** (Optional) Step 3. Enable automatic tabular data validation **")]),e._v(" "),a("p",[e._v("You can automatically validate your tabular data files using "),a("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),a("OutboundLink")],1),e._v(". This will take only a few minutes, and will ensure you’ll always know when there are errors with your dataset, maintaining its quality. "),a("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[e._v("Read the walkthrough here")]),e._v(".")]),e._v(" "),a("p",[e._v("The sample datasets used in this example, that is, List of schools in Birmingham, UK are available "),a("a",{attrs:{href:"https://github.com/vitorbaptista/birmingham_schools",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this repository"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[86],{607:function(e,t,a){"use strict";a.r(t);var o=a(29),r=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This section requires knowledge on how to "),a("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/#write-a-table-schema"}},[e._v("write a Table Schema")]),e._v(" and "),a("RouterLink",{attrs:{to:"/blog/2018/03/07/well-packaged-datasets/#add-your-dataset-s-metadata"}},[e._v("attach descriptive metadata")]),e._v(" to your data collection.")],1),e._v(" "),a("p",[e._v("Creating and Sharing Data Packages is important for both data publishers and data users because it provides a common and open specification to describe your dataset’s metadata. This facilitates data reuse, as users don’t need to understand each data publisher’s specific metadata format, and as the specification is machine-readable, it also allows tools to parse the metadata. This enables software to:")]),e._v(" "),a("ul",[a("li",[e._v("Import the data packages into different tools and languages, like Python and R")]),e._v(" "),a("li",[e._v("Validate the data contents according to the schema described in the data package")]),e._v(" "),a("li",[e._v("Convert the data package into other formats, for example loading it into a SQL database for further analysis")])]),e._v(" "),a("p",[e._v("Although these reasons are not unique to publishing data as data packages, here’s why we think data publishers should consider publishing in this format:")]),e._v(" "),a("ul",[a("li",[a("p",[e._v("Archiving data collections using data packages ensure data publishers can update data more efficiently at any time. The associated schema is a guide on existing data fields and acceptable data types for individual tabular data resources and can be easily built upon.")])]),e._v(" "),a("li",[a("p",[e._v("Sharing data with descriptive metadata and its associated schema provides context for your data no matter where it is used, and significantly cuts down on time spent researching data provenance before using acquired data.")])]),e._v(" "),a("li",[a("p",[e._v("Data Packages allow for accountability and enrich the feedback process as data publishers can add metadata with contact information for users to reach out to them and licensing to spell out accepted use of published data.")])])]),e._v(" "),a("p",[e._v("If don’t need your own data portal, there are many platforms where you can publish your data (if you need your own, check "),a("a",{attrs:{href:"https://ckan.org/",target:"_blank",rel:"noopener noreferrer"}},[e._v("CKAN"),a("OutboundLink")],1),e._v("). In the section below, we dive into a few options. Read along and decide what option is most suitable:")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-in-our-community-ckan-instance"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-in-our-community-ckan-instance"}},[e._v("#")]),e._v(" Publish Packaged Data in our community CKAN instance")]),e._v(" "),a("p",[e._v("CKAN is an open source platform for publishing data that makes it easy to discover, use and share data. "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is a public instance of CKAN that allows anyone to publish their data.")]),e._v(" "),a("p",[e._v("Here’s why you should consider creating an organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" and publishing datasets therein:")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://datahub.ckan.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is free for all to use! The file upload size limit on the platform is currently 100mb.")]),e._v(" "),a("li",[e._v("The decision on whether to publicly or privately publish datasets rests with data publishers.")]),e._v(" "),a("li",[a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" organizations allow for multiple users to collaborate with varied privileges:")]),e._v(" "),a("li",[a("strong",[e._v("Admin")]),e._v(": Can add/edit and delete datasets, as well as manage organization members.")]),e._v(" "),a("li",[a("strong",[e._v("Editor")]),e._v(": Can add and edit datasets, but not manage organization members.")]),e._v(" "),a("li",[a("strong",[e._v("Member")]),e._v(": Can view the organization’s private datasets, but not add new datasets.")])]),e._v(" "),a("p",[e._v("To publish data on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(":")]),e._v(" "),a("ol",[a("li",[a("p",[e._v("Request for a new Organization to be created on the platform for you via "),a("a",{attrs:{href:"https://discuss.okfn.org/c/open-knowledge-labs/datahub",target:"_blank",rel:"noopener noreferrer"}},[e._v("our community page"),a("OutboundLink")],1),e._v("."),a("br"),e._v("\nThis is required only to ensure spammers don’t take up space and hog resources on the platform.")]),e._v(" "),a("p",[e._v("The request format is simple and requires:")]),e._v(" "),a("ul",[a("li",[a("p",[a("strong",[e._v("Title")]),e._v(": This will be the name of your Organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" i.e."),a("br"),a("br"),e._v(" "),a("em",[e._v("My New Organization")])])]),e._v(" "),a("li",[a("p",[a("strong",[e._v("Slug")]),e._v(": This is an acronym, word or hyphenated phrase that will be added to the end of the "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" url to uniquely identify your Organization and associate your data collections with it i.e."),a("br"),a("br"),e._v(" "),a("em",[e._v("my-new-organization")])])]),e._v(" "),a("li",[a("p",[a("strong",[e._v("Username")]),e._v(": The username you provide is associated with an email address on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" and allows us to give you admin access to your Organization on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(".")])])])]),e._v(" "),a("li",[a("p",[e._v("Log In and add new datasets")])])]),e._v(" "),a("p",[e._v("Adding datasets on "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" is no different from using any other CKAN platform, but "),a("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("here’s a good guide by Dan Fowler"),a("OutboundLink")],1),e._v(" for first timers.")]),e._v(" "),a("p",[e._v("3.Publish and share public datasets widely.")]),e._v(" "),a("p",[e._v("On "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(", you can either publish datasets privately, meaning only members of your organization have access to them, or publicly, as open data. "),a("a",{attrs:{href:"http://okfnlabs.org/blog/2016/07/25/publish-data-packages-to-datahub-ckan.html",target:"_blank",rel:"noopener noreferrer"}},[e._v("Find out more"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-on-datahub-io"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-datahub-io"}},[e._v("#")]),e._v(" Publish Packaged Data on "),a("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)]),e._v(" "),a("p",[a("a",{attrs:{href:"http://DataHub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(" is a platform for finding, sharing and publishing high quality data online.")]),e._v(" "),a("p",[a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(" and "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.ckan.io"),a("OutboundLink")],1),e._v(" share the same name for historical reasons. "),a("a",{attrs:{href:"http://datahub.ckan.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("Datahub.ckan.io"),a("OutboundLink")],1),e._v(" used to be the DataHub, but was moved to its current address, and the current DataHub uses new software developed from scratch.")]),e._v(" "),a("ol",[a("li",[e._v("Set up a data publisher / user account on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)])]),e._v(" "),a("p",[e._v("Join the "),a("a",{attrs:{href:"https://gitter.im/datahubio/chat",target:"_blank",rel:"noopener noreferrer"}},[e._v("datahub.io community group"),a("OutboundLink")],1),e._v(", introduce yourself and request for an account.")]),e._v(" "),a("ol",{attrs:{start:"2"}},[a("li",[e._v("Publish Datasets on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1)])]),e._v(" "),a("p",[a("a",{attrs:{href:"http://datahub.io/docs/getting-started/publishing-data",target:"_blank",rel:"noopener noreferrer"}},[e._v("This post"),a("OutboundLink")],1),e._v(" provides helpful information on publishing datasets on "),a("a",{attrs:{href:"http://datahub.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("DataHub.io"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("h2",{attrs:{id:"publish-packaged-data-on-github"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#publish-packaged-data-on-github"}},[e._v("#")]),e._v(" Publish Packaged Data on GitHub")]),e._v(" "),a("p",[e._v("GitHub is the largest repository of source code, with "),a("a",{attrs:{href:"https://github.com/blog/2345-celebrating-nine-years-of-github-with-an-anniversary-sale",target:"_blank",rel:"noopener noreferrer"}},[e._v("more than 20 million"),a("br"),e._v("\nusers"),a("OutboundLink")],1),e._v(". Although the focus is on hosting source code, any type of file can be hosted. Documents, thesis, images, shapefiles, you can even host an entire static website with "),a("a",{attrs:{href:"https://pages.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Pages"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("p",[e._v("By using GitHub, you get all the advantages of using a version control system as Git, where every modification to your files is tracked. You also get an issue ticketing system, wiki pages, milestones tracking, and other useful"),a("br"),e._v("\ncollaboration tools.")]),e._v(" "),a("p",[e._v("** What types of datasets can be hosted on GitHub?**")]),e._v(" "),a("p",[e._v("Although GitHub offers many useful functionalities, not all datasets are a good fit for it. The main limitations are:")]),e._v(" "),a("ul",[a("li",[e._v("Individual files have less than 100 MB")]),e._v(" "),a("li",[e._v("Entire repository have less than 1 GB\n"),a("ul",[a("li",[e._v("The repository size includes not only the current files, but all of their previous versions.")])])])]),e._v(" "),a("p",[e._v("You can store larger files using "),a("a",{attrs:{href:"https://git-lfs.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("git-lfs"),a("OutboundLink")],1),e._v(", but we won’t go in details about it on this post.")]),e._v(" "),a("p",[e._v("It’s also useful if your data files use text-based file formats like CSV or GeoJSON, as then git is able to show you exactly what changed between two versions of the files. However, even if you use binary file formats like XLS, GitHub is still useful.")]),e._v(" "),a("p",[e._v("** Step 1. Organise your dataset folder structure **")]),e._v(" "),a("p",[e._v("The way to structure your dataset depends on your data, and what extra artifacts it contains (e.g. images, scripts, reports, etc.). In this section, we’ll show a complete example with:")]),e._v(" "),a("ul",[a("li",[a("strong",[e._v("Data files")]),e._v(": The files with the actual data (e.g. CSV, XLS, GeoJSON, …)")]),e._v(" "),a("li",[a("strong",[e._v("Documentation")]),e._v(": How was the data collected, any caveats, how to update it, etc.")]),e._v(" "),a("li",[a("strong",[e._v("Metadata")]),e._v(": Where the data comes from, what’s in the files, what’s their source and license, etc.")]),e._v(" "),a("li",[a("strong",[e._v("Scripts")]),e._v(": Software scripts that were used to generate, update, or modify the data.")])]),e._v(" "),a("p",[e._v("Even though we’ll see an example that has all of these different types of files, this isn’t always the case. For example, datasets that were manually collected might not have any scripts.")]),e._v(" "),a("p",[e._v("This is the final structure:")]),e._v(" "),a("div",{staticClass:"language- extra-class"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[e._v("data/\n schools.csv\n cities.csv\ndocs/\n screenshot.png\nscripts/\n clean_data.py\nMakefile\ndatapackage.json\nREADME.md\n")])])]),a("ul",[a("li",[a("strong",[e._v("data/")]),e._v(": All data files are contained in this folder. In our example, there are two: "),a("code",[e._v("data/schools.csv")]),e._v(" and "),a("code",[e._v("data/cities.csv")]),e._v(".")]),e._v(" "),a("li",[a("strong",[e._v("docs/")]),e._v(": Images, sample analysis, and other documentation files regarding the dataset. The main documentation is in "),a("code",[e._v("README.md")]),e._v(", but in this folder you can add any images used in the README, and other writings about the dataset.")]),e._v(" "),a("li",[a("strong",[e._v("scripts/")]),e._v(": All scripts are contained in this folder. There could be scripts to scrape the data, join different files, clean them, etc. Depending on the programming language you use, you might also add requirements files like "),a("code",[e._v("requirements.txt")]),e._v(" for Python, or "),a("code",[e._v("package.json")]),e._v(" for NodeJS.")]),e._v(" "),a("li",[a("strong",[e._v("Makefile")]),e._v(": The scripts are only part of the puzzle, we also need to know how to run them. In which order they should be executed, which one should I run to update the data, and so on. You could document this information textually in the "),a("code",[e._v("README.md")]),e._v(" file, but the "),a("code",[e._v("Makefile")]),e._v(" allows you to have executable documentation. You can think of it as a script to run the scripts. If you have never written a Makefile, read "),a("a",{attrs:{href:"https://bost.ocks.org/mike/make/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Why Use Make"),a("OutboundLink")],1),e._v(".")]),e._v(" "),a("li",[a("strong",[e._v("datapackage.json")]),e._v(": This file describes the dataset’s metadata. For example, what is the dataset, where are its files, what they contain, what each column means (for tabular data), what’s the source, license, and authors, and so on. As it’s a machine-readable specification, other software can import and validate your files. See HOW TO CREATE A DATA PACKAGE on instructions on writing this file.")]),e._v(" "),a("li",[a("strong",[a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1)]),e._v(": This is where the dataset is described for humans. We recommend the following sections:\n"),a("ul",[a("li",[a("strong",[e._v("Introduction")]),e._v(": A short description of the dataset, what it contains, the time or geographical area it covers")]),e._v(" "),a("li",[a("strong",[e._v("Data")]),e._v(": What the data structure? Does it use any codes? How do you define missing values (e.g. ‘N/A’ or ‘-1’)")]),e._v(" "),a("li",[a("strong",[e._v("Preparation")]),e._v(": How was the data collected? How do I update the data? Was it modified in any way? If you have a "),a("code",[e._v("Makefile")]),e._v(", this section will mostly document how to run it. Otherwise you can describe how to run the scripts, or how to collect the data manually.")]),e._v(" "),a("li",[a("strong",[e._v("License")]),e._v(": There are two issues here: the license of the data itself, and the license of the package you are creating (including any scripts). Our recommendation is to license the package you created as "),a("a",{attrs:{href:"https://creativecommons.org/publicdomain/zero/1.0/",title:"Creative Commons Public Domain Dedication",target:"_blank",rel:"noopener noreferrer"}},[e._v("CC0"),a("OutboundLink")],1),e._v(", and add any relevant information or disclaimers regarding the source data’s license.")])])])]),e._v(" "),a("p",[e._v("To summarize, these are the folders, files, and their respective contents in this structure:")]),e._v(" "),a("table",[a("thead",[a("tr",[a("th",[e._v("Path")]),e._v(" "),a("th",[e._v("Type")]),e._v(" "),a("th",[e._v("Contents")])])]),e._v(" "),a("tbody",[a("tr",[a("td",[e._v("data/")]),e._v(" "),a("td",[e._v("Data")]),e._v(" "),a("td",[e._v("Dataset’s data files.")])]),e._v(" "),a("tr",[a("td",[e._v("docs/")]),e._v(" "),a("td",[e._v("Documentation")]),e._v(" "),a("td",[e._v("Images, analysis, and other documentation files.")])]),e._v(" "),a("tr",[a("td",[e._v("scripts/")]),e._v(" "),a("td",[e._v("Scripts")]),e._v(" "),a("td",[e._v("Scripts used for creating, modifying, or analysing the dataset.")])]),e._v(" "),a("tr",[a("td",[e._v("Makefile")]),e._v(" "),a("td",[e._v("Scripts")]),e._v(" "),a("td",[e._v("Executable documentation on how to run the scripts.")])]),e._v(" "),a("tr",[a("td",[e._v("datapackage.json")]),e._v(" "),a("td",[e._v("Metadata")]),e._v(" "),a("td",[e._v("Data Package descriptor file.")])]),e._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"http://README.md",target:"_blank",rel:"noopener noreferrer"}},[e._v("README.md"),a("OutboundLink")],1)]),e._v(" "),a("td",[e._v("Documentation")]),e._v(" "),a("td",[e._v("Textual description of the dataset with description, preparation steps, license, etc.")])])])]),e._v(" "),a("p",[e._v("** Step 2. Upload the dataset to GitHub **")]),e._v(" "),a("ol",[a("li",[e._v("Login (or create) a new account on GitHub")]),e._v(" "),a("li",[e._v("Create "),a("a",{attrs:{href:"https://github.com/new",title:"GitHub New Repository",target:"_blank",rel:"noopener noreferrer"}},[e._v("a new repository"),a("OutboundLink")],1),e._v(" "),a("ul",[a("li",[e._v("Write a short description about the dataset")])])]),e._v(" "),a("li",[e._v("On your repository page, click on the “Upload files” link")]),e._v(" "),a("li",[e._v("Upload the files you created in the previous step\n"),a("ul",[a("li",[e._v("If your have files larger than 25 MB, you’ll need to either "),a("a",{attrs:{href:"https://help.github.com/articles/adding-a-file-to-a-repository-using-the-command-line/",title:"Adding a file to a repository using the command line",target:"_blank",rel:"noopener noreferrer"}},[e._v("upload using the command line"),a("OutboundLink")],1),e._v(", or the "),a("a",{attrs:{href:"https://desktop.github.com/",target:"_blank",rel:"noopener noreferrer"}},[e._v("GitHub Desktop client"),a("OutboundLink")],1),e._v(".")])])])]),e._v(" "),a("p",[e._v("** (Optional) Step 3. Enable automatic tabular data validation **")]),e._v(" "),a("p",[e._v("You can automatically validate your tabular data files using "),a("a",{attrs:{href:"https://goodtables.io",target:"_blank",rel:"noopener noreferrer"}},[e._v("goodtables.io"),a("OutboundLink")],1),e._v(". This will take only a few minutes, and will ensure you’ll always know when there are errors with your dataset, maintaining its quality. "),a("a",{attrs:{href:"/blog/2018/03/12/automatically-validated-tabular-data"}},[e._v("Read the walkthrough here")]),e._v(".")]),e._v(" "),a("p",[e._v("The sample datasets used in this example, that is, List of schools in Birmingham, UK are available "),a("a",{attrs:{href:"https://github.com/vitorbaptista/birmingham_schools",target:"_blank",rel:"noopener noreferrer"}},[e._v("in this repository"),a("OutboundLink")],1),e._v(".")])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/88.993fe8bc.js b/assets/js/88.35b64325.js similarity index 98% rename from assets/js/88.993fe8bc.js rename to assets/js/88.35b64325.js index 94e53240b..71437fb85 100644 --- a/assets/js/88.993fe8bc.js +++ b/assets/js/88.35b64325.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{611:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Stephan Max for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("h3",{attrs:{id:"meet-stephan-max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#meet-stephan-max"}},[e._v("#")]),e._v(" Meet Stephan Max")]),e._v(" "),a("p",[e._v("Hi, my name is Stephan Max and I am a computer scientist based in Cologne, Germany. I’ve been in the industry for over 10 years now and worked for all kinds of companies, ranging from own startup (crowd-funded online journalism), over big corporate (IBM), to established African business data startup (Asoko Insight). I am now a filter engineer at eyeo trying to make the web a fair, open, and safe place for everybody.")]),e._v(" "),a("p",[e._v("I love working with kids and teenagers, cooking, and doing music—I just recently started drum lessons!")]),e._v(" "),a("h3",{attrs:{id:"how-did-you-first-hear-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-did-you-first-hear-about-frictionless-data"}},[e._v("#")]),e._v(" How did you first hear about Frictionless Data?")]),e._v(" "),a("p",[e._v("I’ve been following the work of the Open Knowledge Foundation for a while now and contributed to the German branch as a mentor for the teenage hackathon weekends project “Jugend Hackt” (Youth Hacks). I first heard about the Frictionless Data program when the OKF announced funding by the Sloan Foundation in 2018. After watching Serah Njambi Rono’s talk on Youtube ("),a("a",{attrs:{href:"https://www.youtube.com/watch?v=3Ranx9Jz0Ro",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.youtube.com/watch?v=3Ranx9Jz0Ro"),a("OutboundLink")],1),e._v(") and reading about the Reproducible Research Tool Fund on Twitter, I knew I wanted to contribute.")]),e._v(" "),a("h3",{attrs:{id:"why-did-you-apply-for-a-tool-fund-grant"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-did-you-apply-for-a-tool-fund-grant"}},[e._v("#")]),e._v(" Why did you apply for a Tool Fund grant?")]),e._v(" "),a("p",[e._v("I first heard about the concepts and challenges around Reproducible Research when taking the MOOC “Data Science” from Johns Hopkins University on Coursera. Since I had my fair share of work inside proprietary data formats and tools, I was happy to see that there are people out there making serious efforts to remedy the loss of attribution and data manipulation steps. After browsing through OKF’s Frictionless Data website, I was even happier that there are actual tools, libraries, and standards already available. Applying for the tool fund and contributing my own humble idea was a no-brainer for me.")]),e._v(" "),a("h3",{attrs:{id:"what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[e._v("#")]),e._v(" What specific issues are you looking to address with the Tool Fund?")]),e._v(" "),a("p",[e._v("My goal is to add a Data Package import/export add-on to Google Sheets. I understand that a lot of data wrangling is still done in Sheets, Excel, and files being swapped around. A lot of information is lost that way. Where did the data initially come from? How was it manipulated, cleaned, or otherwise altered? How can we feed spreadsheets back into a Reproducible Research pipeline? I think Data Packages is a brilliant format to model and preserve exactly that information. While I do not want to lure people away from the tools they are already familiar with, I think we can bridge the gap between Google Sheets and Frictionless Data by making Data Packages a first-class citizen.")]),e._v(" "),a("h3",{attrs:{id:"how-can-the-open-data-open-source-community-engage-with-the-work-you-are-doing-around-frictionless-data-google-sheets-add-on"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-the-open-data-open-source-community-engage-with-the-work-you-are-doing-around-frictionless-data-google-sheets-add-on"}},[e._v("#")]),e._v(" How can the open data, open source, community engage with the work you are doing around Frictionless Data Google Sheets add-on?")]),e._v(" "),a("p",[e._v("I think open source and data is a unique and wonderful opportunity to get access to the “wisdom of the crowd” and ensure that software and information is and remains accessible to everyone. In the first few weeks I will focus on getting a first prototype and sufficient documentation up, so you can all play with the Data Package import/export add-on as soon as possible. After that, I invite you to take a look at our Github repository ("),a("a",{attrs:{href:"https://github.com/frictionlessdata/googlesheets-datapackage-tools",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/googlesheets-datapackage-tools"),a("OutboundLink")],1),e._v("), play around with the tool, and contribute. Raising an issue, opening a pull request, improving the documentation, giving feedback on the user experience—everything counts! I am so stoked to be part of this Frictionless Data journey and can’t wait to see what we will accomplish. Thank you very much in advance!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[88],{610:function(e,t,a){"use strict";a.r(t);var o=a(29),n=Object(o.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("p",[e._v("This grantee profile features Stephan Max for our series of Frictionless Data Tool Fund posts, written to shine a light on Frictionless Data’s Tool Fund grantees, their work and to let our technical community know how they can get involved.")]),e._v(" "),a("h3",{attrs:{id:"meet-stephan-max"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#meet-stephan-max"}},[e._v("#")]),e._v(" Meet Stephan Max")]),e._v(" "),a("p",[e._v("Hi, my name is Stephan Max and I am a computer scientist based in Cologne, Germany. I’ve been in the industry for over 10 years now and worked for all kinds of companies, ranging from own startup (crowd-funded online journalism), over big corporate (IBM), to established African business data startup (Asoko Insight). I am now a filter engineer at eyeo trying to make the web a fair, open, and safe place for everybody.")]),e._v(" "),a("p",[e._v("I love working with kids and teenagers, cooking, and doing music—I just recently started drum lessons!")]),e._v(" "),a("h3",{attrs:{id:"how-did-you-first-hear-about-frictionless-data"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-did-you-first-hear-about-frictionless-data"}},[e._v("#")]),e._v(" How did you first hear about Frictionless Data?")]),e._v(" "),a("p",[e._v("I’ve been following the work of the Open Knowledge Foundation for a while now and contributed to the German branch as a mentor for the teenage hackathon weekends project “Jugend Hackt” (Youth Hacks). I first heard about the Frictionless Data program when the OKF announced funding by the Sloan Foundation in 2018. After watching Serah Njambi Rono’s talk on Youtube ("),a("a",{attrs:{href:"https://www.youtube.com/watch?v=3Ranx9Jz0Ro",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://www.youtube.com/watch?v=3Ranx9Jz0Ro"),a("OutboundLink")],1),e._v(") and reading about the Reproducible Research Tool Fund on Twitter, I knew I wanted to contribute.")]),e._v(" "),a("h3",{attrs:{id:"why-did-you-apply-for-a-tool-fund-grant"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#why-did-you-apply-for-a-tool-fund-grant"}},[e._v("#")]),e._v(" Why did you apply for a Tool Fund grant?")]),e._v(" "),a("p",[e._v("I first heard about the concepts and challenges around Reproducible Research when taking the MOOC “Data Science” from Johns Hopkins University on Coursera. Since I had my fair share of work inside proprietary data formats and tools, I was happy to see that there are people out there making serious efforts to remedy the loss of attribution and data manipulation steps. After browsing through OKF’s Frictionless Data website, I was even happier that there are actual tools, libraries, and standards already available. Applying for the tool fund and contributing my own humble idea was a no-brainer for me.")]),e._v(" "),a("h3",{attrs:{id:"what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#what-specific-issues-are-you-looking-to-address-with-the-tool-fund"}},[e._v("#")]),e._v(" What specific issues are you looking to address with the Tool Fund?")]),e._v(" "),a("p",[e._v("My goal is to add a Data Package import/export add-on to Google Sheets. I understand that a lot of data wrangling is still done in Sheets, Excel, and files being swapped around. A lot of information is lost that way. Where did the data initially come from? How was it manipulated, cleaned, or otherwise altered? How can we feed spreadsheets back into a Reproducible Research pipeline? I think Data Packages is a brilliant format to model and preserve exactly that information. While I do not want to lure people away from the tools they are already familiar with, I think we can bridge the gap between Google Sheets and Frictionless Data by making Data Packages a first-class citizen.")]),e._v(" "),a("h3",{attrs:{id:"how-can-the-open-data-open-source-community-engage-with-the-work-you-are-doing-around-frictionless-data-google-sheets-add-on"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#how-can-the-open-data-open-source-community-engage-with-the-work-you-are-doing-around-frictionless-data-google-sheets-add-on"}},[e._v("#")]),e._v(" How can the open data, open source, community engage with the work you are doing around Frictionless Data Google Sheets add-on?")]),e._v(" "),a("p",[e._v("I think open source and data is a unique and wonderful opportunity to get access to the “wisdom of the crowd” and ensure that software and information is and remains accessible to everyone. In the first few weeks I will focus on getting a first prototype and sufficient documentation up, so you can all play with the Data Package import/export add-on as soon as possible. After that, I invite you to take a look at our Github repository ("),a("a",{attrs:{href:"https://github.com/frictionlessdata/googlesheets-datapackage-tools",target:"_blank",rel:"noopener noreferrer"}},[e._v("https://github.com/frictionlessdata/googlesheets-datapackage-tools"),a("OutboundLink")],1),e._v("), play around with the tool, and contribute. Raising an issue, opening a pull request, improving the documentation, giving feedback on the user experience—everything counts! I am so stoked to be part of this Frictionless Data journey and can’t wait to see what we will accomplish. Thank you very much in advance!")])])}),[],!1,null,null,null);t.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/91.260e264e.js b/assets/js/91.34e2a6c6.js similarity index 98% rename from assets/js/91.260e264e.js rename to assets/js/91.34e2a6c6.js index 5c125eeaa..da31be232 100644 --- a/assets/js/91.260e264e.js +++ b/assets/js/91.34e2a6c6.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{615:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("As part of our commitment to opening up scientific knowledge, we recently launched the "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research Fellows Programme"),r("OutboundLink")],1),e._v(", which will run from mid-September until June 2020.")]),e._v(" "),r("p",[e._v("We received over 200 impressive applications for the Programme, and are very excited to introduce the four selected Fellows:")]),e._v(" "),r("p",[r("strong",[e._v("Monica Granados")]),e._v(", a Mitacs Canadian Science Policy Fellow;"),r("br"),e._v(" "),r("strong",[e._v("Selene Yang")]),e._v(", a graduate student researcher at the National University of La Plata, Argentina;"),r("br"),e._v(" "),r("strong",[e._v("Daniel Ouso")]),e._v(", a postgraduate researcher at the International Centre of Insect Physiology and Ecology;"),r("br"),e._v(" "),r("strong",[e._v("Lily Zhao")]),e._v(", a graduate student researcher at the University of California, Santa Barbara.")]),e._v(" "),r("p",[e._v("Next month, the Fellows will be writing blogs to further introduce themselves to the Frictionless Data community, so stay tuned to learn more about these impressive researchers.")]),e._v(" "),r("p",[e._v("The Programme will train early career researchers to become champions of the Frictionless Data tools and approaches in their field. Fellows will learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. Working closely with the Frictionless Data team, Fellows will lead training workshops at conferences, host events at universities and in labs, and write blogs and other communications content.")]),e._v(" "),r("p",[e._v("As the programme progresses, we will be sharing the Fellows’ work on making research more reproducible with the Frictionless Data software suite by posting a series of blogs here and on the "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows website"),r("OutboundLink")],1),e._v(". In June 2020, the Programme will culminate in a community call where all Fellows will present what they have learned over the nine months: we encourage attendance by our community. If you are interested in learning more about the Programme, the "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/syllabus/",target:"_blank",rel:"noopener noreferrer"}},[e._v("syllabus"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/lessons/",target:"_blank",rel:"noopener noreferrer"}},[e._v("lessons"),r("OutboundLink")],1),e._v(", and "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/resources/",target:"_blank",rel:"noopener noreferrer"}},[e._v("resources"),r("OutboundLink")],1),e._v(" are open.")]),e._v(" "),r("h2",{attrs:{id:"more-about-frictionless-data"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More About Frictionless Data")]),e._v(" "),r("p",[e._v("The Fellows Programme is part of the Frictionless Data for Reproducible Research project at Open Knowledge Foundation. This project, funded by the Sloan Foundation, applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate data workflows in research contexts. Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. Frictionless Data’s other current projects include the "),r("a",{attrs:{href:"https://blog.okfn.org/2019/07/04/meet-our-2019-frictionless-data-tool-fund-grantees/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tool Fund"),r("OutboundLink")],1),e._v(", in which four grantees are developing open source tooling for reproducible research. The Fellows Programme will be running until June 2020, and we will post updates to the Programme as they progress.")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[91],{614:function(e,t,r){"use strict";r.r(t);var o=r(29),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("p",[e._v("As part of our commitment to opening up scientific knowledge, we recently launched the "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Frictionless Data for Reproducible Research Fellows Programme"),r("OutboundLink")],1),e._v(", which will run from mid-September until June 2020.")]),e._v(" "),r("p",[e._v("We received over 200 impressive applications for the Programme, and are very excited to introduce the four selected Fellows:")]),e._v(" "),r("p",[r("strong",[e._v("Monica Granados")]),e._v(", a Mitacs Canadian Science Policy Fellow;"),r("br"),e._v(" "),r("strong",[e._v("Selene Yang")]),e._v(", a graduate student researcher at the National University of La Plata, Argentina;"),r("br"),e._v(" "),r("strong",[e._v("Daniel Ouso")]),e._v(", a postgraduate researcher at the International Centre of Insect Physiology and Ecology;"),r("br"),e._v(" "),r("strong",[e._v("Lily Zhao")]),e._v(", a graduate student researcher at the University of California, Santa Barbara.")]),e._v(" "),r("p",[e._v("Next month, the Fellows will be writing blogs to further introduce themselves to the Frictionless Data community, so stay tuned to learn more about these impressive researchers.")]),e._v(" "),r("p",[e._v("The Programme will train early career researchers to become champions of the Frictionless Data tools and approaches in their field. Fellows will learn about Frictionless Data, including how to use Frictionless tools in their domains to improve reproducible research workflows, and how to advocate for open science. Working closely with the Frictionless Data team, Fellows will lead training workshops at conferences, host events at universities and in labs, and write blogs and other communications content.")]),e._v(" "),r("p",[e._v("As the programme progresses, we will be sharing the Fellows’ work on making research more reproducible with the Frictionless Data software suite by posting a series of blogs here and on the "),r("a",{attrs:{href:"https://fellows.frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fellows website"),r("OutboundLink")],1),e._v(". In June 2020, the Programme will culminate in a community call where all Fellows will present what they have learned over the nine months: we encourage attendance by our community. If you are interested in learning more about the Programme, the "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/syllabus/",target:"_blank",rel:"noopener noreferrer"}},[e._v("syllabus"),r("OutboundLink")],1),e._v(", "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/lessons/",target:"_blank",rel:"noopener noreferrer"}},[e._v("lessons"),r("OutboundLink")],1),e._v(", and "),r("a",{attrs:{href:"http://fellows.frictionlessdata.io/resources/",target:"_blank",rel:"noopener noreferrer"}},[e._v("resources"),r("OutboundLink")],1),e._v(" are open.")]),e._v(" "),r("h2",{attrs:{id:"more-about-frictionless-data"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#more-about-frictionless-data"}},[e._v("#")]),e._v(" More About Frictionless Data")]),e._v(" "),r("p",[e._v("The Fellows Programme is part of the Frictionless Data for Reproducible Research project at Open Knowledge Foundation. This project, funded by the Sloan Foundation, applies our work in Frictionless Data to data-driven research disciplines, in order to facilitate data workflows in research contexts. Frictionless Data is a set of specifications for data and metadata interoperability, accompanied by a collection of software libraries that implement these specifications, and a range of best practices for data management. Frictionless Data’s other current projects include the "),r("a",{attrs:{href:"https://blog.okfn.org/2019/07/04/meet-our-2019-frictionless-data-tool-fund-grantees/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Tool Fund"),r("OutboundLink")],1),e._v(", in which four grantees are developing open source tooling for reproducible research. The Fellows Programme will be running until June 2020, and we will post updates to the Programme as they progress.")])])}),[],!1,null,null,null);t.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/94.0f020cbe.js b/assets/js/94.3a1b2358.js similarity index 96% rename from assets/js/94.0f020cbe.js rename to assets/js/94.3a1b2358.js index 856577a5a..7862786d3 100644 --- a/assets/js/94.0f020cbe.js +++ b/assets/js/94.3a1b2358.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{623:function(t,e,n){"use strict";n.r(e);var a=n(29),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("p",[t._v("Hi there, My name is "),n("a",{attrs:{href:"https://giftegwuenu.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Gift Egwuenu"),n("OutboundLink")],1),t._v(" and I’m super excited to share I joined "),n("a",{attrs:{href:"https://datopian.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datopian"),n("OutboundLink")],1),t._v(" as a Frontend Developer and Developer Evangelist! 🎉")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data"),n("OutboundLink")],1),t._v(" is an open-source toolkit that brings simplicity and grace to the data experience. We want every Data Engineer or Data Scientist to know about it and benefit from it.")]),t._v(" "),n("p",[t._v("Part of my job involves spreading the word about Frictionless Data and encouraging community involvement by sharing what you can achieve with the toolkit 😃")]),t._v(" "),n("p",[t._v("My other day-to-day activities include the following and more:")]),t._v(" "),n("ul",[n("li",[t._v("Working on Frictionless Data tools")]),t._v(" "),n("li",[t._v("Working closely and interacting with the Frictionless Data Community via (chats, remote hangouts, and in-person events)")]),t._v(" "),n("li",[t._v("Writing documentation, guide and blog posts for Frictionless Data")])]),t._v(" "),n("p",[t._v("I’m glad I get to do this as a full-time job because I’m passionate about teaching and learning 🚀 and I’m excited to be a part of the "),n("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data community"),n("OutboundLink")],1),t._v(" where I get to contribute, share, learn and interact with the data community.")])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[94],{622:function(t,e,n){"use strict";n.r(e);var a=n(29),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("p",[t._v("Hi there, My name is "),n("a",{attrs:{href:"https://giftegwuenu.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Gift Egwuenu"),n("OutboundLink")],1),t._v(" and I’m super excited to share I joined "),n("a",{attrs:{href:"https://datopian.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Datopian"),n("OutboundLink")],1),t._v(" as a Frontend Developer and Developer Evangelist! 🎉")]),t._v(" "),n("p",[n("a",{attrs:{href:"https://frictionlessdata.io",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data"),n("OutboundLink")],1),t._v(" is an open-source toolkit that brings simplicity and grace to the data experience. We want every Data Engineer or Data Scientist to know about it and benefit from it.")]),t._v(" "),n("p",[t._v("Part of my job involves spreading the word about Frictionless Data and encouraging community involvement by sharing what you can achieve with the toolkit 😃")]),t._v(" "),n("p",[t._v("My other day-to-day activities include the following and more:")]),t._v(" "),n("ul",[n("li",[t._v("Working on Frictionless Data tools")]),t._v(" "),n("li",[t._v("Working closely and interacting with the Frictionless Data Community via (chats, remote hangouts, and in-person events)")]),t._v(" "),n("li",[t._v("Writing documentation, guide and blog posts for Frictionless Data")])]),t._v(" "),n("p",[t._v("I’m glad I get to do this as a full-time job because I’m passionate about teaching and learning 🚀 and I’m excited to be a part of the "),n("a",{attrs:{href:"https://frictionlessdata.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Frictionless Data community"),n("OutboundLink")],1),t._v(" where I get to contribute, share, learn and interact with the data community.")])])}),[],!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/99.e86192d8.js b/assets/js/99.27adfc5c.js similarity index 96% rename from assets/js/99.e86192d8.js rename to assets/js/99.27adfc5c.js index def8b7347..5d028ae2c 100644 --- a/assets/js/99.e86192d8.js +++ b/assets/js/99.27adfc5c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{631:function(t,e,o){"use strict";o.r(e);var n=o(29),r=Object(n.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("We are hosting a virtual community hangout to share recent developments in the Frictionless Data community and it’s also an avenue to connect with other community members. This will be a 1-hour meeting where community members come together to discuss key topics in the data community.")]),t._v(" "),o("p",[o("img",{attrs:{src:"/img/blog/community.jpg",alt:"Photo by Perry Grone on Unsplash"}})]),t._v(" "),o("p",[t._v("The hangout is scheduled to hold on "),o("strong",[t._v("25th June 2020 at 5 pm BST / 4 PM UTC")]),t._v(". If you would like to attend the hangout, "),o("a",{attrs:{href:"https://forms.gle/3wEGBy2q4Q6pdNfK8",target:"_blank",rel:"noopener noreferrer"}},[t._v("you can sign up for the event using this form"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("Looking forward to seeing you there!")]),t._v(" "),o("h2",{attrs:{id:"community-hangout-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#community-hangout-recording"}},[t._v("#")]),t._v(" Community Hangout Recording")]),t._v(" "),o("p",[t._v("If you missed the community hangout and will like to catch up on what was discussed, here’s a recording of the hangout.")]),t._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/xBu855rFiOM",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[99],{630:function(t,e,o){"use strict";o.r(e);var n=o(29),r=Object(n.a)({},(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[o("p",[t._v("We are hosting a virtual community hangout to share recent developments in the Frictionless Data community and it’s also an avenue to connect with other community members. This will be a 1-hour meeting where community members come together to discuss key topics in the data community.")]),t._v(" "),o("p",[o("img",{attrs:{src:"/img/blog/community.jpg",alt:"Photo by Perry Grone on Unsplash"}})]),t._v(" "),o("p",[t._v("The hangout is scheduled to hold on "),o("strong",[t._v("25th June 2020 at 5 pm BST / 4 PM UTC")]),t._v(". If you would like to attend the hangout, "),o("a",{attrs:{href:"https://forms.gle/3wEGBy2q4Q6pdNfK8",target:"_blank",rel:"noopener noreferrer"}},[t._v("you can sign up for the event using this form"),o("OutboundLink")],1)]),t._v(" "),o("p",[t._v("Looking forward to seeing you there!")]),t._v(" "),o("h2",{attrs:{id:"community-hangout-recording"}},[o("a",{staticClass:"header-anchor",attrs:{href:"#community-hangout-recording"}},[t._v("#")]),t._v(" Community Hangout Recording")]),t._v(" "),o("p",[t._v("If you missed the community hangout and will like to catch up on what was discussed, here’s a recording of the hangout.")]),t._v(" "),o("iframe",{attrs:{width:"560",height:"315",src:"https://www.youtube.com/embed/xBu855rFiOM",frameborder:"0",allow:"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowfullscreen:""}})])}),[],!1,null,null,null);e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/app.739b091d.js b/assets/js/app.87ab7f67.js similarity index 58% rename from assets/js/app.739b091d.js rename to assets/js/app.87ab7f67.js index 464acc8af..3536284fd 100644 --- a/assets/js/app.739b091d.js +++ b/assets/js/app.87ab7f67.js @@ -1,8 +1,8 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var a,i,l=e[0],c=e[1],s=e[2],g=0,u=[];g=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return r(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===s?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function f(t,e){for(var o=Object.create(null),a=t.split(","),n=0;n-1)return t.splice(o,1)}}var v=Object.prototype.hasOwnProperty;function w(t,e){return v.call(t,e)}function k(t){var e=Object.create(null);return function(o){return e[o]||(e[o]=t(o))}}var P=/-(\w)/g,D=k((function(t){return t.replace(P,(function(t,e){return e?e.toUpperCase():""}))})),F=k((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),x=/\B([A-Z])/g,A=k((function(t){return t.replace(x,"-$1").toLowerCase()}));var T=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function o(o){var a=arguments.length;return a?a>1?t.apply(e,arguments):t.call(e,o):t.call(e)}return o._length=t.length,o};function C(t,e){e=e||0;for(var o=t.length-e,a=new Array(o);o--;)a[o]=t[o+e];return a}function _(t,e){for(var o in e)t[o]=e[o];return t}function E(t){for(var e={},o=0;o0,Y=K&&K.indexOf("edge/")>0,Q=(K&&K.indexOf("android"),K&&/iphone|ipad|ipod|ios/.test(K)||"ios"===Z),X=(K&&/chrome\/\d+/.test(K),K&&/phantomjs/.test(K),K&&K.match(/firefox\/(\d+)/)),tt={}.watch,et=!1;if(V)try{var ot={};Object.defineProperty(ot,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,ot)}catch(t){}var at=function(){return void 0===G&&(G=!V&&!J&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),G},nt=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function rt(t){return"function"==typeof t&&/native code/.test(t.toString())}var it,lt="undefined"!=typeof Symbol&&rt(Symbol)&&"undefined"!=typeof Reflect&&rt(Reflect.ownKeys);it="undefined"!=typeof Set&&rt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ct=S,st=0,pt=function(){this.id=st++,this.subs=[]};pt.prototype.addSub=function(t){this.subs.push(t)},pt.prototype.removeSub=function(t){b(this.subs,t)},pt.prototype.depend=function(){pt.target&&pt.target.addDep(this)},pt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,o=t.length;e-1)if(r&&!w(n,"default"))i=!1;else if(""===i||i===A(t)){var c=Wt(String,n.type);(c<0||l0&&(pe((c=t(c,(o||"")+"_"+a))[0])&&pe(p)&&(g[s]=yt(p.text+c[0].text),c.shift()),g.push.apply(g,c)):l(c)?pe(p)?g[s]=yt(p.text+c):""!==c&&g.push(yt(c)):pe(c)&&pe(p)?g[s]=yt(p.text+c.text):(i(e._isVList)&&r(c.tag)&&n(c.key)&&r(o)&&(c.key="__vlist"+o+"_"+a+"__"),g.push(c)));return g}(t):void 0}function pe(t){return r(t)&&r(t.text)&&!1===t.isComment}function ge(t,e){if(t){for(var o=Object.create(null),a=lt?Reflect.ownKeys(t):Object.keys(t),n=0;n0,i=t?!!t.$stable:!r,l=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(i&&o&&o!==a&&l===o.$key&&!r&&!o.$hasNormal)return o;for(var c in n={},t)t[c]&&"$"!==c[0]&&(n[c]=he(e,c,t[c]))}else n={};for(var s in e)s in n||(n[s]=fe(e,s));return t&&Object.isExtensible(t)&&(t._normalized=n),W(n,"$stable",i),W(n,"$key",l),W(n,"$hasNormal",r),n}function he(t,e,o){var a=function(){var t=arguments.length?o.apply(null,arguments):o({});return(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:se(t))&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return o.proxy&&Object.defineProperty(t,e,{get:a,enumerable:!0,configurable:!0}),a}function fe(t,e){return function(){return t[e]}}function ye(t,e){var o,a,n,i,l;if(Array.isArray(t)||"string"==typeof t)for(o=new Array(t.length),a=0,n=t.length;adocument.createEvent("Event").timeStamp&&(lo=function(){return co.now()})}function so(){var t,e;for(io=lo(),no=!0,to.sort((function(t,e){return t.id-e.id})),ro=0;roro&&to[o].id>t.id;)o--;to.splice(o+1,0,t)}else to.push(t);ao||(ao=!0,ee(so))}}(this)},go.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Ht(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},go.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},go.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},go.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||b(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var uo={enumerable:!0,configurable:!0,get:S,set:S};function mo(t,e,o){uo.get=function(){return this[e][o]},uo.set=function(t){this[e][o]=t},Object.defineProperty(t,o,uo)}function ho(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var o=t.$options.propsData||{},a=t._props={},n=t.$options._propKeys=[];t.$parent&&Dt(!1);var r=function(r){n.push(r);var i=$t(r,e,o,t);At(a,r,i),r in t||mo(t,"_props",r)};for(var i in e)r(i);Dt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var o in e)t[o]="function"!=typeof e[o]?S:T(e[o],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;p(e=t._data="function"==typeof e?function(t,e){ut();try{return t.call(e,e)}catch(t){return Ht(t,e,"data()"),{}}finally{dt()}}(e,t):e||{})||(e={});var o=Object.keys(e),a=t.$options.props,n=(t.$options.methods,o.length);for(;n--;){var r=o[n];0,a&&w(a,r)||(i=void 0,36!==(i=(r+"").charCodeAt(0))&&95!==i&&mo(t,"_data",r))}var i;xt(e,!0)}(t):xt(t._data={},!0),e.computed&&function(t,e){var o=t._computedWatchers=Object.create(null),a=at();for(var n in e){var r=e[n],i="function"==typeof r?r:r.get;0,a||(o[n]=new go(t,i||S,S,fo)),n in t||yo(t,n,r)}}(t,e.computed),e.watch&&e.watch!==tt&&function(t,e){for(var o in e){var a=e[o];if(Array.isArray(a))for(var n=0;n-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!g(t)&&t.test(e)}function To(t,e){var o=t.cache,a=t.keys,n=t._vnode;for(var r in o){var i=o[r];if(i){var l=xo(i.componentOptions);l&&!e(l)&&Co(o,r,a,n)}}}function Co(t,e,o,a){var n=t[e];!n||a&&n.tag===a.tag||n.componentInstance.$destroy(),t[e]=null,b(o,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=ko++,e._isVue=!0,t&&t._isComponent?function(t,e){var o=t.$options=Object.create(t.constructor.options),a=e._parentVnode;o.parent=e.parent,o._parentVnode=a;var n=a.componentOptions;o.propsData=n.propsData,o._parentListeners=n.listeners,o._renderChildren=n.children,o._componentTag=n.tag,e.render&&(o.render=e.render,o.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Lt(Po(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,o=e.parent;if(o&&!e.abstract){for(;o.$options.abstract&&o.$parent;)o=o.$parent;o.$children.push(t)}t.$parent=o,t.$root=o?o.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ke(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,o=t.$vnode=e._parentVnode,n=o&&o.context;t.$slots=ue(e._renderChildren,n),t.$scopedSlots=a,t._c=function(e,o,a,n){return Ue(t,e,o,a,n,!1)},t.$createElement=function(e,o,a,n){return Ue(t,e,o,a,n,!0)};var r=o&&o.data;At(t,"$attrs",r&&r.attrs||a,null,!0),At(t,"$listeners",e._parentListeners||a,null,!0)}(e),Xe(e,"beforeCreate"),function(t){var e=ge(t.$options.inject,t);e&&(Dt(!1),Object.keys(e).forEach((function(o){At(t,o,e[o])})),Dt(!0))}(e),ho(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),Xe(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Do),function(t){var e={get:function(){return this._data}},o={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",o),t.prototype.$set=Tt,t.prototype.$delete=Ct,t.prototype.$watch=function(t,e,o){if(p(e))return wo(this,t,e,o);(o=o||{}).user=!0;var a=new go(this,t,e,o);if(o.immediate)try{e.call(this,a.value)}catch(t){Ht(t,this,'callback for immediate watcher "'+a.expression+'"')}return function(){a.teardown()}}}(Do),function(t){var e=/^hook:/;t.prototype.$on=function(t,o){var a=this;if(Array.isArray(t))for(var n=0,r=t.length;n1?C(o):o;for(var a=C(arguments,1),n='event handler for "'+t+'"',r=0,i=o.length;rparseInt(this.max)&&Co(i,l[0],l,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return U}};Object.defineProperty(t,"config",e),t.util={warn:ct,extend:_,mergeOptions:Lt,defineReactive:At},t.set=Tt,t.delete=Ct,t.nextTick=ee,t.observable=function(t){return xt(t),t},t.options=Object.create(null),I.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,_(t.options.components,Eo),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var o=C(arguments,1);return o.unshift(this),"function"==typeof t.install?t.install.apply(t,o):"function"==typeof t&&t.apply(null,o),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Lt(this.options,t),this}}(t),Fo(t),function(t){I.forEach((function(e){t[e]=function(t,o){return o?("component"===e&&p(o)&&(o.name=o.name||t,o=this.options._base.extend(o)),"directive"===e&&"function"==typeof o&&(o={bind:o,update:o}),this.options[e+"s"][t]=o,o):this.options[e+"s"][t]}}))}(t)}(Do),Object.defineProperty(Do.prototype,"$isServer",{get:at}),Object.defineProperty(Do.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Do,"FunctionalRenderContext",{value:je}),Do.version="2.6.12";var So=f("style,class"),jo=f("input,textarea,option,select,progress"),Mo=f("contenteditable,draggable,spellcheck"),Oo=f("events,caret,typing,plaintext-only"),Ro=f("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Lo="http://www.w3.org/1999/xlink",Io=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},$o=function(t){return Io(t)?t.slice(6,t.length):""},Uo=function(t){return null==t||!1===t};function No(t){for(var e=t.data,o=t,a=t;r(a.componentInstance);)(a=a.componentInstance._vnode)&&a.data&&(e=Wo(a.data,e));for(;r(o=o.parent);)o&&o.data&&(e=Wo(e,o.data));return function(t,e){if(r(t)||r(e))return Ho(t,Go(e));return""}(e.staticClass,e.class)}function Wo(t,e){return{staticClass:Ho(t.staticClass,e.staticClass),class:r(t.class)?[t.class,e.class]:e.class}}function Ho(t,e){return t?e?t+" "+e:t:e||""}function Go(t){return Array.isArray(t)?function(t){for(var e,o="",a=0,n=t.length;a-1?ua(t,e,o):Ro(e)?Uo(o)?t.removeAttribute(e):(o="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,o)):Mo(e)?t.setAttribute(e,function(t,e){return Uo(e)||"false"===e?"false":"contenteditable"===t&&Oo(e)?e:"true"}(e,o)):Io(e)?Uo(o)?t.removeAttributeNS(Lo,$o(e)):t.setAttributeNS(Lo,e,o):ua(t,e,o)}function ua(t,e,o){if(Uo(o))t.removeAttribute(e);else{if(z&&!q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==o&&!t.__ieph){var a=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",a)};t.addEventListener("input",a),t.__ieph=!0}t.setAttribute(e,o)}}var da={create:pa,update:pa};function ma(t,e){var o=e.elm,a=e.data,i=t.data;if(!(n(a.staticClass)&&n(a.class)&&(n(i)||n(i.staticClass)&&n(i.class)))){var l=No(e),c=o._transitionClasses;r(c)&&(l=Ho(l,Go(c))),l!==o._prevClass&&(o.setAttribute("class",l),o._prevClass=l)}}var ha,fa={create:ma,update:ma};function ya(t,e,o){var a=ha;return function n(){var r=e.apply(null,arguments);null!==r&&wa(t,n,o,a)}}var ba=Zt&&!(X&&Number(X[1])<=53);function va(t,e,o,a){if(ba){var n=io,r=e;e=r._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=n||t.timeStamp<=0||t.target.ownerDocument!==document)return r.apply(this,arguments)}}ha.addEventListener(t,e,et?{capture:o,passive:a}:o)}function wa(t,e,o,a){(a||ha).removeEventListener(t,e._wrapper||e,o)}function ka(t,e){if(!n(t.data.on)||!n(e.data.on)){var o=e.data.on||{},a=t.data.on||{};ha=e.elm,function(t){if(r(t.__r)){var e=z?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}r(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(o),ie(o,a,va,wa,ya,e.context),ha=void 0}}var Pa,Da={create:ka,update:ka};function Fa(t,e){if(!n(t.data.domProps)||!n(e.data.domProps)){var o,a,i=e.elm,l=t.data.domProps||{},c=e.data.domProps||{};for(o in r(c.__ob__)&&(c=e.data.domProps=_({},c)),l)o in c||(i[o]="");for(o in c){if(a=c[o],"textContent"===o||"innerHTML"===o){if(e.children&&(e.children.length=0),a===l[o])continue;1===i.childNodes.length&&i.removeChild(i.childNodes[0])}if("value"===o&&"PROGRESS"!==i.tagName){i._value=a;var s=n(a)?"":String(a);xa(i,s)&&(i.value=s)}else if("innerHTML"===o&&Jo(i.tagName)&&n(i.innerHTML)){(Pa=Pa||document.createElement("div")).innerHTML=""+a+"";for(var p=Pa.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;p.firstChild;)i.appendChild(p.firstChild)}else if(a!==l[o])try{i[o]=a}catch(t){}}}}function xa(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var o=!0;try{o=document.activeElement!==t}catch(t){}return o&&t.value!==e}(t,e)||function(t,e){var o=t.value,a=t._vModifiers;if(r(a)){if(a.number)return h(o)!==h(e);if(a.trim)return o.trim()!==e.trim()}return o!==e}(t,e))}var Aa={create:Fa,update:Fa},Ta=k((function(t){var e={},o=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var a=t.split(o);a.length>1&&(e[a[0].trim()]=a[1].trim())}})),e}));function Ca(t){var e=_a(t.style);return t.staticStyle?_(t.staticStyle,e):e}function _a(t){return Array.isArray(t)?E(t):"string"==typeof t?Ta(t):t}var Ea,Sa=/^--/,ja=/\s*!important$/,Ma=function(t,e,o){if(Sa.test(e))t.style.setProperty(e,o);else if(ja.test(o))t.style.setProperty(A(e),o.replace(ja,""),"important");else{var a=Ra(e);if(Array.isArray(o))for(var n=0,r=o.length;n-1?e.split($a).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var o=" "+(t.getAttribute("class")||"")+" ";o.indexOf(" "+e+" ")<0&&t.setAttribute("class",(o+e).trim())}}function Na(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split($a).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var o=" "+(t.getAttribute("class")||"")+" ",a=" "+e+" ";o.indexOf(a)>=0;)o=o.replace(a," ");(o=o.trim())?t.setAttribute("class",o):t.removeAttribute("class")}}function Wa(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&_(e,Ha(t.name||"v")),_(e,t),e}return"string"==typeof t?Ha(t):void 0}}var Ha=k((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Ga=V&&!q,Ba="transition",Va="transitionend",Ja="animation",Za="animationend";Ga&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ba="WebkitTransition",Va="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ja="WebkitAnimation",Za="webkitAnimationEnd"));var Ka=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function za(t){Ka((function(){Ka(t)}))}function qa(t,e){var o=t._transitionClasses||(t._transitionClasses=[]);o.indexOf(e)<0&&(o.push(e),Ua(t,e))}function Ya(t,e){t._transitionClasses&&b(t._transitionClasses,e),Na(t,e)}function Qa(t,e,o){var a=tn(t,e),n=a.type,r=a.timeout,i=a.propCount;if(!n)return o();var l="transition"===n?Va:Za,c=0,s=function(){t.removeEventListener(l,p),o()},p=function(e){e.target===t&&++c>=i&&s()};setTimeout((function(){c0&&(o="transition",p=i,g=r.length):"animation"===e?s>0&&(o="animation",p=s,g=c.length):g=(o=(p=Math.max(i,s))>0?i>s?"transition":"animation":null)?"transition"===o?r.length:c.length:0,{type:o,timeout:p,propCount:g,hasTransform:"transition"===o&&Xa.test(a[Ba+"Property"])}}function en(t,e){for(;t.length1}function cn(t,e){!0!==e.data.show&&an(e)}var sn=function(t){var e,o,a={},c=t.modules,s=t.nodeOps;for(e=0;em?v(t,n(o[y+1])?null:o[y+1].elm,o,d,y,a):d>y&&k(e,u,m)}(u,f,y,o,p):r(y)?(r(t.text)&&s.setTextContent(u,""),v(u,null,y,0,y.length-1,o)):r(f)?k(f,0,f.length-1):r(t.text)&&s.setTextContent(u,""):t.text!==e.text&&s.setTextContent(u,e.text),r(m)&&r(d=m.hook)&&r(d=d.postpatch)&&d(t,e)}}}function x(t,e,o){if(i(o)&&r(t.parent))t.parent.data.pendingInsert=e;else for(var a=0;a-1,i.selected!==r&&(i.selected=r);else if(O(mn(i),a))return void(t.selectedIndex!==l&&(t.selectedIndex=l));n||(t.selectedIndex=-1)}}function dn(t,e){return e.every((function(e){return!O(e,t)}))}function mn(t){return"_value"in t?t._value:t.value}function hn(t){t.target.composing=!0}function fn(t){t.target.composing&&(t.target.composing=!1,yn(t.target,"input"))}function yn(t,e){var o=document.createEvent("HTMLEvents");o.initEvent(e,!0,!0),t.dispatchEvent(o)}function bn(t){return!t.componentInstance||t.data&&t.data.transition?t:bn(t.componentInstance._vnode)}var vn={model:pn,show:{bind:function(t,e,o){var a=e.value,n=(o=bn(o)).data&&o.data.transition,r=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;a&&n?(o.data.show=!0,an(o,(function(){t.style.display=r}))):t.style.display=a?r:"none"},update:function(t,e,o){var a=e.value;!a!=!e.oldValue&&((o=bn(o)).data&&o.data.transition?(o.data.show=!0,a?an(o,(function(){t.style.display=t.__vOriginalDisplay})):nn(o,(function(){t.style.display="none"}))):t.style.display=a?t.__vOriginalDisplay:"none")},unbind:function(t,e,o,a,n){n||(t.style.display=t.__vOriginalDisplay)}}},wn={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function kn(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?kn(Be(e.children)):t}function Pn(t){var e={},o=t.$options;for(var a in o.propsData)e[a]=t[a];var n=o._parentListeners;for(var r in n)e[D(r)]=n[r];return e}function Dn(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Fn=function(t){return t.tag||Ge(t)},xn=function(t){return"show"===t.name},An={name:"transition",props:wn,abstract:!0,render:function(t){var e=this,o=this.$slots.default;if(o&&(o=o.filter(Fn)).length){0;var a=this.mode;0;var n=o[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return n;var r=kn(n);if(!r)return n;if(this._leaving)return Dn(t,n);var i="__transition-"+this._uid+"-";r.key=null==r.key?r.isComment?i+"comment":i+r.tag:l(r.key)?0===String(r.key).indexOf(i)?r.key:i+r.key:r.key;var c=(r.data||(r.data={})).transition=Pn(this),s=this._vnode,p=kn(s);if(r.data.directives&&r.data.directives.some(xn)&&(r.data.show=!0),p&&p.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(r,p)&&!Ge(p)&&(!p.componentInstance||!p.componentInstance._vnode.isComment)){var g=p.data.transition=_({},c);if("out-in"===a)return this._leaving=!0,le(g,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Dn(t,n);if("in-out"===a){if(Ge(r))return s;var u,d=function(){u()};le(c,"afterEnter",d),le(c,"enterCancelled",d),le(g,"delayLeave",(function(t){u=t}))}}return n}}},Tn=_({tag:String,moveClass:String},wn);function Cn(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function _n(t){t.data.newPos=t.elm.getBoundingClientRect()}function En(t){var e=t.data.pos,o=t.data.newPos,a=e.left-o.left,n=e.top-o.top;if(a||n){t.data.moved=!0;var r=t.elm.style;r.transform=r.WebkitTransform="translate("+a+"px,"+n+"px)",r.transitionDuration="0s"}}delete Tn.mode;var Sn={Transition:An,TransitionGroup:{props:Tn,beforeMount:function(){var t=this,e=this._update;this._update=function(o,a){var n=qe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,n(),e.call(t,o,a)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",o=Object.create(null),a=this.prevChildren=this.children,n=this.$slots.default||[],r=this.children=[],i=Pn(this),l=0;l-1?Ko[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ko[t]=/HTMLUnknownElement/.test(e.toString())},_(Do.options.directives,vn),_(Do.options.components,Sn),Do.prototype.__patch__=V?sn:S,Do.prototype.$mount=function(t,e){return function(t,e,o){var a;return t.$el=e,t.$options.render||(t.$options.render=ft),Xe(t,"beforeMount"),a=function(){t._update(t._render(),o)},new go(t,a,S,{before:function(){t._isMounted&&!t._isDestroyed&&Xe(t,"beforeUpdate")}},!0),o=!1,null==t.$vnode&&(t._isMounted=!0,Xe(t,"mounted")),t}(this,t=t&&V?function(t){if("string"==typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}(t):void 0,e)},V&&setTimeout((function(){U.devtools&&nt&&nt.emit("init",Do)}),0),e.a=Do},function(t,e,o){var a=o(3),n=o(26).f,r=o(14),i=o(16),l=o(82),c=o(116),s=o(79);t.exports=function(t,e){var o,p,g,u,d,m=t.target,h=t.global,f=t.stat;if(o=h?a:f?a[m]||l(m,{}):(a[m]||{}).prototype)for(p in e){if(u=e[p],g=t.noTargetGet?(d=n(o,p))&&d.value:o[p],!s(h?p:m+(f?".":"#")+p,t.forced)&&void 0!==g){if(typeof u==typeof g)continue;c(u,g)}(t.sham||g&&g.sham)&&r(u,"sham",!0),i(o,p,u,t)}}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var o=function(t){return t&&t.Math==Math&&t};t.exports=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof global&&global)||function(){return this}()||Function("return this")()},function(t,e,o){var a=o(3),n=o(53),r=o(9),i=o(54),l=o(84),c=o(112),s=n("wks"),p=a.Symbol,g=c?p:p&&p.withoutSetter||i;t.exports=function(t){return r(s,t)&&(l||"string"==typeof s[t])||(l&&r(p,t)?s[t]=p[t]:s[t]=g("Symbol."+t)),s[t]}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,o){var a=o(5);t.exports=function(t){if(!a(t))throw TypeError(String(t)+" is not an object");return t}},function(t,e,o){var a=o(2);t.exports=!a((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,e,o){var a=o(7),n=o(110),r=o(6),i=o(39),l=Object.defineProperty;e.f=a?l:function(t,e,o){if(r(t),e=i(e,!0),r(o),n)try{return l(t,e,o)}catch(t){}if("get"in o||"set"in o)throw TypeError("Accessors not supported");return"value"in o&&(t[e]=o.value),t}},function(t,e,o){var a=o(10),n={}.hasOwnProperty;t.exports=function(t,e){return n.call(a(t),e)}},function(t,e,o){var a=o(24);t.exports=function(t){return Object(a(t))}},function(t,e,o){var a=o(92),n=o(16),r=o(207);a||n(Object.prototype,"toString",r,{unsafe:!0})},function(t,e,o){"use strict";function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}o.d(e,"a",(function(){return a}))},function(t,e,o){"use strict";var a=o(131).charAt,n=o(35),r=o(115),i=n.set,l=n.getterFor("String Iterator");r(String,"String",(function(t){i(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,e=l(this),o=e.string,n=e.index;return n>=o.length?{value:void 0,done:!0}:(t=a(o,n),e.index+=t.length,{value:t,done:!1})}))},function(t,e,o){var a=o(7),n=o(8),r=o(40);t.exports=a?function(t,e,o){return n.f(t,e,r(1,o))}:function(t,e,o){return t[e]=o,t}},function(t,e,o){var a=o(56),n=Math.min;t.exports=function(t){return t>0?n(a(t),9007199254740991):0}},function(t,e,o){var a=o(3),n=o(14),r=o(9),i=o(82),l=o(88),c=o(35),s=c.get,p=c.enforce,g=String(String).split("String");(t.exports=function(t,e,o,l){var c,s=!!l&&!!l.unsafe,u=!!l&&!!l.enumerable,d=!!l&&!!l.noTargetGet;"function"==typeof o&&("string"!=typeof e||r(o,"name")||n(o,"name",e),(c=p(o)).source||(c.source=g.join("string"==typeof e?e:""))),t!==a?(s?!d&&t[e]&&(u=!0):delete t[e],u?t[e]=o:n(t,e,o)):u?t[e]=o:i(e,o)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||l(this)}))},function(t,e,o){var a=o(3),n=o(132),r=o(109),i=o(14),l=o(4),c=l("iterator"),s=l("toStringTag"),p=r.values;for(var g in n){var u=a[g],d=u&&u.prototype;if(d){if(d[c]!==p)try{i(d,c,p)}catch(t){d[c]=p}if(d[s]||i(d,s,g),n[g])for(var m in r)if(d[m]!==r[m])try{i(d,m,r[m])}catch(t){d[m]=r[m]}}}},function(t,e){var o=Array.isArray;t.exports=o},function(t,e,o){var a=o(38),n=o(24);t.exports=function(t){return a(n(t))}},function(t,e,o){var a=o(143),n="object"==typeof self&&self&&self.Object===Object&&self,r=a||n||Function("return this")();t.exports=r},function(t,e,o){"use strict";o.d(e,"a",(function(){return n}));o(162);function a(t,e){for(var o=0;o1?arguments[1]:void 0)}})},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,o){var a,n=o(6),r=o(191),i=o(87),l=o(42),c=o(114),s=o(83),p=o(57),g=p("IE_PROTO"),u=function(){},d=function(t){return" + diff --git a/blog/2016/04/30/publish-geo/index.html b/blog/2016/04/30/publish-geo/index.html index 6f8220e05..cf8c6f601 100644 --- a/blog/2016/04/30/publish-geo/index.html +++ b/blog/2016/04/30/publish-geo/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/07/21/creating-tabular-data-packages-in-python/index.html b/blog/2016/07/21/creating-tabular-data-packages-in-python/index.html index 67c678b2c..8d971621d 100644 --- a/blog/2016/07/21/creating-tabular-data-packages-in-python/index.html +++ b/blog/2016/07/21/creating-tabular-data-packages-in-python/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/07/21/publish-any/index.html b/blog/2016/07/21/publish-any/index.html index 8c8cb04f2..9bbd7dfa9 100644 --- a/blog/2016/07/21/publish-any/index.html +++ b/blog/2016/07/21/publish-any/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/07/21/publish-tabular/index.html b/blog/2016/07/21/publish-tabular/index.html index d8fa29590..feb486386 100644 --- a/blog/2016/07/21/publish-tabular/index.html +++ b/blog/2016/07/21/publish-tabular/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/08/29/publish-online/index.html b/blog/2016/08/29/publish-online/index.html index d88b7d007..6c6b8c551 100644 --- a/blog/2016/08/29/publish-online/index.html +++ b/blog/2016/08/29/publish-online/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2016/08/29/using-data-packages-in-python/index.html b/blog/2016/08/29/using-data-packages-in-python/index.html index f2fb9f0cd..b158daefc 100644 --- a/blog/2016/08/29/using-data-packages-in-python/index.html +++ b/blog/2016/08/29/using-data-packages-in-python/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/08/30/publish/index.html b/blog/2016/08/30/publish/index.html index 33adc9056..679c10d68 100644 --- a/blog/2016/08/30/publish/index.html +++ b/blog/2016/08/30/publish/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2016/11/15/dataship/index.html b/blog/2016/11/15/dataship/index.html index 774fba05e..427afffff 100644 --- a/blog/2016/11/15/dataship/index.html +++ b/blog/2016/11/15/dataship/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2016/11/15/open-power-system-data/index.html b/blog/2016/11/15/open-power-system-data/index.html index 30b12422d..ddb67d594 100644 --- a/blog/2016/11/15/open-power-system-data/index.html +++ b/blog/2016/11/15/open-power-system-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2016/11/15/tesera/index.html b/blog/2016/11/15/tesera/index.html index 444e7cce3..c88dcafa2 100644 --- a/blog/2016/11/15/tesera/index.html +++ b/blog/2016/11/15/tesera/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/03/28/john-snow-labs/index.html b/blog/2017/03/28/john-snow-labs/index.html index 408e248f0..4bab3e45e 100644 --- a/blog/2017/03/28/john-snow-labs/index.html +++ b/blog/2017/03/28/john-snow-labs/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/03/31/data-package-views-proposal/index.html b/blog/2017/03/31/data-package-views-proposal/index.html index b3347793c..945421557 100644 --- a/blog/2017/03/31/data-package-views-proposal/index.html +++ b/blog/2017/03/31/data-package-views-proposal/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/04/11/dataworld/index.html b/blog/2017/04/11/dataworld/index.html index f879e6171..243fc5c25 100644 --- a/blog/2017/04/11/dataworld/index.html +++ b/blog/2017/04/11/dataworld/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/05/23/cmso/index.html b/blog/2017/05/23/cmso/index.html index 44645b99c..ef1bb5563 100644 --- a/blog/2017/05/23/cmso/index.html +++ b/blog/2017/05/23/cmso/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/05/24/the-data-retriever/index.html b/blog/2017/05/24/the-data-retriever/index.html index fb51b5c9f..072b3bed7 100644 --- a/blog/2017/05/24/the-data-retriever/index.html +++ b/blog/2017/05/24/the-data-retriever/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/06/26/pacific-northwest-national-laboratory-active-data-biology/index.html b/blog/2017/06/26/pacific-northwest-national-laboratory-active-data-biology/index.html index 1a2637c82..38f8f89fd 100644 --- a/blog/2017/06/26/pacific-northwest-national-laboratory-active-data-biology/index.html +++ b/blog/2017/06/26/pacific-northwest-national-laboratory-active-data-biology/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/08/09/collections-as-data/index.html b/blog/2017/08/09/collections-as-data/index.html index f1623ff91..69567c3b4 100644 --- a/blog/2017/08/09/collections-as-data/index.html +++ b/blog/2017/08/09/collections-as-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/08/09/tutorial-template/index.html b/blog/2017/08/09/tutorial-template/index.html index 8d64006fd..7f35a6f5d 100644 --- a/blog/2017/08/09/tutorial-template/index.html +++ b/blog/2017/08/09/tutorial-template/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2017/08/15/causa-natura-pescando-datos/index.html b/blog/2017/08/15/causa-natura-pescando-datos/index.html index 74727d44a..1f4d49cfb 100644 --- a/blog/2017/08/15/causa-natura-pescando-datos/index.html +++ b/blog/2017/08/15/causa-natura-pescando-datos/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/08/15/center-for-data-science-and-public-policy-workforce-data-initiative/index.html b/blog/2017/08/15/center-for-data-science-and-public-policy-workforce-data-initiative/index.html index 9cca88aea..3a74850c2 100644 --- a/blog/2017/08/15/center-for-data-science-and-public-policy-workforce-data-initiative/index.html +++ b/blog/2017/08/15/center-for-data-science-and-public-policy-workforce-data-initiative/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/08/15/university-of-cambridge/index.html b/blog/2017/08/15/university-of-cambridge/index.html index a88d01347..8309858af 100644 --- a/blog/2017/08/15/university-of-cambridge/index.html +++ b/blog/2017/08/15/university-of-cambridge/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/09/28/zegami/index.html b/blog/2017/09/28/zegami/index.html index 038809c3b..d2b7ebc09 100644 --- a/blog/2017/09/28/zegami/index.html +++ b/blog/2017/09/28/zegami/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/10/24/elife/index.html b/blog/2017/10/24/elife/index.html index 3a4c0e6ca..5496e5a95 100644 --- a/blog/2017/10/24/elife/index.html +++ b/blog/2017/10/24/elife/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/10/24/georges-labreche/index.html b/blog/2017/10/24/georges-labreche/index.html index 188d4706b..3ea436213 100644 --- a/blog/2017/10/24/georges-labreche/index.html +++ b/blog/2017/10/24/georges-labreche/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2017/10/26/matt-thompson/index.html b/blog/2017/10/26/matt-thompson/index.html index 817cf9355..519c1a77d 100644 --- a/blog/2017/10/26/matt-thompson/index.html +++ b/blog/2017/10/26/matt-thompson/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2017/10/27/open-knowledge-greece/index.html b/blog/2017/10/27/open-knowledge-greece/index.html index 53fa91ed6..62173f3d9 100644 --- a/blog/2017/10/27/open-knowledge-greece/index.html +++ b/blog/2017/10/27/open-knowledge-greece/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2017/11/01/daniel-fireman/index.html b/blog/2017/11/01/daniel-fireman/index.html index 716ea5781..442b68540 100644 --- a/blog/2017/11/01/daniel-fireman/index.html +++ b/blog/2017/11/01/daniel-fireman/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2017/12/04/openml/index.html b/blog/2017/12/04/openml/index.html index b1319e70c..187357be0 100644 --- a/blog/2017/12/04/openml/index.html +++ b/blog/2017/12/04/openml/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/12/12/ukds/index.html b/blog/2017/12/12/ukds/index.html index bc450c3f3..776af01e1 100644 --- a/blog/2017/12/12/ukds/index.html +++ b/blog/2017/12/12/ukds/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/12/15/university-of-pittsburgh/index.html b/blog/2017/12/15/university-of-pittsburgh/index.html index e9c066bd4..99f54ea94 100644 --- a/blog/2017/12/15/university-of-pittsburgh/index.html +++ b/blog/2017/12/15/university-of-pittsburgh/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2017/12/19/dm4t/index.html b/blog/2017/12/19/dm4t/index.html index db1be237c..3ab46c565 100644 --- a/blog/2017/12/19/dm4t/index.html +++ b/blog/2017/12/19/dm4t/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/02/14/creating-tabular-data-packages-in-r/index.html b/blog/2018/02/14/creating-tabular-data-packages-in-r/index.html index 6658890fc..510daf836 100644 --- a/blog/2018/02/14/creating-tabular-data-packages-in-r/index.html +++ b/blog/2018/02/14/creating-tabular-data-packages-in-r/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/02/14/using-data-packages-in-r/index.html b/blog/2018/02/14/using-data-packages-in-r/index.html index c171cc1c5..f63c916a4 100644 --- a/blog/2018/02/14/using-data-packages-in-r/index.html +++ b/blog/2018/02/14/using-data-packages-in-r/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/02/16/using-data-packages-in-go/index.html b/blog/2018/02/16/using-data-packages-in-go/index.html index c56895a14..8e9294c91 100644 --- a/blog/2018/02/16/using-data-packages-in-go/index.html +++ b/blog/2018/02/16/using-data-packages-in-go/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/03/07/well-packaged-datasets/index.html b/blog/2018/03/07/well-packaged-datasets/index.html index 3fa41411c..9d8ae99fd 100644 --- a/blog/2018/03/07/well-packaged-datasets/index.html +++ b/blog/2018/03/07/well-packaged-datasets/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/03/12/automatically-validated-tabular-data/index.html b/blog/2018/03/12/automatically-validated-tabular-data/index.html index b027b440d..92e1430b5 100644 --- a/blog/2018/03/12/automatically-validated-tabular-data/index.html +++ b/blog/2018/03/12/automatically-validated-tabular-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/03/12/data-publication-workflow-example/index.html b/blog/2018/03/12/data-publication-workflow-example/index.html index 7549782d1..2a5b418a4 100644 --- a/blog/2018/03/12/data-publication-workflow-example/index.html +++ b/blog/2018/03/12/data-publication-workflow-example/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/03/27/applying-licenses/index.html b/blog/2018/03/27/applying-licenses/index.html index 7561b89b1..85bcfd557 100644 --- a/blog/2018/03/27/applying-licenses/index.html +++ b/blog/2018/03/27/applying-licenses/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/04/04/creating-tabular-data-packages-in-javascript/index.html b/blog/2018/04/04/creating-tabular-data-packages-in-javascript/index.html index 5e141f315..2e5287351 100644 --- a/blog/2018/04/04/creating-tabular-data-packages-in-javascript/index.html +++ b/blog/2018/04/04/creating-tabular-data-packages-in-javascript/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/04/05/joining-tabular-data-in-python/index.html b/blog/2018/04/05/joining-tabular-data-in-python/index.html index cf961825c..e13b97089 100644 --- a/blog/2018/04/05/joining-tabular-data-in-python/index.html +++ b/blog/2018/04/05/joining-tabular-data-in-python/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/04/06/joining-data-in-python/index.html b/blog/2018/04/06/joining-data-in-python/index.html index 9ade456de..f1e80093f 100644 --- a/blog/2018/04/06/joining-data-in-python/index.html +++ b/blog/2018/04/06/joining-data-in-python/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/04/28/using-data-packages-in-java/index.html b/blog/2018/04/28/using-data-packages-in-java/index.html index d05393ad8..467c04411 100644 --- a/blog/2018/04/28/using-data-packages-in-java/index.html +++ b/blog/2018/04/28/using-data-packages-in-java/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/05/07/using-data-packages-in-clojure/index.html b/blog/2018/05/07/using-data-packages-in-clojure/index.html index 73ddffa53..a977a4b31 100644 --- a/blog/2018/05/07/using-data-packages-in-clojure/index.html +++ b/blog/2018/05/07/using-data-packages-in-clojure/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2018/07/09/csv/index.html b/blog/2018/07/09/csv/index.html index a89fee07f..1a429ea98 100644 --- a/blog/2018/07/09/csv/index.html +++ b/blog/2018/07/09/csv/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/07/09/developer-guide/index.html b/blog/2018/07/09/developer-guide/index.html index 9fde9f6d0..2c2b5463b 100644 --- a/blog/2018/07/09/developer-guide/index.html +++ b/blog/2018/07/09/developer-guide/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/07/09/validating-data/index.html b/blog/2018/07/09/validating-data/index.html index f326b57eb..606854c89 100644 --- a/blog/2018/07/09/validating-data/index.html +++ b/blog/2018/07/09/validating-data/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/07/16/oleg-lavrovsky/index.html b/blog/2018/07/16/oleg-lavrovsky/index.html index 4351e5043..f5581b5ac 100644 --- a/blog/2018/07/16/oleg-lavrovsky/index.html +++ b/blog/2018/07/16/oleg-lavrovsky/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2018/07/16/ori-hoch/index.html b/blog/2018/07/16/ori-hoch/index.html index d08c926d5..9124f6176 100644 --- a/blog/2018/07/16/ori-hoch/index.html +++ b/blog/2018/07/16/ori-hoch/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2018/07/16/point-location-data/index.html b/blog/2018/07/16/point-location-data/index.html index a7102a6e7..d790abdf1 100644 --- a/blog/2018/07/16/point-location-data/index.html +++ b/blog/2018/07/16/point-location-data/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/2018/07/16/publish-data-as-data-packages/index.html b/blog/2018/07/16/publish-data-as-data-packages/index.html index 9f88152a1..9973fbe11 100644 --- a/blog/2018/07/16/publish-data-as-data-packages/index.html +++ b/blog/2018/07/16/publish-data-as-data-packages/index.html @@ -30,8 +30,8 @@ - - + + - + diff --git a/blog/2018/07/16/validated-tabular-data/index.html b/blog/2018/07/16/validated-tabular-data/index.html index a8ab711b4..2a55044de 100644 --- a/blog/2018/07/16/validated-tabular-data/index.html +++ b/blog/2018/07/16/validated-tabular-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/07/16/visible-findable-shareable-data/index.html b/blog/2018/07/16/visible-findable-shareable-data/index.html index 4296cecd9..a0f269b73 100644 --- a/blog/2018/07/16/visible-findable-shareable-data/index.html +++ b/blog/2018/07/16/visible-findable-shareable-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2018/07/20/nimblelearn/index.html b/blog/2018/07/20/nimblelearn/index.html index 00291cb9d..3419b9dd2 100644 --- a/blog/2018/07/20/nimblelearn/index.html +++ b/blog/2018/07/20/nimblelearn/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2019/03/01/datacurator/index.html b/blog/2019/03/01/datacurator/index.html index 17de18643..66a226a10 100644 --- a/blog/2019/03/01/datacurator/index.html +++ b/blog/2019/03/01/datacurator/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2019/05/20/used-and-useful-data/index.html b/blog/2019/05/20/used-and-useful-data/index.html index 88e3ff317..a52a0a4e6 100644 --- a/blog/2019/05/20/used-and-useful-data/index.html +++ b/blog/2019/05/20/used-and-useful-data/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2019/07/02/stephan-max/index.html b/blog/2019/07/02/stephan-max/index.html index 08847f698..a7bb77ab2 100644 --- a/blog/2019/07/02/stephan-max/index.html +++ b/blog/2019/07/02/stephan-max/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2019/07/03/nes/index.html b/blog/2019/07/03/nes/index.html index 52f65ca47..8b4bb4c6e 100644 --- a/blog/2019/07/03/nes/index.html +++ b/blog/2019/07/03/nes/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2019/07/09/open-referral/index.html b/blog/2019/07/09/open-referral/index.html index 07ff6a13c..b609bab12 100644 --- a/blog/2019/07/09/open-referral/index.html +++ b/blog/2019/07/09/open-referral/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2019/07/22/nimblelearn-dpc/index.html b/blog/2019/07/22/nimblelearn-dpc/index.html index 03bc1fbcc..45203140d 100644 --- a/blog/2019/07/22/nimblelearn-dpc/index.html +++ b/blog/2019/07/22/nimblelearn-dpc/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2019/08/29/welcome-frictionless-fellows/index.html b/blog/2019/08/29/welcome-frictionless-fellows/index.html index 3f51600b8..553536894 100644 --- a/blog/2019/08/29/welcome-frictionless-fellows/index.html +++ b/blog/2019/08/29/welcome-frictionless-fellows/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2019/09/12/andre-heughebaert/index.html b/blog/2019/09/12/andre-heughebaert/index.html index 4954e5ffc..af6e1f6ef 100644 --- a/blog/2019/09/12/andre-heughebaert/index.html +++ b/blog/2019/09/12/andre-heughebaert/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2019/10/21/fellows-reflect-on-open-access-week/index.html b/blog/2019/10/21/fellows-reflect-on-open-access-week/index.html index ccd392d4c..12d049157 100644 --- a/blog/2019/10/21/fellows-reflect-on-open-access-week/index.html +++ b/blog/2019/10/21/fellows-reflect-on-open-access-week/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/01/22/frictionless-darwincore/index.html b/blog/2020/01/22/frictionless-darwincore/index.html index 97242ef3b..93701ac77 100644 --- a/blog/2020/01/22/frictionless-darwincore/index.html +++ b/blog/2020/01/22/frictionless-darwincore/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/01/22/open-referral-tool/index.html b/blog/2020/01/22/open-referral-tool/index.html index 3aad1def8..f00c2cf0d 100644 --- a/blog/2020/01/22/open-referral-tool/index.html +++ b/blog/2020/01/22/open-referral-tool/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/01/23/nes-tool/index.html b/blog/2020/01/23/nes-tool/index.html index e09284952..da8668ee1 100644 --- a/blog/2020/01/23/nes-tool/index.html +++ b/blog/2020/01/23/nes-tool/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/index.html b/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/index.html index 7d4f043d8..ae0a7c3f7 100644 --- a/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/index.html +++ b/blog/2020/02/10/frictionless-data-pipelines-for-open-ocean/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/03/18/frictionless-data-pilot-study/index.html b/blog/2020/03/18/frictionless-data-pilot-study/index.html index 047cc8517..d491009fb 100644 --- a/blog/2020/03/18/frictionless-data-pilot-study/index.html +++ b/blog/2020/03/18/frictionless-data-pilot-study/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/03/20/joining-the-frictionless-data-team/index.html b/blog/2020/03/20/joining-the-frictionless-data-team/index.html index bb2b69284..3af207327 100644 --- a/blog/2020/03/20/joining-the-frictionless-data-team/index.html +++ b/blog/2020/03/20/joining-the-frictionless-data-team/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/04/16/annoucing-frictionless-data-virtual-hangout/index.html b/blog/2020/04/16/annoucing-frictionless-data-virtual-hangout/index.html index f87cfcdef..95d084260 100644 --- a/blog/2020/04/16/annoucing-frictionless-data-virtual-hangout/index.html +++ b/blog/2020/04/16/annoucing-frictionless-data-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/04/23/table-schema-catalog/index.html b/blog/2020/04/23/table-schema-catalog/index.html index 5f26d7b16..f5d551928 100644 --- a/blog/2020/04/23/table-schema-catalog/index.html +++ b/blog/2020/04/23/table-schema-catalog/index.html @@ -33,8 +33,8 @@ - - + +
- + diff --git a/blog/2020/04/28/recap-post-frictionless-data-hangout-april-2020/index.html b/blog/2020/04/28/recap-post-frictionless-data-hangout-april-2020/index.html index 6e7fe48cb..ea669e5da 100644 --- a/blog/2020/04/28/recap-post-frictionless-data-hangout-april-2020/index.html +++ b/blog/2020/04/28/recap-post-frictionless-data-hangout-april-2020/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/04/30/frictionless-data-workshop/index.html b/blog/2020/04/30/frictionless-data-workshop/index.html index b2a83eb2d..531be5fee 100644 --- a/blog/2020/04/30/frictionless-data-workshop/index.html +++ b/blog/2020/04/30/frictionless-data-workshop/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/05/01/announcing-new-website/index.html b/blog/2020/05/01/announcing-new-website/index.html index 660ec0183..9011e0db5 100644 --- a/blog/2020/05/01/announcing-new-website/index.html +++ b/blog/2020/05/01/announcing-new-website/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/05/20/frictionless-data-may-hangout/index.html b/blog/2020/05/20/frictionless-data-may-hangout/index.html index 66a1151ef..3257d245f 100644 --- a/blog/2020/05/20/frictionless-data-may-hangout/index.html +++ b/blog/2020/05/20/frictionless-data-may-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/05/22/etalab-case-study-schemas-data-gouv-fr/index.html b/blog/2020/05/22/etalab-case-study-schemas-data-gouv-fr/index.html index 937b979fd..ebb2cd059 100644 --- a/blog/2020/05/22/etalab-case-study-schemas-data-gouv-fr/index.html +++ b/blog/2020/05/22/etalab-case-study-schemas-data-gouv-fr/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/06/05/june-virtual-hangout/index.html b/blog/2020/06/05/june-virtual-hangout/index.html index 5bda5c990..0c37a96d2 100644 --- a/blog/2020/06/05/june-virtual-hangout/index.html +++ b/blog/2020/06/05/june-virtual-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/06/26/csvconf-frictionless-recap/index.html b/blog/2020/06/26/csvconf-frictionless-recap/index.html index b3ba716b4..fab770a99 100644 --- a/blog/2020/06/26/csvconf-frictionless-recap/index.html +++ b/blog/2020/06/26/csvconf-frictionless-recap/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/07/10/tool-fund-intermine/index.html b/blog/2020/07/10/tool-fund-intermine/index.html index 6eeea23a7..6dd5db705 100644 --- a/blog/2020/07/10/tool-fund-intermine/index.html +++ b/blog/2020/07/10/tool-fund-intermine/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/07/16/tool-fund-polar-institute/index.html b/blog/2020/07/16/tool-fund-polar-institute/index.html index 1d3f4929c..1c098afe2 100644 --- a/blog/2020/07/16/tool-fund-polar-institute/index.html +++ b/blog/2020/07/16/tool-fund-polar-institute/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/07/21/data-matrices-pilot/index.html b/blog/2020/07/21/data-matrices-pilot/index.html index 73b68d753..5be3c4c16 100644 --- a/blog/2020/07/21/data-matrices-pilot/index.html +++ b/blog/2020/07/21/data-matrices-pilot/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/08/03/tool-fund-cambridge-neuro/index.html b/blog/2020/08/03/tool-fund-cambridge-neuro/index.html index 9b0219012..e3c213348 100644 --- a/blog/2020/08/03/tool-fund-cambridge-neuro/index.html +++ b/blog/2020/08/03/tool-fund-cambridge-neuro/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/08/17/frictionless-wheat/index.html b/blog/2020/08/17/frictionless-wheat/index.html index 5271ed491..594fb2894 100644 --- a/blog/2020/08/17/frictionless-wheat/index.html +++ b/blog/2020/08/17/frictionless-wheat/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/08/27/august-virtual-hangout/index.html b/blog/2020/08/27/august-virtual-hangout/index.html index 5dbe0801f..0c9ae18a6 100644 --- a/blog/2020/08/27/august-virtual-hangout/index.html +++ b/blog/2020/08/27/august-virtual-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/09/01/hello-fellows-cohort2/index.html b/blog/2020/09/01/hello-fellows-cohort2/index.html index b1f0b6b33..7f82a4aee 100644 --- a/blog/2020/09/01/hello-fellows-cohort2/index.html +++ b/blog/2020/09/01/hello-fellows-cohort2/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/09/16/goodtables-bcodmo/index.html b/blog/2020/09/16/goodtables-bcodmo/index.html index 96f89e3e5..e09139d7c 100644 --- a/blog/2020/09/16/goodtables-bcodmo/index.html +++ b/blog/2020/09/16/goodtables-bcodmo/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/09/17/tool-fund-metrics/index.html b/blog/2020/09/17/tool-fund-metrics/index.html index 429de9c5a..51d7bc911 100644 --- a/blog/2020/09/17/tool-fund-metrics/index.html +++ b/blog/2020/09/17/tool-fund-metrics/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/10/08/frictionless-framework/index.html b/blog/2020/10/08/frictionless-framework/index.html index c4acf8002..ddc561ca7 100644 --- a/blog/2020/10/08/frictionless-framework/index.html +++ b/blog/2020/10/08/frictionless-framework/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/10/19/fellows-reflect-on-open-access-week/index.html b/blog/2020/10/19/fellows-reflect-on-open-access-week/index.html index 5fa69f29f..922ae1dc3 100644 --- a/blog/2020/10/19/fellows-reflect-on-open-access-week/index.html +++ b/blog/2020/10/19/fellows-reflect-on-open-access-week/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/10/28/october-virtual-hangout/index.html b/blog/2020/10/28/october-virtual-hangout/index.html index aa18bb602..7b03aca36 100644 --- a/blog/2020/10/28/october-virtual-hangout/index.html +++ b/blog/2020/10/28/october-virtual-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/11/18/dryad-pilot/index.html b/blog/2020/11/18/dryad-pilot/index.html index a303f0e5c..9c4c63ed4 100644 --- a/blog/2020/11/18/dryad-pilot/index.html +++ b/blog/2020/11/18/dryad-pilot/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/11/19/november-virtual-hangout/index.html b/blog/2020/11/19/november-virtual-hangout/index.html index 49d5c295b..d5c1d1416 100644 --- a/blog/2020/11/19/november-virtual-hangout/index.html +++ b/blog/2020/11/19/november-virtual-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2020/11/26/fellows-packaging/index.html b/blog/2020/11/26/fellows-packaging/index.html index 286f4ad48..dc734c8a8 100644 --- a/blog/2020/11/26/fellows-packaging/index.html +++ b/blog/2020/11/26/fellows-packaging/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2020/12/17/december-virtual-hangout/index.html b/blog/2020/12/17/december-virtual-hangout/index.html index 5c739dabe..7565daa29 100644 --- a/blog/2020/12/17/december-virtual-hangout/index.html +++ b/blog/2020/12/17/december-virtual-hangout/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2021/01/13/partnering-with-odi/index.html b/blog/2021/01/13/partnering-with-odi/index.html index f1851a299..4665b0db7 100644 --- a/blog/2021/01/13/partnering-with-odi/index.html +++ b/blog/2021/01/13/partnering-with-odi/index.html @@ -35,8 +35,8 @@ - - + +
- + diff --git a/blog/2021/01/18/schema-collaboration/index.html b/blog/2021/01/18/schema-collaboration/index.html index 2386e1c6c..40df9149f 100644 --- a/blog/2021/01/18/schema-collaboration/index.html +++ b/blog/2021/01/18/schema-collaboration/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/01/26/sara-petti/index.html b/blog/2021/01/26/sara-petti/index.html index 578ad6675..6a4032946 100644 --- a/blog/2021/01/26/sara-petti/index.html +++ b/blog/2021/01/26/sara-petti/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/01/30/fellows-validation/index.html b/blog/2021/01/30/fellows-validation/index.html index 7ca24c90d..9794ec34b 100644 --- a/blog/2021/01/30/fellows-validation/index.html +++ b/blog/2021/01/30/fellows-validation/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/02/03/january-virtual-hangout/index.html b/blog/2021/02/03/january-virtual-hangout/index.html index 5ed953d98..d01d9d634 100644 --- a/blog/2021/02/03/january-virtual-hangout/index.html +++ b/blog/2021/02/03/january-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/02/04/tableschema-to-template/index.html b/blog/2021/02/04/tableschema-to-template/index.html index 34fed7f77..28d7da610 100644 --- a/blog/2021/02/04/tableschema-to-template/index.html +++ b/blog/2021/02/04/tableschema-to-template/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/02/26/halfway-odi/index.html b/blog/2021/02/26/halfway-odi/index.html index f9024c299..07bab573e 100644 --- a/blog/2021/02/26/halfway-odi/index.html +++ b/blog/2021/02/26/halfway-odi/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/03/01/february-virtual-hangout/index.html b/blog/2021/03/01/february-virtual-hangout/index.html index 5df03a752..2cdb2642f 100644 --- a/blog/2021/03/01/february-virtual-hangout/index.html +++ b/blog/2021/03/01/february-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/03/05/frictionless-data-for-wheat/index.html b/blog/2021/03/05/frictionless-data-for-wheat/index.html index ae0df35da..28947ab9e 100644 --- a/blog/2021/03/05/frictionless-data-for-wheat/index.html +++ b/blog/2021/03/05/frictionless-data-for-wheat/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/03/10/fellows-reproducing/index.html b/blog/2021/03/10/fellows-reproducing/index.html index 263822700..b46f34075 100644 --- a/blog/2021/03/10/fellows-reproducing/index.html +++ b/blog/2021/03/10/fellows-reproducing/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/03/29/february-virtual-hangout/index.html b/blog/2021/03/29/february-virtual-hangout/index.html index 66c78dacb..0f9b58593 100644 --- a/blog/2021/03/29/february-virtual-hangout/index.html +++ b/blog/2021/03/29/february-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/04/13/data-package-for-intermine/index.html b/blog/2021/04/13/data-package-for-intermine/index.html index dc15b6c42..3200724b5 100644 --- a/blog/2021/04/13/data-package-for-intermine/index.html +++ b/blog/2021/04/13/data-package-for-intermine/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/04/14/new-data-documentation-portal/index.html b/blog/2021/04/14/new-data-documentation-portal/index.html index 64dead3b8..75ba5f728 100644 --- a/blog/2021/04/14/new-data-documentation-portal/index.html +++ b/blog/2021/04/14/new-data-documentation-portal/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/05/03/april-virtual-hangout/index.html b/blog/2021/05/03/april-virtual-hangout/index.html index 7a76cf890..e6f2a7760 100644 --- a/blog/2021/05/03/april-virtual-hangout/index.html +++ b/blog/2021/05/03/april-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/06/01/may-virtual-hangout/index.html b/blog/2021/06/01/may-virtual-hangout/index.html index 5b67232aa..12135f17a 100644 --- a/blog/2021/06/01/may-virtual-hangout/index.html +++ b/blog/2021/06/01/may-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/06/16/new-changes-to-the-website/index.html b/blog/2021/06/16/new-changes-to-the-website/index.html index 98e50756f..93f4ecadd 100644 --- a/blog/2021/06/16/new-changes-to-the-website/index.html +++ b/blog/2021/06/16/new-changes-to-the-website/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/06/22/livemark/index.html b/blog/2021/06/22/livemark/index.html index 68d9b3bf0..173c96848 100644 --- a/blog/2021/06/22/livemark/index.html +++ b/blog/2021/06/22/livemark/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/06/25/june-virtual-hangout/index.html b/blog/2021/06/25/june-virtual-hangout/index.html index 2aac3af78..c6e717299 100644 --- a/blog/2021/06/25/june-virtual-hangout/index.html +++ b/blog/2021/06/25/june-virtual-hangout/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/06/28/frictionless-specs-european-commission/index.html b/blog/2021/06/28/frictionless-specs-european-commission/index.html index 4a2cb3677..92a24d1c0 100644 --- a/blog/2021/06/28/frictionless-specs-european-commission/index.html +++ b/blog/2021/06/28/frictionless-specs-european-commission/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/07/02/farewell-fellows/index.html b/blog/2021/07/02/farewell-fellows/index.html index f57b85e5a..9ecb1ac60 100644 --- a/blog/2021/07/02/farewell-fellows/index.html +++ b/blog/2021/07/02/farewell-fellows/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/07/12/open-data-blend/index.html b/blog/2021/07/12/open-data-blend/index.html index 6cdaeeb83..44ee19bf8 100644 --- a/blog/2021/07/12/open-data-blend/index.html +++ b/blog/2021/07/12/open-data-blend/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/07/21/frictionless-repository/index.html b/blog/2021/07/21/frictionless-repository/index.html index 1d8f107b8..4587749a5 100644 --- a/blog/2021/07/21/frictionless-repository/index.html +++ b/blog/2021/07/21/frictionless-repository/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/08/02/apply-fellows/index.html b/blog/2021/08/02/apply-fellows/index.html index f89389247..141e2f3f0 100644 --- a/blog/2021/08/02/apply-fellows/index.html +++ b/blog/2021/08/02/apply-fellows/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/08/06/recap-community-calls/index.html b/blog/2021/08/06/recap-community-calls/index.html index 2fb88ca18..c3dbb0402 100644 --- a/blog/2021/08/06/recap-community-calls/index.html +++ b/blog/2021/08/06/recap-community-calls/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/08/09/dryad-pilot/index.html b/blog/2021/08/09/dryad-pilot/index.html index 7eac0157c..7d3fe9a6c 100644 --- a/blog/2021/08/09/dryad-pilot/index.html +++ b/blog/2021/08/09/dryad-pilot/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/08/16/august-12-call/index.html b/blog/2021/08/16/august-12-call/index.html index 523a4728b..3212f4558 100644 --- a/blog/2021/08/16/august-12-call/index.html +++ b/blog/2021/08/16/august-12-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/08/31/august-26-community-call/index.html b/blog/2021/08/31/august-26-community-call/index.html index e4c0fdfc7..0d3457108 100644 --- a/blog/2021/08/31/august-26-community-call/index.html +++ b/blog/2021/08/31/august-26-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/09/30/hackathon-preview/index.html b/blog/2021/09/30/hackathon-preview/index.html index 3ac757742..d6d3e4ac0 100644 --- a/blog/2021/09/30/hackathon-preview/index.html +++ b/blog/2021/09/30/hackathon-preview/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/10/06/september-community-call/index.html b/blog/2021/10/06/september-community-call/index.html index d81149791..a0b2c61cf 100644 --- a/blog/2021/10/06/september-community-call/index.html +++ b/blog/2021/10/06/september-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/10/13/hackathon-wrap/index.html b/blog/2021/10/13/hackathon-wrap/index.html index 74a03ec23..aceff5a40 100644 --- a/blog/2021/10/13/hackathon-wrap/index.html +++ b/blog/2021/10/13/hackathon-wrap/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/11/03/october-community-call/index.html b/blog/2021/11/03/october-community-call/index.html index 703ded627..57a253b5f 100644 --- a/blog/2021/11/03/october-community-call/index.html +++ b/blog/2021/11/03/october-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/11/23/november-community-call/index.html b/blog/2021/11/23/november-community-call/index.html index 83158464d..aa9cf316b 100644 --- a/blog/2021/11/23/november-community-call/index.html +++ b/blog/2021/11/23/november-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/12/07/_3rd-cohort-fellows/index.html b/blog/2021/12/07/_3rd-cohort-fellows/index.html index cf8814c99..06d6e34be 100644 --- a/blog/2021/12/07/_3rd-cohort-fellows/index.html +++ b/blog/2021/12/07/_3rd-cohort-fellows/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2021/12/17/december-community-call/index.html b/blog/2021/12/17/december-community-call/index.html index 192a2d79f..6edcf719f 100644 --- a/blog/2021/12/17/december-community-call/index.html +++ b/blog/2021/12/17/december-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/01/12/frictionless-dp-for-nih-cfde-project/index.html b/blog/2022/01/12/frictionless-dp-for-nih-cfde-project/index.html index 3ec7939ed..703b60aaa 100644 --- a/blog/2022/01/12/frictionless-dp-for-nih-cfde-project/index.html +++ b/blog/2022/01/12/frictionless-dp-for-nih-cfde-project/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/01/18/frictionless-planet/index.html b/blog/2022/01/18/frictionless-planet/index.html index e0e938d00..09121fde1 100644 --- a/blog/2022/01/18/frictionless-planet/index.html +++ b/blog/2022/01/18/frictionless-planet/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/02/02/january-community-call/index.html b/blog/2022/02/02/january-community-call/index.html index 8b9191bca..f3e7e5b9b 100644 --- a/blog/2022/02/02/january-community-call/index.html +++ b/blog/2022/02/02/january-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/02/07/libraries-hacked/index.html b/blog/2022/02/07/libraries-hacked/index.html index 0faeab1cf..3c61f89c2 100644 --- a/blog/2022/02/07/libraries-hacked/index.html +++ b/blog/2022/02/07/libraries-hacked/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/02/10/nasa-earth-mission-science/index.html b/blog/2022/02/10/nasa-earth-mission-science/index.html index 23687b054..db4b8c7a2 100644 --- a/blog/2022/02/10/nasa-earth-mission-science/index.html +++ b/blog/2022/02/10/nasa-earth-mission-science/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/03/03/community-call-february/index.html b/blog/2022/03/03/community-call-february/index.html index 743a6f874..3a8fcd616 100644 --- a/blog/2022/03/03/community-call-february/index.html +++ b/blog/2022/03/03/community-call-february/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/03/05/fellows-datapackage/index.html b/blog/2022/03/05/fellows-datapackage/index.html index 47d69a9c5..1afb807df 100644 --- a/blog/2022/03/05/fellows-datapackage/index.html +++ b/blog/2022/03/05/fellows-datapackage/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/03/09/save-our-planet/index.html b/blog/2022/03/09/save-our-planet/index.html index 99249a09a..f52495b4f 100644 --- a/blog/2022/03/09/save-our-planet/index.html +++ b/blog/2022/03/09/save-our-planet/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/04/13/march-community-call/index.html b/blog/2022/04/13/march-community-call/index.html index b3e0b1265..1c40dc759 100644 --- a/blog/2022/04/13/march-community-call/index.html +++ b/blog/2022/04/13/march-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/05/05/april-community-call/index.html b/blog/2022/05/05/april-community-call/index.html index 07303c2b6..ed43a2c22 100644 --- a/blog/2022/05/05/april-community-call/index.html +++ b/blog/2022/05/05/april-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/05/15/fellows-reproducing-datapackages/index.html b/blog/2022/05/15/fellows-reproducing-datapackages/index.html index de114b7a8..2ca3d3092 100644 --- a/blog/2022/05/15/fellows-reproducing-datapackages/index.html +++ b/blog/2022/05/15/fellows-reproducing-datapackages/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/05/24/tu-delft-training/index.html b/blog/2022/05/24/tu-delft-training/index.html index 86b15c783..7d7a9910b 100644 --- a/blog/2022/05/24/tu-delft-training/index.html +++ b/blog/2022/05/24/tu-delft-training/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/06/01/deploy-solutions/index.html b/blog/2022/06/01/deploy-solutions/index.html index 5f2f4389c..575b7d78a 100644 --- a/blog/2022/06/01/deploy-solutions/index.html +++ b/blog/2022/06/01/deploy-solutions/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/07/04/june-community-call/index.html b/blog/2022/07/04/june-community-call/index.html index 741668639..97c0b349e 100644 --- a/blog/2022/07/04/june-community-call/index.html +++ b/blog/2022/07/04/june-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/07/05/frictionless-planet-conversation/index.html b/blog/2022/07/05/frictionless-planet-conversation/index.html index c3f89b7b7..e928d8844 100644 --- a/blog/2022/07/05/frictionless-planet-conversation/index.html +++ b/blog/2022/07/05/frictionless-planet-conversation/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/07/14/flatterer/index.html b/blog/2022/07/14/flatterer/index.html index 1026f32c0..751c05924 100644 --- a/blog/2022/07/14/flatterer/index.html +++ b/blog/2022/07/14/flatterer/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/07/20/lilly-message-to-community/index.html b/blog/2022/07/20/lilly-message-to-community/index.html index 1ba1144b3..e8cf311f2 100644 --- a/blog/2022/07/20/lilly-message-to-community/index.html +++ b/blog/2022/07/20/lilly-message-to-community/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/08/03/community-call-july-flatterer/index.html b/blog/2022/08/03/community-call-july-flatterer/index.html index fc91d6682..fdad4657b 100644 --- a/blog/2022/08/03/community-call-july-flatterer/index.html +++ b/blog/2022/08/03/community-call-july-flatterer/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/08/29/frictionless-framework-release/index.html b/blog/2022/08/29/frictionless-framework-release/index.html index 64de33357..b60ae693d 100644 --- a/blog/2022/08/29/frictionless-framework-release/index.html +++ b/blog/2022/08/29/frictionless-framework-release/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/08/30/community-call-github-integration/index.html b/blog/2022/08/30/community-call-github-integration/index.html index 62c9e689b..eac8ea491 100644 --- a/blog/2022/08/30/community-call-github-integration/index.html +++ b/blog/2022/08/30/community-call-github-integration/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/09/15/deploy-solutions/index.html b/blog/2022/09/15/deploy-solutions/index.html index 305f460f1..9deee5b08 100644 --- a/blog/2022/09/15/deploy-solutions/index.html +++ b/blog/2022/09/15/deploy-solutions/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/09/20/mysociety-workflow/index.html b/blog/2022/09/20/mysociety-workflow/index.html index bf37a0846..e2f2c6570 100644 --- a/blog/2022/09/20/mysociety-workflow/index.html +++ b/blog/2022/09/20/mysociety-workflow/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/11/02/october-call/index.html b/blog/2022/11/02/october-call/index.html index f60f7b892..4242e394d 100644 --- a/blog/2022/11/02/october-call/index.html +++ b/blog/2022/11/02/october-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2022/12/07/community-call/index.html b/blog/2022/12/07/community-call/index.html index f5f4ac81f..7f10a7f53 100644 --- a/blog/2022/12/07/community-call/index.html +++ b/blog/2022/12/07/community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/01/06/datapackage-as-a-service/index.html b/blog/2023/01/06/datapackage-as-a-service/index.html index 34e8296f6..0abdfa529 100644 --- a/blog/2023/01/06/datapackage-as-a-service/index.html +++ b/blog/2023/01/06/datapackage-as-a-service/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/01/31/frictionless-at-fosdem/index.html b/blog/2023/01/31/frictionless-at-fosdem/index.html index f9089ba1a..20f3d4302 100644 --- a/blog/2023/01/31/frictionless-at-fosdem/index.html +++ b/blog/2023/01/31/frictionless-at-fosdem/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/02/06/community-call/index.html b/blog/2023/02/06/community-call/index.html index 69edc7c5d..e6309fbe1 100644 --- a/blog/2023/02/06/community-call/index.html +++ b/blog/2023/02/06/community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/03/01/february-community-call/index.html b/blog/2023/03/01/february-community-call/index.html index a39060d00..601f4760f 100644 --- a/blog/2023/03/01/february-community-call/index.html +++ b/blog/2023/03/01/february-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/04/06/march-community-call/index.html b/blog/2023/04/06/march-community-call/index.html index 0cde74c61..ee36daf19 100644 --- a/blog/2023/04/06/march-community-call/index.html +++ b/blog/2023/04/06/march-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/05/08/april-community-call/index.html b/blog/2023/05/08/april-community-call/index.html index 6b28a03f8..a44b2f537 100644 --- a/blog/2023/05/08/april-community-call/index.html +++ b/blog/2023/05/08/april-community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/05/12/csv-conf/index.html b/blog/2023/05/12/csv-conf/index.html index ca6e46ed4..e46d35cb7 100644 --- a/blog/2023/05/12/csv-conf/index.html +++ b/blog/2023/05/12/csv-conf/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/06/05/community-call-fastetl/index.html b/blog/2023/06/05/community-call-fastetl/index.html index ecd54267d..78f979b6e 100644 --- a/blog/2023/06/05/community-call-fastetl/index.html +++ b/blog/2023/06/05/community-call-fastetl/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/07/05/community-call/index.html b/blog/2023/07/05/community-call/index.html index 63cc7efb5..9bf42dc2f 100644 --- a/blog/2023/07/05/community-call/index.html +++ b/blog/2023/07/05/community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/10/02/community-call/index.html b/blog/2023/10/02/community-call/index.html index 6b4585526..7aed05182 100644 --- a/blog/2023/10/02/community-call/index.html +++ b/blog/2023/10/02/community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/11/06/community-call/index.html b/blog/2023/11/06/community-call/index.html index 3b1f8b9ad..0dfd61150 100644 --- a/blog/2023/11/06/community-call/index.html +++ b/blog/2023/11/06/community-call/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/2023/11/15/frictionless-specs-update/index.html b/blog/2023/11/15/frictionless-specs-update/index.html index 6d7059f7d..8ca82a0c1 100644 --- a/blog/2023/11/15/frictionless-specs-update/index.html +++ b/blog/2023/11/15/frictionless-specs-update/index.html @@ -38,8 +38,8 @@ - - + +
- + diff --git a/blog/index.html b/blog/index.html index 5ff880610..ad7425a13 100644 --- a/blog/index.html +++ b/blog/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/page/10/index.html b/blog/page/10/index.html index c2507cc74..7855a8306 100644 --- a/blog/page/10/index.html +++ b/blog/page/10/index.html @@ -30,8 +30,8 @@ - - + +
- + diff --git a/blog/page/12/index.html b/blog/page/12/index.html index 455eed13b..7cce84287 100644 --- a/blog/page/12/index.html +++ b/blog/page/12/index.html @@ -30,8 +30,8 @@ - - + +
  • Packaging your Data +
    + July 16, 2018 by Frictionless Data +

    You can package any kind of data as a Data Package.

    +

  • Visible, findable, shareable data
    July 16, 2018 by Frictionless Data

    Getting your data out into the world is a crucial step towards its being used and useful. We walk through the steps to publishing on the top data platforms.

  • Getting your data out into the world is a crucial step towards its being used and useful. We walk through the steps to publishing on the top data platforms.

  • Validating Data
    July 9, 2018 by Frictionless Data -

    This page provides an overview CSV (Comma Separated Values) format for data.

    -

  • Developer Guide
    July 9, 2018 by Frictionless Data

    This guide introduces you to the Frictionless Data tool stack and how you can contribute to it. Update note (2021): this blog is out of date. Please see the contributing guide for updated information.

    -

  • CSV - Comma Separated Values
    July 9, 2018 by Frictionless Data -



  • - + diff --git a/blog/page/14/index.html b/blog/page/14/index.html index 481a95733..87511abb0 100644 --- a/blog/page/14/index.html +++ b/blog/page/14/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/15/index.html b/blog/page/15/index.html index eebc038ed..9d18fd052 100644 --- a/blog/page/15/index.html +++ b/blog/page/15/index.html @@ -30,8 +30,8 @@ - - + +
  • Center for Data Science and Public Policy, Workforce Data Initiative
    August 15, 2017 by Frictionless Data

    Supporting state and local workforce boards in managing and publishing data.

  • Supporting state and local workforce boards in managing and publishing data.

  • Causa Natura - Pescando Datos +
    + August 15, 2017 by Gabriela Rodriguez (Causa Natura/Engine Room), Adrià Mercader (OKI), Jo Barratt (OKI), Eduardo Rolón (Causa Natura) +

    Using goodtables to improve quality of data to support fisher communities and advocacy groups.

  • University of Cambridge - Retinal Mosaics
    August 15, 2017 by Stephen Eglen (University of Cambridge), Dan Fowler (OKI)
  • Matrix
  • - + diff --git a/blog/page/16/index.html b/blog/page/16/index.html index c165d1074..6c93bf8af 100644 --- a/blog/page/16/index.html +++ b/blog/page/16/index.html @@ -30,8 +30,8 @@ - - + +
  • Open Power System Data +
    + November 15, 2016 by Lion Hirth and Ingmar Schlecht +

    A free-of-charge and open platform providing the data needed for power system analysis and modeling.

  • Tesera +
    + November 15, 2016 by Spencer Cox +

    Creating data-driven applications in the cloud.

  • Dataship
    November 15, 2016 by Frictionless Data

    A way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free.

  • Open Power System Data -
    - November 15, 2016 by Lion Hirth and Ingmar Schlecht -

    A free-of-charge and open platform providing the data needed for power system analysis and modeling.

  • Tesera -
    - November 15, 2016 by Spencer Cox -

    Creating data-driven applications in the cloud.

  • A way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free.

  • Publish Data as Data Packages - Overview
    August 30, 2016 by Frictionless Data

    A guide on how to publish datapackages

  • Matrix
  • - + diff --git a/blog/page/17/index.html b/blog/page/17/index.html index f0042813e..caeb9fb29 100644 --- a/blog/page/17/index.html +++ b/blog/page/17/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 9703a5210..961d57314 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/3/index.html b/blog/page/3/index.html index 5ac3247a1..25c661c52 100644 --- a/blog/page/3/index.html +++ b/blog/page/3/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/4/index.html b/blog/page/4/index.html index 2f846e3b0..405f22b6e 100644 --- a/blog/page/4/index.html +++ b/blog/page/4/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/5/index.html b/blog/page/5/index.html index 3e1b8a59d..0a6c2d019 100644 --- a/blog/page/5/index.html +++ b/blog/page/5/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/6/index.html b/blog/page/6/index.html index 9cfd3de2e..2916f4127 100644 --- a/blog/page/6/index.html +++ b/blog/page/6/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/7/index.html b/blog/page/7/index.html index 4a8a6fc8f..0a86859ae 100644 --- a/blog/page/7/index.html +++ b/blog/page/7/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/8/index.html b/blog/page/8/index.html index b718ca62d..76ae2d33e 100644 --- a/blog/page/8/index.html +++ b/blog/page/8/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/blog/page/9/index.html b/blog/page/9/index.html index c9a21e90e..2232dcd9a 100644 --- a/blog/page/9/index.html +++ b/blog/page/9/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/design/index.html b/design/index.html index 4e76e4cca..637590993 100644 --- a/design/index.html +++ b/design/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/development/architecture/index.html b/development/architecture/index.html index 778e849a9..29c689a89 100644 --- a/development/architecture/index.html +++ b/development/architecture/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/development/process/index.html b/development/process/index.html index befb8d684..251dd5eab 100644 --- a/development/process/index.html +++ b/development/process/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/development/roadmap/index.html b/development/roadmap/index.html index 5f9d3f27c..43cebfb55 100644 --- a/development/roadmap/index.html +++ b/development/roadmap/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/feed.atom b/feed.atom index a3f27c8a3..b68fa7da5 100644 --- a/feed.atom +++ b/feed.atom @@ -2,7 +2,7 @@ https://frictionlessdata.io Frictionless Data - 2023-11-15T16:03:38.637Z + 2023-12-06T09:28:56.340Z https://github.com/webmasterish/vuepress-plugin-feed diff --git a/hackathon/README(pt-br).html b/hackathon/README(pt-br).html index 1f6ea9246..eacce0ae2 100644 --- a/hackathon/README(pt-br).html +++ b/hackathon/README(pt-br).html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/hackathon/index.html b/hackathon/index.html index 06ac0c7d1..ee8e9badf 100644 --- a/hackathon/index.html +++ b/hackathon/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/img/blog/Specs Update-call-november-2023.png b/img/blog/Specs Update-call-november-2023.png new file mode 100644 index 000000000..b5c330bbf Binary files /dev/null and b/img/blog/Specs Update-call-november-2023.png differ diff --git a/index.html b/index.html index 95116f739..55929cd43 100644 --- a/index.html +++ b/index.html @@ -33,8 +33,8 @@ - - + +
    - + diff --git a/introduction/index.html b/introduction/index.html index e4d247d39..f1b00b96c 100644 --- a/introduction/index.html +++ b/introduction/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/people/index.html b/people/index.html index aea5082c3..c584b68bc 100644 --- a/people/index.html +++ b/people/index.html @@ -30,8 +30,8 @@ - - + +
    Lily Zhao

    Lily Zhao

    Work
    Work icons created by Freepik - Flaticon
    Reproducible Research Fellow 2019-2020
    City
    World icons created by Freepik - Flaticon
    USA

    # Code Contributors

    Frictionless Data is possible due to our awesome contributor community. You can click on the pictures below to see code contributions in detail. This is only a subset of all the people working on the project - please take a look on our Github Organization (opens new window) to view more. Are you interested in contributing? Check out our Contributing page to get started.

    project

    website

    specs

    datahub.io

    frictionless-py

    frictionless-js

    frictionless-r

    datapackage-py

    tableschema-py

    datapackage-js

    tableschema-js

    datapackage-rb

    tableschema-rb

    datapackage-php

    tableschema-php

    datapackage-java

    tableschema-java

    datapackage-go

    tableschema-go

    datapackage-r

    tableschema-r

    datapackage-swift

    tableschema-swift

    datapackage-jl

    tableschema-jl

    datapackage-clj

    tableschema-clj


    - + diff --git a/projects/index.html b/projects/index.html index b717a184f..791dfb98a 100644 --- a/projects/index.html +++ b/projects/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/rss.xml b/rss.xml index 571220a11..a9261fd8f 100644 --- a/rss.xml +++ b/rss.xml @@ -4,7 +4,7 @@ Frictionless Data https://frictionlessdata.io Data software and standards - Wed, 15 Nov 2023 16:03:38 GMT + Wed, 06 Dec 2023 09:28:56 GMT http://blogs.law.harvard.edu/tech/rss https://github.com/webmasterish/vuepress-plugin-feed diff --git a/tag/Clojure/index.html b/tag/Clojure/index.html index f3aebeed9..7a2b8f6af 100644 --- a/tag/Clojure/index.html +++ b/tag/Clojure/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Command-line/index.html b/tag/Command-line/index.html index d64c9173a..40d2ba705 100644 --- a/tag/Command-line/index.html +++ b/tag/Command-line/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Data CLI/index.html b/tag/Data CLI/index.html index f92034fe1..cc0bf3a7b 100644 --- a/tag/Data CLI/index.html +++ b/tag/Data CLI/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Data Package Creator/index.html b/tag/Data Package Creator/index.html index 0c29ff4c5..1c2806195 100644 --- a/tag/Data Package Creator/index.html +++ b/tag/Data Package Creator/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Data Package/index.html b/tag/Data Package/index.html index 54faa306e..c79588cc9 100644 --- a/tag/Data Package/index.html +++ b/tag/Data Package/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Go/index.html b/tag/Go/index.html index 89016a7c2..fbe2f4637 100644 --- a/tag/Go/index.html +++ b/tag/Go/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Goodtables CLI/index.html b/tag/Goodtables CLI/index.html index 3b7c48d1e..bbefdc657 100644 --- a/tag/Goodtables CLI/index.html +++ b/tag/Goodtables CLI/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Goodtables/index.html b/tag/Goodtables/index.html index 387fe12f0..ce718890c 100644 --- a/tag/Goodtables/index.html +++ b/tag/Goodtables/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Java/index.html b/tag/Java/index.html index ce5cfd55b..d3635b96f 100644 --- a/tag/Java/index.html +++ b/tag/Java/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/JavaScript/index.html b/tag/JavaScript/index.html index f327f44c3..d9ed0b6ce 100644 --- a/tag/JavaScript/index.html +++ b/tag/JavaScript/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/Python/index.html b/tag/Python/index.html index 4fa36443b..dc64e2f9e 100644 --- a/tag/Python/index.html +++ b/tag/Python/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/R/index.html b/tag/R/index.html index dced6cfa4..21b8e4f36 100644 --- a/tag/R/index.html +++ b/tag/R/index.html @@ -30,8 +30,8 @@ - - + +
    - +

    A guide on how to create datapackage with R

    + diff --git a/tag/case-studies/index.html b/tag/case-studies/index.html index 9b67be99f..c3ddd1539 100644 --- a/tag/case-studies/index.html +++ b/tag/case-studies/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/case-studies/page/2/index.html b/tag/case-studies/page/2/index.html index 90382a021..2e670cd0c 100644 --- a/tag/case-studies/page/2/index.html +++ b/tag/case-studies/page/2/index.html @@ -30,8 +30,8 @@ - - + +
  • John Snow Labs
    March 28, 2017 by Ida Lucente

    Turnkey data to data science, analytics and software teams in healthcare industry.

  • Dataship -
    November 15, 2016 by Frictionless Data

    A way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free.

  • Turnkey data to data science, analytics and software teams in healthcare industry.

  • Open Power System Data
    November 15, 2016 by Lion Hirth and Ingmar Schlecht

    A free-of-charge and open platform providing the data needed for power system analysis and modeling.

  • - +

    A free-of-charge and open platform providing the data needed for power system analysis and modeling.

  • Tesera +
    November 15, 2016 by Spencer Cox

    Creating data-driven applications in the cloud.

  • + diff --git a/tag/case-studies/page/3/index.html b/tag/case-studies/page/3/index.html index c5bf2c317..f49fef361 100644 --- a/tag/case-studies/page/3/index.html +++ b/tag/case-studies/page/3/index.html @@ -30,8 +30,8 @@ - - + +
    - + + Data Package + + goodtables.io + + Data CLI +

    A way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free.

    + diff --git a/tag/community-hangout/index.html b/tag/community-hangout/index.html index d9d030321..70a638f72 100644 --- a/tag/community-hangout/index.html +++ b/tag/community-hangout/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/community-hangout/page/2/index.html b/tag/community-hangout/page/2/index.html index 520dd60b4..a6deed5dd 100644 --- a/tag/community-hangout/page/2/index.html +++ b/tag/community-hangout/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/community-hangout/page/3/index.html b/tag/community-hangout/page/3/index.html index bca4b9d85..3eb0bd15c 100644 --- a/tag/community-hangout/page/3/index.html +++ b/tag/community-hangout/page/3/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/community-hangout/page/4/index.html b/tag/community-hangout/page/4/index.html index db4343aef..25aa51835 100644 --- a/tag/community-hangout/page/4/index.html +++ b/tag/community-hangout/page/4/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/csv/index.html b/tag/csv/index.html index 813dafc22..cf87b5595 100644 --- a/tag/csv/index.html +++ b/tag/csv/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/datapackage/index.html b/tag/datapackage/index.html index 22d16bd5a..e3bb435e8 100644 --- a/tag/datapackage/index.html +++ b/tag/datapackage/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/events/index.html b/tag/events/index.html index 0be246034..bf0de78d8 100644 --- a/tag/events/index.html +++ b/tag/events/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/events/page/2/index.html b/tag/events/page/2/index.html index 0fc2e67af..1c97991f6 100644 --- a/tag/events/page/2/index.html +++ b/tag/events/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/events/page/3/index.html b/tag/events/page/3/index.html index 69b7105b4..88ddaf585 100644 --- a/tag/events/page/3/index.html +++ b/tag/events/page/3/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/events/page/4/index.html b/tag/events/page/4/index.html index 58524c368..a8c2b9bf1 100644 --- a/tag/events/page/4/index.html +++ b/tag/events/page/4/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/events/page/5/index.html b/tag/events/page/5/index.html index 31c616329..0ff5716d1 100644 --- a/tag/events/page/5/index.html +++ b/tag/events/page/5/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/fellows/index.html b/tag/fellows/index.html index 52ca157ee..eff47a708 100644 --- a/tag/fellows/index.html +++ b/tag/fellows/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/fellows/page/2/index.html b/tag/fellows/page/2/index.html index c506a7825..7d3c9e051 100644 --- a/tag/fellows/page/2/index.html +++ b/tag/fellows/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/field-guide/index.html b/tag/field-guide/index.html index 5c75b96b4..0881f1240 100644 --- a/tag/field-guide/index.html +++ b/tag/field-guide/index.html @@ -30,8 +30,8 @@ - - + +
  • Automatically validated tabular data -
    March 12, 2018 by Frictionless Data

    Automatic validation means you'll be the first to know if a change in your data causes a problem. Learn how to incorporate automatic validation into your workflow.

  • Getting your data out into the world is a crucial step towards its being used and useful. We walk through the steps to publishing on the top data platforms.

  • Data publication workflow example
    March 12, 2018 by Frictionless Data

    There's a lot to see in the world of Frictionless Data. If you're confused about how it all comes together, take a look at our publication workflow example.

  • There's a lot to see in the world of Frictionless Data. If you're confused about how it all comes together, take a look at our publication workflow example.

  • Automatically validated tabular data +
    March 12, 2018 by Frictionless Data

    Automatic validation means you'll be the first to know if a change in your data causes a problem. Learn how to incorporate automatic validation into your workflow.

  • Well packaged datasets
    March 7, 2018 by Frictionless Data

    There's an art to creating a good collection of data. Improve the quality of your datasets; making use of schemas, metadata, and data packages.

  • - + diff --git a/tag/goodtables.io/index.html b/tag/goodtables.io/index.html index d3944690b..6542b3975 100644 --- a/tag/goodtables.io/index.html +++ b/tag/goodtables.io/index.html @@ -30,8 +30,8 @@ - - + +
  • Automatically validated tabular data -
    March 12, 2018 by Frictionless Data

    Automatic validation means you'll be the first to know if a change in your data causes a problem. Learn how to incorporate automatic validation into your workflow.

  • Concerned that your data is just not being used? We've got some great tips, and best practices to improve the uptake in your data use

  • Data publication workflow example
    March 12, 2018 by Frictionless Data

    There's a lot to see in the world of Frictionless Data. If you're confused about how it all comes together, take a look at our publication workflow example.

  • There's a lot to see in the world of Frictionless Data. If you're confused about how it all comes together, take a look at our publication workflow example.

  • Automatically validated tabular data +
    March 12, 2018 by Frictionless Data

    Automatic validation means you'll be the first to know if a change in your data causes a problem. Learn how to incorporate automatic validation into your workflow.

  • Dataship
    November 15, 2016 by Frictionless Data

    A way to share data and analysis, from simple charts to complex machine learning, with anyone in the world easily and for free.

  • - + diff --git a/tag/grantee-profiles/index.html b/tag/grantee-profiles/index.html index 2e0376fdd..3c876b76e 100644 --- a/tag/grantee-profiles/index.html +++ b/tag/grantee-profiles/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/index.html b/tag/index.html index ee68c14d2..5061efa9f 100644 --- a/tag/index.html +++ b/tag/index.html @@ -30,11 +30,11 @@ - - + + - - + + diff --git a/tag/licenses/index.html b/tag/licenses/index.html index 0a08fac7b..e7a822c16 100644 --- a/tag/licenses/index.html +++ b/tag/licenses/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/news/index.html b/tag/news/index.html index 4ae6ae2e1..93be5e802 100644 --- a/tag/news/index.html +++ b/tag/news/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/news/page/2/index.html b/tag/news/page/2/index.html index 840cd01ef..a0161a0c9 100644 --- a/tag/news/page/2/index.html +++ b/tag/news/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/pilot/index.html b/tag/pilot/index.html index eb9f53346..bd16d7bb3 100644 --- a/tag/pilot/index.html +++ b/tag/pilot/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/pilot/page/2/index.html b/tag/pilot/page/2/index.html index b10ef5fe7..7777146c1 100644 --- a/tag/pilot/page/2/index.html +++ b/tag/pilot/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/specifications/index.html b/tag/specifications/index.html index b3bee30bb..ed83a112a 100644 --- a/tag/specifications/index.html +++ b/tag/specifications/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/specs/index.html b/tag/specs/index.html index 2e1b71f01..5271a17da 100644 --- a/tag/specs/index.html +++ b/tag/specs/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/table-schema/index.html b/tag/table-schema/index.html index 95499680a..3c16e8303 100644 --- a/tag/table-schema/index.html +++ b/tag/table-schema/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/tabular-data/index.html b/tag/tabular-data/index.html index 3e911b065..c750c68c4 100644 --- a/tag/tabular-data/index.html +++ b/tag/tabular-data/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/team/index.html b/tag/team/index.html index 196c99d4e..6853f9610 100644 --- a/tag/team/index.html +++ b/tag/team/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/tool-fund/index.html b/tag/tool-fund/index.html index 455cf33d7..193af329c 100644 --- a/tag/tool-fund/index.html +++ b/tag/tool-fund/index.html @@ -30,8 +30,8 @@ - - + +
    - +

    This blog is part of a series showcasing projects developed during the 2019 Tool Fund.

    +

    + diff --git a/tag/tool-fund/page/2/index.html b/tag/tool-fund/page/2/index.html index eb31ce1ba..35f4f4c44 100644 --- a/tag/tool-fund/page/2/index.html +++ b/tag/tool-fund/page/2/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/try.goodtables.io/index.html b/tag/try.goodtables.io/index.html index e595b3b7f..7943b7d05 100644 --- a/tag/try.goodtables.io/index.html +++ b/tag/try.goodtables.io/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/validator/index.html b/tag/validator/index.html index 16810936d..39d0ff69f 100644 --- a/tag/validator/index.html +++ b/tag/validator/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/tag/views/index.html b/tag/views/index.html index c93e0618b..279aba535 100644 --- a/tag/views/index.html +++ b/tag/views/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/universe/index.html b/universe/index.html index 726e819e3..ee26a8ab0 100644 --- a/universe/index.html +++ b/universe/index.html @@ -30,8 +30,8 @@ - - + + - + diff --git a/work-with-us/code-of-conduct/index.html b/work-with-us/code-of-conduct/index.html index 2c78845d9..1bf73e900 100644 --- a/work-with-us/code-of-conduct/index.html +++ b/work-with-us/code-of-conduct/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/work-with-us/contribute/index.html b/work-with-us/contribute/index.html index 570f04b74..c5d38d5cf 100644 --- a/work-with-us/contribute/index.html +++ b/work-with-us/contribute/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/work-with-us/events/index.html b/work-with-us/events/index.html index 5b6f6358d..5ac978b8b 100644 --- a/work-with-us/events/index.html +++ b/work-with-us/events/index.html @@ -30,8 +30,8 @@ - - + +
    - + diff --git a/work-with-us/get-help/index.html b/work-with-us/get-help/index.html index 5bd4ff449..fd58c052b 100644 --- a/work-with-us/get-help/index.html +++ b/work-with-us/get-help/index.html @@ -30,8 +30,8 @@ - - + +
    - +